:root{
  --navy:#172b49;--blue:#2563eb;--blue2:#1d4ed8;--green:#16a34a;--red:#dc2626;--gold:#d97706;
  --purple:#7c3aed;--bg:#f3f6fb;--card:#fff;--muted:#64748b;--line:#e2e8f0;--text:#1e293b;
  --shadow:0 12px 30px rgba(15,23,42,.08);--radius:16px;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted);font-size:12px}
.boot-screen,.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#172b49,#2563eb)}
.boot-card,.auth-card{background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);padding:34px;width:100%;max-width:480px}
.brand-mark{font-size:48px}.brand-mark.small{font-size:28px}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand h1,.boot-card h1{color:var(--navy);margin:8px 0 6px}.auth-brand p,.boot-card p{color:var(--muted);margin:0}
label{font-size:12px;font-weight:700;color:#475569;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.control{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:10px 12px;background:#fff;color:var(--text);outline:none}.control:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}textarea.control{min-height:84px;resize:vertical}
.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.ghost{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.btn.danger{color:var(--red)}.btn.full{width:100%}.link-btn{background:none;border:0;color:var(--blue);font-weight:800}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:14px}.alert.info{background:#dbeafe;color:#1e40af}.auth-message{margin-top:14px;color:#dc2626;font-weight:700;font-size:13px}
.main-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{background:#172b49;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-brand{display:flex;gap:12px;align-items:center;padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.side-brand strong{display:block}.side-brand span{font-size:12px;color:rgba(255,255,255,.58)}
.side-nav{padding:12px 10px;display:flex;flex-direction:column;gap:4px}.nav-btn{background:transparent;color:rgba(255,255,255,.72);border:0;text-align:left;padding:11px 12px;border-radius:10px;font-weight:700}.nav-btn:hover,.nav-btn.active{background:rgba(37,99,235,.28);color:#fff}.side-footer{margin-top:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.main{min-width:0}.topbar{height:auto;min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 26px;position:sticky;top:0;z-index:5}.topbar h2{margin:0;color:var(--navy)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:#64748b}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status-pill{background:#f1f5f9;border:1px solid #e2e8f0;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#475569}.status-pill.ok{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.status-pill.err{background:#fee2e2;color:#b91c1c;border-color:#fecaca}
.view{display:none;padding:24px 26px}.view.active{display:block}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#e0f2fe);border:1px solid #dbeafe;border-radius:22px;box-shadow:var(--shadow);padding:26px;margin-bottom:20px}.hero h1{margin:4px 0 8px;color:var(--navy);font-size:26px}.hero p{margin:0;color:#475569;max-width:760px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.kpi{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:18px;border-left:5px solid var(--blue)}.kpi.green{border-left-color:var(--green)}.kpi.gold{border-left-color:var(--gold)}.kpi.red{border-left-color:var(--red)}.kpi.purple{border-left-color:var(--purple)}.kpi-label{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:900}.kpi-value{font-size:30px;font-weight:900;color:var(--navy);margin-top:4px}.kpi-sub{font-size:12px;color:#94a3b8}
.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.card-head h3{margin:0;color:var(--navy);font-size:16px}.list{padding:10px 14px}.list.compact{padding:8px 14px}.empty{padding:28px;text-align:center;color:#94a3b8}.item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:13px;border:1px solid #eef2f7;margin:8px 0;background:#fff}.item:hover{background:#f8fafc}.item-icon{font-size:20px}.item-main{flex:1;min-width:0}.item-title{font-weight:900;color:var(--navy)}.item-sub{font-size:12px;color:#64748b;margin-top:3px}.item-actions{display:flex;gap:6px;flex-wrap:wrap}
.badges{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900;background:#f1f5f9;color:#475569}.badge.blue{background:#dbeafe;color:#1d4ed8}.badge.green{background:#dcfce7;color:#15803d}.badge.red{background:#fee2e2;color:#b91c1c}.badge.gold{background:#fef3c7;color:#92400e}.badge.purple{background:#ede9fe;color:#6d28d9}
.panel-tools{display:grid;grid-template-columns:1fr 220px 180px auto;gap:12px;margin-bottom:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:#64748b;text-transform:uppercase;font-size:11px;letter-spacing:.06em}td.actions{min-width:280px}.row-title{font-weight:900;color:var(--navy)}.row-sub{font-size:12px;color:#64748b;margin-top:2px}
.modules-grid{padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-card{border:1px solid #e2e8f0;border-radius:16px;padding:18px;background:linear-gradient(135deg,#fff,#f8fafc)}.module-card .ico{font-size:30px}.module-card h4{margin:10px 0 4px;color:var(--navy)}.module-card p{margin:0;color:#64748b;font-size:12px}.module-usage{padding:16px}.usage-row{display:grid;grid-template-columns:150px 1fr 40px;gap:10px;align-items:center;margin:10px 0}.bar{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue);border-radius:99px}.section-title{margin:18px 0 10px;font-weight:900;color:var(--navy)}.module-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-check{display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:13px;padding:12px;background:#f8fafc}.module-check input{width:18px;height:18px}
.form-grid{display:grid;gap:12px;padding:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.span-3{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:10px;padding:0 18px 18px}.health-box{background:#0f172a;color:#e2e8f0;border-radius:13px;padding:14px;max-height:300px;overflow:auto;margin:12px 18px 18px;font-size:12px}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:100%;max-width:640px;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.3);padding:20px;max-height:92vh;overflow:auto}.modal-card.wide{max-width:980px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h3{margin:0;color:var(--navy)}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.toast-zone{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:10px}.toast{background:#fff;border-left:5px solid var(--blue);border-radius:13px;padding:12px 14px;box-shadow:var(--shadow);max-width:380px;font-weight:700}.toast.ok{border-left-color:var(--green)}.toast.err{border-left-color:var(--red)}.toast.warn{border-left-color:var(--gold)}
@media(max-width:1000px){.main-shell{grid-template-columns:1fr}.side{position:relative;height:auto}.side-nav{flex-direction:row;overflow:auto}.side-footer{display:none}.kpi-grid,.grid.two,.modules-grid{grid-template-columns:1fr 1fr}.panel-tools{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column}.form-grid.three{grid-template-columns:1fr}.span-3{grid-column:auto}}
@media(max-width:640px){.kpi-grid,.grid.two,.modules-grid,.module-checks,.panel-tools{grid-template-columns:1fr}.view{padding:16px}.hero{flex-direction:column;align-items:flex-start}.topbar{padding:14px}.top-actions{width:100%}.top-actions .btn{flex:1}}

/* AZALYS 1.1 — micro-interactions et ouverture dossier sans écran parasite */
.btn:disabled,.btn.is-busy{opacity:.68;cursor:not-allowed;transform:none!important}
.btn:not(:disabled):active{transform:translateY(1px) scale(.99)}
.card,.kpi,.item,.module-card,.hero{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card:hover,.kpi:hover,.module-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(15,23,42,.11)}
.item:hover{transform:translateX(2px);border-color:#dbeafe}
.nav-btn{position:relative;overflow:hidden}.nav-btn.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:99px;background:#60a5fa}
.opening-overlay{position:fixed;inset:0;z-index:120;background:rgba(15,23,42,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}.opening-overlay.show{display:flex}.opening-card{width:min(420px,94vw);background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.35);padding:28px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.opening-card strong{color:var(--navy);font-size:18px}.opening-card span{color:#64748b}.opening-spinner{width:42px;height:42px;border-radius:50%;border:4px solid #dbeafe;border-top-color:var(--blue);animation:az-spin .8s linear infinite}@keyframes az-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.card,.kpi,.item,.module-card,.hero,.btn{transition:none!important}.opening-spinner{animation:none}}

/* ============================================================================
   AZALYS — COCKPIT CABINET · page d'accueil
   Réécriture consolidée v2.0 — remplace les couches 1.2 → 1.5
   Objectif : pilotage vivant + harmonie avec les pages modules (hub legacy)
   ============================================================================ */

/* ---------- 1. Raffinement de la coquille (partagé par toutes les vues) ---------- */
body{background:#eef2f7;color:#0f2544}
.side{background:#173253;box-shadow:inset -1px 0 0 rgba(255,255,255,.08)}
.side-brand{min-height:74px;padding:20px 18px}
.side-brand strong{font-size:17px;letter-spacing:.01em}
.side-brand span{margin-top:4px;display:block;color:rgba(255,255,255,.68)}
.nav-btn{min-height:44px;padding:12px 14px;border-radius:0;font-size:14px;color:rgba(255,255,255,.78)}
.nav-btn:hover{background:rgba(59,130,246,.16)}
.nav-btn.active{background:#244987;color:#fff}
.nav-btn.active::before{left:0;top:0;bottom:0;width:4px;background:#60a5fa;border-radius:0 99px 99px 0}
.topbar{min-height:66px;padding:12px 22px;background:rgba(255,255,255,.96);border-bottom:1px solid #d9e2ef;box-shadow:0 2px 10px rgba(15,23,42,.06);backdrop-filter:blur(12px)}
.topbar h2{font-size:22px;letter-spacing:-.02em}
.top-actions{gap:8px}
.top-actions .btn,.cockpit-actions .btn{min-height:34px;padding:8px 12px;border-radius:10px;font-size:13px}
.status-pill{min-height:32px;display:inline-flex;align-items:center;border-radius:10px;background:#f8fafc;border-color:#dbe3ef}
.btn.primary{background:#2563eb;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.btn.primary:hover{background:#1d4ed8}
.btn.ghost{background:#f8fafc;border-color:#dbe3ef;color:#0f2544}
.btn.ghost:hover{background:#eef4ff;border-color:#c8d7ed}
.btn.soft{background:#eef6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.btn.soft:hover{background:#dbeafe;color:#1e40af}
.badge{padding:4px 8px;font-size:10px}
.link-btn{color:#2563eb;font-size:13px}
.link-btn:hover{color:#1d4ed8;text-decoration:underline}
.bar{height:8px;background:#e8eef6}
.bar span{transition:width .9s cubic-bezier(.2,.7,.2,1)}

/* ---------- 2. Surface de l'accueil ---------- */
.home-view{background:#eef2f7;padding:22px 22px 34px;min-height:calc(100vh - 66px)}
.cockpit{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:18px}

/* ---------- 3. Hero de pilotage — l'élément signature ---------- */
.cockpit-hero{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.82fr);gap:22px;
  padding:24px 26px;border-radius:20px;color:#fff;
  background:
    radial-gradient(130% 150% at 100% 0%,rgba(37,99,235,.20),transparent 55%),
    linear-gradient(135deg,#1a2e4a 0%,#244987 100%);
  box-shadow:0 18px 42px rgba(15,37,68,.28);
}
.cockpit-hero::after{content:"";position:absolute;right:-70px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:rgba(96,165,250,.16);pointer-events:none}
.cockpit-hero-main{position:relative;z-index:1;display:flex;flex-direction:column}
.cockpit-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;color:#bfd5f5;margin-bottom:12px}
.cockpit-pulse-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.55);animation:az-pulse 2.4s ease-out infinite}
.cockpit-hero h1{margin:0;font-size:clamp(24px,3.2vw,34px);line-height:1.08;letter-spacing:-.03em;font-weight:900}
.cockpit-hero h1 span{color:#9ec5ff}
.cockpit-sub{margin:9px 0 0;color:#c7d6ee;font-size:13.5px;font-weight:600;letter-spacing:.01em}
.cockpit-pulse{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.cockpit-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:12.5px;font-weight:700;backdrop-filter:blur(4px)}
.cockpit-chip b{font-weight:900;font-variant-numeric:tabular-nums}
.cockpit-chip .ic{font-size:13px}
.cockpit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:22px}
.cockpit-actions .btn.ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.cockpit-actions .btn.ghost:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.34)}
.cockpit-actions .btn.primary{background:#fff;color:#1d3a6b;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.cockpit-actions .btn.primary:hover{background:#eaf1ff}

/* carte verre « pouls du cabinet » (colonne droite) */
.cockpit-aside{position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.cockpit-aside-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:900;color:#bfd5f5;text-transform:uppercase;letter-spacing:.09em}
.cockpit-live{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;color:#86efac;letter-spacing:.08em}
.cockpit-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#4ade80;animation:az-pulse 2.4s ease-out infinite}
.cockpit-mini{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.08);margin-bottom:8px}
.cockpit-mini:last-child{margin-bottom:0}
.cockpit-mini .mini-ic{display:grid;place-items:center;min-width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.16);font-size:17px}
.cockpit-mini .mini-txt{display:flex;flex-direction:column;line-height:1.2}
.cockpit-mini .mini-val{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.cockpit-mini .mini-lbl{font-size:11px;color:#c7d6ee;font-weight:700}

/* ---------- 4. Bandeau KPI ---------- */
.kpi-grid.cockpit-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.home-view .kpi{position:relative;overflow:hidden;min-height:122px;border-left:0;border:1px solid #dbe3ef;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.06);padding:18px 20px}
.home-view .kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:#2563eb}
.home-view .kpi.green::before{background:#16a34a}
.home-view .kpi.gold::before{background:#d97706}
.home-view .kpi.red::before{background:#dc2626}
.home-view .kpi.purple::before{background:#7c3aed}
.home-view .kpi-label{display:flex;align-items:center;gap:7px;color:#8da0bb;font-size:11px;letter-spacing:.07em;font-weight:900;text-transform:uppercase}
.home-view .kpi-label .ic{font-size:14px}
.home-view .kpi-value{color:#0f2544;font-size:33px;line-height:1.04;margin-top:10px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.home-view .kpi-sub{color:#8da0bb;margin-top:7px;font-size:12px;font-weight:700}
.home-view .kpi:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.1)}
.kpi-meter{margin-top:11px;height:6px;border-radius:99px;background:#e8eef6;overflow:hidden}
.kpi-meter span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#22c55e,#16a34a);width:0;transition:width 1s cubic-bezier(.2,.7,.2,1)}

/* ---------- 5. Grilles de panneaux ---------- */
.cockpit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.dashboard-panel{border:1px solid #dbe3ef;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.055);display:flex;flex-direction:column;transition:box-shadow .18s ease}
.dashboard-panel:hover{box-shadow:0 12px 26px rgba(15,23,42,.085)}
.dashboard-panel .card-head{min-height:56px;padding:15px 20px;background:#fff;border-bottom:1px solid #dbe3ef}
.dashboard-panel .card-head > div{display:flex;flex-direction:column;gap:3px}
.dashboard-panel .card-head h3{color:#0f2544;font-size:16px;font-weight:900;margin:0}
.dashboard-panel .muted{color:#8da0bb;font-size:12px}
.dashboard-panel .list,.dashboard-panel .module-usage{padding:16px 18px 18px;flex:1}
.panel-tall{min-height:330px}
.dashboard-panel .item{margin:0 0 10px;border:1px solid #e5edf6;border-radius:12px;background:#fff;transition:background .15s,border-color .15s,transform .15s}
.dashboard-panel .item:last-child{margin-bottom:0}
.dashboard-panel .item:hover{background:#f6f9fe;border-color:#cdddf5;transform:translateX(3px)}
.dashboard-panel .empty{min-height:172px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:0;background:#fff;color:#8da0bb;font-weight:600;text-align:center}
.dashboard-panel .empty .empty-ic{font-size:26px;opacity:.7}
.dashboard-panel .module-usage{display:flex;flex-direction:column;gap:13px}
.dashboard-panel .usage-row{display:grid;grid-template-columns:minmax(140px,180px) 1fr 40px;gap:12px;align-items:center;margin:0}
.dashboard-panel .usage-row strong{color:#0f2544;font-size:13px;font-weight:800;display:flex;align-items:center;gap:7px}
.dashboard-panel .usage-row > span:last-child{text-align:right;font-weight:900;color:#0f2544;font-variant-numeric:tabular-nums}

/* ---------- 6. Lanceur de modules — tuiles colorées (harmonisé au hub legacy) ---------- */
.cockpit-modules{border:1px solid #dbe3ef;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.055)}
.cockpit-modules .card-head{padding:16px 20px;border-bottom:1px solid #dbe3ef;align-items:center}
.cockpit-modules .card-head h3{margin:0;font-size:16px;font-weight:900;color:#0f2544}
.cockpit-modules .muted{color:#8da0bb;font-size:12px}
.home-module-grid{padding:18px 20px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-module-card{
  --grad-a:#dbeafe;--grad-b:#bfdbfe;--accent:#2563eb;
  position:relative;overflow:hidden;text-align:left;cursor:pointer;
  min-height:160px;padding:16px;border-radius:14px;
  border:2px solid transparent;background:linear-gradient(135deg,var(--grad-a),var(--grad-b));
  display:flex;flex-direction:column;align-items:flex-start;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.home-module-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 32px rgba(15,23,42,.16)}
.home-module-card:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}
.home-module-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.62);font-size:24px;margin-bottom:12px;box-shadow:0 2px 6px rgba(15,23,42,.08)}
.home-module-title{font-size:14.5px;font-weight:900;color:#13294a;margin-bottom:4px;line-height:1.2}
.home-module-desc{font-size:11.5px;color:#3f5778;line-height:1.45;min-height:33px;font-weight:600}
.home-module-footer{margin-top:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:12px}
.home-module-footer .badge{background:rgba(255,255,255,.72);color:#13294a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.home-module-arrow{position:absolute;right:13px;top:13px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.68);color:var(--accent);font-weight:900;font-size:14px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.home-module-card:hover .home-module-arrow{opacity:1;transform:translateX(0)}
.empty.wide{grid-column:1/-1;padding:28px;text-align:center;color:#94a3b8}

/* tonalités alignées sur les dégradés du hub legacy */
.home-module-card.tone-blue{--grad-a:#dbeafe;--grad-b:#bfdbfe;--accent:#2563eb}
.home-module-card.tone-green{--grad-a:#dcfce7;--grad-b:#bbf7d0;--accent:#15803d}
.home-module-card.tone-gold{--grad-a:#fef3c7;--grad-b:#fde68a;--accent:#d97706}
.home-module-card.tone-purple{--grad-a:#ede9fe;--grad-b:#ddd6fe;--accent:#7c3aed}
.home-module-card.tone-orange{--grad-a:#fed7aa;--grad-b:#fdba74;--accent:#ea580c}
.home-module-card.tone-red{--grad-a:#fee2e2;--grad-b:#fecaca;--accent:#dc2626}
.home-module-card.tone-pink{--grad-a:#fce7f3;--grad-b:#fbcfe8;--accent:#db2777}
.home-module-card.tone-indigo{--grad-a:#e0e7ff;--grad-b:#c7d2fe;--accent:#4f46e5}
.home-module-card.tone-teal{--grad-a:#ccfbf1;--grad-b:#99f6e4;--accent:#0d9488}
.home-module-card.tone-slate{--grad-a:#e2e8f0;--grad-b:#cbd5e1;--accent:#475569}

/* ---------- 7. Animations d'entrée (respecte prefers-reduced-motion) ---------- */
@keyframes az-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes az-pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
[data-rise]{animation:az-rise .5s both;animation-delay:var(--d,0s)}

/* ---------- 8. Responsive ---------- */
@media(max-width:1180px){
  .kpi-grid.cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .home-view{padding:18px}
  .cockpit-hero{grid-template-columns:1fr;padding:20px}
  .cockpit-aside{order:-1}
  .home-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cockpit-grid{grid-template-columns:1fr}
  .dashboard-panel .card-head{align-items:flex-start}
}
@media(max-width:640px){
  .home-view{padding:14px}
  .cockpit-hero{padding:18px;border-radius:16px}
  .cockpit-actions,.cockpit-actions .btn{width:100%}
  .kpi-grid.cockpit-kpis,.home-module-grid{grid-template-columns:1fr}
  .dashboard-panel .usage-row{grid-template-columns:108px 1fr 30px}
  .cockpit-modules .card-head{flex-direction:column;align-items:flex-start;gap:10px}
  .cockpit-modules .card-head .btn{width:100%}
}
@media (prefers-reduced-motion: reduce){
  [data-rise]{animation:none}
  .cockpit-pulse-dot,.cockpit-live::before{animation:none}
  .bar span,.kpi-meter span{transition:none}
  .home-module-card:hover,.home-view .kpi:hover,.dashboard-panel .item:hover{transform:none}
}

/* ---------- 9. Pilotage Missions & tâches ---------- */
.task-setup{border:1px solid #c7d2fe;background:linear-gradient(135deg,#fff,#eef2ff)}
.task-setup .setup-body{padding:18px 20px;color:#334155;line-height:1.55}
.tasks-main .panel-tools{grid-template-columns:1fr 170px 210px auto auto;align-items:center}
.tasks-grid{align-items:start}
.task-list{max-height:560px;overflow:auto}
.project-item .item-actions{min-width:260px;justify-content:flex-end}
.row-danger{background:#fff7f7}
.row-danger td:first-child{border-left:4px solid var(--red)}
#tasks-table .badge{margin-top:4px}
#task-kpi-grid{margin-bottom:16px}
@media(max-width:1180px){.tasks-main .panel-tools{grid-template-columns:1fr 1fr 1fr}.tasks-main .panel-tools .btn{width:100%}}
@media(max-width:900px){.tasks-main .panel-tools{grid-template-columns:1fr}.project-item{flex-direction:column}.project-item .item-actions{min-width:0;width:100%}.project-item .item-actions .btn{flex:1}.tasks-grid{grid-template-columns:1fr}}

/* Assistant AI flottant — robot dynamique */
.ai-floating{position:fixed;right:24px;bottom:24px;z-index:1500;display:block}
.ai-floating.hidden{display:none!important}
.ai-robot-btn{position:relative;min-width:58px;height:58px;padding:0 12px;border:0;border-radius:24px;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 18px 42px rgba(37,99,235,.32),0 0 0 1px rgba(255,255,255,.28) inset;cursor:grab;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s ease,box-shadow .18s ease;animation:aiBotFloat 3.4s ease-in-out infinite;touch-action:none;color:#fff;font-weight:900}
.ai-robot-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 24px 54px rgba(37,99,235,.42),0 0 0 1px rgba(255,255,255,.34) inset}
.ai-robot-btn.thinking .ai-robot-face{animation:aiBotThinking .78s ease-in-out infinite}
.ai-robot-glow{position:absolute;inset:-8px;border-radius:30px;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 64%);animation:aiPulseGlow 2.3s ease-in-out infinite;pointer-events:none}
.ai-robot-face{position:relative;font-size:28px;filter:drop-shadow(0 6px 10px rgba(15,23,42,.25))}.ai-robot-text{position:relative;font-size:12px;line-height:1.05;letter-spacing:.01em;max-width:56px;text-align:left}
.ai-robot-badge{position:absolute;top:-6px;right:-6px;min-width:23px;height:23px;border-radius:999px;background:#ef4444;color:#fff;border:3px solid #fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(239,68,68,.35)}
.ai-robot-badge.hidden{display:none!important}
.ai-floating-panel{position:absolute;right:0;bottom:72px;width:min(380px,calc(100vw - 28px));max-height:min(590px,calc(100vh - 118px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(191,219,254,.92);border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(15,23,42,.22);backdrop-filter:blur(16px)}
.ai-floating-panel.hidden{display:none!important}
.ai-floating-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px 16px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border-bottom:1px solid #dbeafe}
.ai-head-left{display:flex;align-items:center;gap:12px;min-width:0}.ai-head-left strong{display:block;color:#0f172a;font-size:14px}.ai-head-left span{display:block;color:#64748b;font-size:12px;margin-top:2px}.ai-avatar{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 8px 22px rgba(37,99,235,.15);font-size:23px}.ai-head-actions{display:flex;gap:6px}.ai-head-actions .icon-btn{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.75)}
.ai-floating-context{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.ai-context-chip{background:#fff;border:1px solid #e5e7eb;border-radius:15px;padding:8px 6px;text-align:center}.ai-context-chip strong{display:block;color:#0f172a;font-size:15px}.ai-context-chip span{display:block;color:#64748b;font-size:10px;margin-top:1px;text-transform:uppercase;letter-spacing:.04em}
.ai-floating-chat{padding:14px;overflow:auto;flex:1 1 auto;min-height:0;max-height:none;background:linear-gradient(180deg,#fff,#f8fafc);overscroll-behavior:contain}
.ai-welcome-card{border:1px dashed #bfdbfe;border-radius:20px;background:#eff6ff;padding:14px;color:#1e3a8a}.ai-welcome-card strong{display:block;margin-bottom:6px}.ai-welcome-card p{margin:0;color:#475569;font-size:13px;line-height:1.45}.ai-float-msg{max-width:88%;margin:8px 0;padding:11px 13px;border-radius:18px;font-size:13px;line-height:1.48;white-space:normal}.ai-float-msg.assistant{margin-right:auto;background:#fff;border:1px solid #dbeafe;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.05)}.ai-float-msg.user{margin-left:auto;background:#2563eb;color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.ai-floating-quick{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-top:1px solid #e2e8f0;background:#fff}.ai-floating-quick .btn{padding:8px 10px;border-radius:999px;font-size:12px;min-height:auto}.ai-floating-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid #e2e8f0}.ai-floating-compose textarea{resize:none;min-height:46px;border-radius:16px}.ai-floating-note{padding:0 14px 12px;color:#64748b;font-size:11px;background:#fff}
@keyframes aiBotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes aiPulseGlow{0%,100%{opacity:.55;transform:scale(.98)}50%{opacity:1;transform:scale(1.06)}}
@keyframes aiBotThinking{0%,100%{transform:rotate(0deg) scale(1)}25%{transform:rotate(-8deg) scale(1.05)}75%{transform:rotate(8deg) scale(1.05)}}
@media(max-width:720px){.ai-floating{right:16px;bottom:16px}.ai-robot-btn{min-width:54px;height:54px;padding:0 10px;border-radius:19px}.ai-robot-face{font-size:30px}.ai-robot-text{display:none}.ai-floating-panel{position:fixed;left:10px;right:10px;top:10px;bottom:82px;width:auto;max-width:none;max-height:none;height:auto;border-radius:22px}.ai-floating-head{flex:0 0 auto;padding:11px 12px}.ai-avatar{width:36px;height:36px;border-radius:13px}.ai-head-left strong{font-size:13px}.ai-head-left span{font-size:11px}.ai-head-actions .icon-btn{width:32px;height:32px}.ai-floating-context{flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.ai-floating-context .ai-agent-strip{grid-column:1/-1}.ai-context-chip{padding:7px 5px}.ai-context-chip strong{font-size:14px}.ai-context-chip span{font-size:9px}.ai-floating-chat{flex:1 1 auto;min-height:0;max-height:none;padding:11px}.ai-float-msg{max-width:100%;font-size:12px;line-height:1.42}.ai-floating-quick{flex:0 0 auto;padding:8px 10px;gap:7px;max-height:76px;overflow:auto}.ai-floating-quick .btn{padding:7px 9px;font-size:11px}.ai-floating-compose{flex:0 0 auto;grid-template-columns:minmax(0,1fr) 88px;padding:10px;gap:8px}.ai-floating-compose textarea{min-height:44px;max-height:84px}.ai-floating-compose .btn{width:100%;min-height:44px;padding:0 10px}.ai-floating-note{display:none}}
@media(prefers-reduced-motion:reduce){.ai-robot-btn,.ai-robot-glow,.ai-robot-btn.thinking .ai-robot-face{animation:none!important}}


.ai-floating.is-dragging,.client-chat-floating.is-dragging,.cabinet-chat-floating.is-dragging{opacity:.96}
.floating-drag-handle{touch-action:none}
.ai-floating-head.floating-drag-handle,.client-chat-head.floating-drag-handle,.cabinet-chat-head.floating-drag-handle{cursor:grab}
.ai-floating.is-dragging .floating-drag-handle,.client-chat-floating.is-dragging .floating-drag-handle,.cabinet-chat-floating.is-dragging .floating-drag-handle{cursor:grabbing}

/* ----- AZALYS v2.4 — Collaborateurs & droits ----- */
.role-collaborateur .admin-only{display:none!important;}
.collab-intro{margin-bottom:18px;}
.stack.horizontal{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.access-note{margin-top:12px;padding:12px 14px;border:1px solid rgba(37,99,235,.14);background:rgba(37,99,235,.05);border-radius:14px;color:#334155;}
.collab-grid{align-items:start;}
.row-selected{background:rgba(37,99,235,.06);}
.collab-rights-zone{display:grid;gap:12px;max-height:640px;overflow:auto;padding-right:4px;}
.collab-rights-zone.empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:220px;color:#64748b;background:rgba(15,23,42,.03);border:1px dashed rgba(100,116,139,.35);border-radius:16px;}
.rights-card{border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.rights-dossier{display:flex;gap:10px;align-items:center;margin-bottom:10px;}
.rights-dossier input{width:18px;height:18px;}
.rights-modules{display:grid;gap:8px;padding:10px 12px;background:#f8fafc;border-radius:12px;}
.rights-modules label{display:inline-flex;align-items:center;gap:8px;margin-right:10px;color:#334155;font-size:.92rem;}
.rights-modules input{width:16px;height:16px;}
@media (max-width: 980px){.collab-grid{grid-template-columns:1fr!important}.rights-card{padding:12px}.rights-modules{grid-template-columns:1fr}}

/* ============================================================================
   AZALYS v2.8 — Refonte EXPERTE de la page Collaborateurs & droits
   Objectif : page compacte, lisible, équilibrée, sans tableau écrasé ni colonnes vides.
   ============================================================================ */
.collab-view-v28{background:#eef2f7;min-height:calc(100vh - 66px);padding:20px 22px 34px;overflow:auto}.collab-command-center{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.collab-hero-v28{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 58%,#f8fafc 100%);border:1px solid #cfe0ff;box-shadow:0 16px 42px rgba(15,23,42,.08)}.collab-hero-v28::after{content:"";position:absolute;right:-70px;top:-80px;width:230px;height:230px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.18),transparent 66%);pointer-events:none}.collab-eyebrow-v28{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:#2563eb;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.collab-hero-v28 h3{margin:0;color:#0f2544;font-size:28px;line-height:1.05;letter-spacing:-.035em}.collab-hero-v28 p{margin:8px 0 0;color:#475569;font-weight:650;line-height:1.45}.collab-hero-actions-v28{position:relative;z-index:1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:260px}.collab-hero-chips-v28{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.collab-chip-v28{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#1e3a8a;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(37,99,235,.06)}.collab-chip-v28.ok{background:#dcfce7;border-color:#bbf7d0;color:#15803d}.collab-kpi-grid-v28{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.collab-kpi-v28{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px 18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.collab-kpi-v28::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}.collab-kpi-v28.green::before{background:#16a34a}.collab-kpi-v28.gold::before{background:#d97706}.collab-kpi-v28.purple::before{background:#7c3aed}.collab-kpi-v28 span{display:block;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.collab-kpi-v28 strong{display:block;margin-top:7px;color:#0f2544;font-size:30px;line-height:1;font-weight:950;font-variant-numeric:tabular-nums}.collab-kpi-v28 small{display:block;margin-top:8px;color:#64748b;font-weight:700}.collab-layout-v28{display:grid;grid-template-columns:minmax(350px,.88fr) minmax(0,1.62fr);gap:16px;align-items:start}.collab-panel-v28{background:#fff;border:1px solid #dbe3ef;border-radius:22px;box-shadow:0 14px 38px rgba(15,23,42,.07);overflow:hidden}.collab-panel-head-v28{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #e2e8f0}.collab-panel-head-v28 h3{margin:0;color:#0f2544}.btn.compact,.btn.mini{min-height:32px;padding:7px 11px;font-size:12px;border-radius:10px}.collab-filterbar-v28{display:grid;grid-template-columns:1fr 140px;gap:9px;padding:13px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.collab-cards-list-v28{display:grid;gap:10px;padding:14px;max-height:690px;overflow:auto}.collab-person-card-v28{width:100%;text-align:left;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04);transition:.16s ease;cursor:pointer}.collab-person-card-v28:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 12px 28px rgba(37,99,235,.08)}.collab-person-card-v28.selected{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 14px 32px rgba(37,99,235,.12)}.collab-person-card-v28.disabled{opacity:.72}.collab-avatar-v28{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;letter-spacing:.04em;box-shadow:0 12px 24px rgba(37,99,235,.22);flex:0 0 auto}.collab-avatar-v28.big{width:54px;height:54px;border-radius:20px;font-size:18px}.collab-avatar-v28.soft{background:#eff6ff;color:#2563eb;box-shadow:none;border:1px solid #dbeafe}.collab-person-main-v28{min-width:0;display:block}.collab-person-top-v28{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collab-person-top-v28 strong{color:#0f2544}.collab-email-v28{display:block;color:#64748b;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-mini-v28{display:block;margin-top:8px;color:#475569;font-size:12px}.collab-mini-v28 b{color:#0f2544}.collab-person-actions-v28{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.collab-detail-v28{min-height:520px}.collab-detail-sticky-v28{position:sticky;top:66px;z-index:2;background:#fff;border-bottom:1px solid #e2e8f0}.collab-detail-head-v28{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px}.collab-selected-profile-v28{display:flex;align-items:center;gap:13px;min-width:0}.collab-selected-profile-v28 h3{margin:0;color:#0f2544}.collab-profile-title-v28{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collab-profile-title-v28 h3{margin:0;color:#0f2544}.collab-rights-summary-v28{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 14px}.collab-rights-summary-v28>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;padding:10px 12px}.collab-rights-summary-v28 strong{display:block;font-size:22px;color:#0f2544;line-height:1;font-variant-numeric:tabular-nums}.collab-rights-summary-v28 span{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.rights-toolbar-v28{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:0 18px 16px}.collab-rights-zone-v28{display:grid;gap:12px;padding:16px 18px;background:#f8fafc;max-height:none;overflow:visible}.collab-rights-zone-v28.empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:320px;text-align:left;color:#64748b}.collab-rights-zone-v28.empty strong{display:block;color:#0f2544;margin-bottom:4px}.rights-card-v28{background:#fff;border:1px solid #e2e8f0;border-radius:19px;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.04);transition:.16s ease}.rights-card-v28.is-on{border-color:#bfdbfe;box-shadow:0 12px 28px rgba(37,99,235,.08)}.rights-card-main-v28{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.rights-dossier-v28{display:flex!important;align-items:center;gap:11px;margin:0!important;cursor:pointer;color:#0f2544}.rights-dossier-v28 input{width:18px;height:18px}.rights-dossier-v28 span{display:flex;flex-direction:column;gap:3px}.rights-dossier-v28 strong{font-size:14px;color:#0f2544}.rights-dossier-v28 small{font-size:11px;color:#64748b;font-weight:800}.rights-card-status-v28{white-space:nowrap}.rights-card-meta-v28{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.rights-card-meta-v28 span{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:850}.rights-modules-v28{display:flex;flex-wrap:wrap;gap:8px;padding:13px 16px;background:#f8fafc;border-top:1px solid #e2e8f0}.module-pill-v28{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin:0!important;padding:8px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:850;cursor:pointer}.module-pill-v28:hover{border-color:#bfdbfe;background:#eff6ff}.module-pill-v28 input{width:15px!important;height:15px!important}.collab-empty-v28{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px}.collab-empty-v28 strong{color:#0f2544}.collab-empty-v28 p{margin:0}.collab-view-v28 table,.collab-view-v28 .table-wrap{display:none!important}
@media(max-width:1180px){.collab-layout-v28{grid-template-columns:1fr}.collab-cards-list-v28{max-height:none}.collab-detail-sticky-v28{position:relative;top:auto}.collab-kpi-grid-v28{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.collab-view-v28{padding:14px}.collab-hero-v28{flex-direction:column}.collab-hero-actions-v28,.rights-toolbar-v28,.collab-filterbar-v28{grid-template-columns:1fr;width:100%;min-width:0}.collab-kpi-grid-v28,.collab-rights-summary-v28{grid-template-columns:1fr}.collab-person-card-v28{grid-template-columns:42px 1fr}.collab-person-actions-v28{grid-column:1/-1;justify-content:flex-start}.collab-detail-head-v28{flex-direction:column;align-items:stretch}.collab-detail-head-v28 .btn{width:100%}.rights-card-main-v28{flex-direction:column;align-items:flex-start}.rights-toolbar-v28 .btn{width:100%}}

/* ============================================================================
   AZALYS v3.0 — Collaborateurs & accès · version cabinet professionnelle
   ============================================================================ */
.collab-pro{background:#eef2f7;min-height:calc(100vh - 66px);padding:20px 22px 34px;overflow:auto;color:#334155}.collab-pro *{box-sizing:border-box}.collab-pro-wrap{max-width:1480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.collab-pro-head{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dbe3ef;border-radius:20px;padding:18px 20px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.collab-pro-head:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#2563eb,#7c3aed)}.collab-pro-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#2563eb;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.collab-pro-head h3{margin:6px 0 3px;color:#0f2544;font-size:24px;line-height:1.08;letter-spacing:-.03em}.collab-pro-head p{margin:0;color:#64748b;font-weight:650;line-height:1.45}.collab-pro-actions{position:relative;z-index:1;display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.btn.compact,.btn.mini{min-height:32px;padding:7px 11px;font-size:12px;border-radius:10px}.collab-pro-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.collab-pro-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid #dbe3ef;border-radius:17px;padding:14px 15px;box-shadow:0 9px 22px rgba(15,23,42,.05)}.collab-pro-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}.collab-pro-kpi.green:before{background:#16a34a}.collab-pro-kpi.gold:before{background:#d97706}.collab-pro-kpi.purple:before{background:#7c3aed}.collab-pro-kpi.red:before{background:#dc2626}.collab-pro-kpi span{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.collab-pro-kpi strong{display:block;margin-top:7px;color:#0f2544;font-size:27px;line-height:1;font-weight:950;font-variant-numeric:tabular-nums}.collab-pro-kpi small{display:block;margin-top:7px;color:#64748b;font-weight:700;font-size:11px}.collab-pro-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:7px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.collab-pro-tabs button{border:0;background:transparent;color:#64748b;font-weight:900;border-radius:11px;padding:9px 14px;cursor:pointer}.collab-pro-tabs button:hover{background:#f8fafc;color:#0f2544}.collab-pro-tabs button.active{background:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}.collab-tab-panel{display:none}.collab-tab-panel.active{display:block}.collab-pro-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.75fr);gap:14px;align-items:start}.collab-pro-panel{background:#fff;border:1px solid #dbe3ef;border-radius:20px;box-shadow:0 12px 32px rgba(15,23,42,.06);overflow:hidden}.collab-pro-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid #e2e8f0}.collab-pro-panel-head h3{margin:0;color:#0f2544;font-size:16px}.collab-pro-filterbar{display:grid;grid-template-columns:1fr 132px;gap:8px;padding:12px 13px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.collab-pro-list{display:grid;gap:9px;padding:13px;max-height:690px;overflow:auto}.collab-pro-person{width:100%;text-align:left;display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 7px 16px rgba(15,23,42,.035);transition:.16s ease;cursor:pointer}.collab-pro-person:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 12px 28px rgba(37,99,235,.08)}.collab-pro-person.selected{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 14px 32px rgba(37,99,235,.12)}.collab-pro-person.disabled{opacity:.62}.collab-pro-avatar{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;letter-spacing:.03em;box-shadow:0 10px 20px rgba(37,99,235,.20);flex:0 0 auto}.collab-pro-avatar.big{width:54px;height:54px;border-radius:18px;font-size:18px}.collab-pro-avatar.soft{background:#eff6ff;color:#2563eb;box-shadow:none;border:1px solid #dbeafe}.collab-person-main{min-width:0}.collab-person-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.collab-person-top strong{color:#0f2544;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-email{display:block;color:#64748b;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.collab-mini span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:850}.collab-mini b{color:#0f2544}.collab-person-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.collab-pro-detail{min-height:560px}.collab-pro-sticky{position:sticky;top:66px;z-index:3;background:#fff;border-bottom:1px solid #e2e8f0}.collab-pro-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 17px}.collab-pro-selected{display:flex;align-items:center;gap:12px;min-width:0}.collab-pro-selected h3{margin:0;color:#0f2544}.collab-pro-titleline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.collab-pro-detail-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.collab-save-stack{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.collab-dirty{display:none;color:#d97706;font-size:11px;font-weight:900}.collab-dirty.show{display:block}.collab-pro-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 17px 13px}.collab-pro-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 11px}.collab-pro-summary strong{display:block;color:#0f2544;font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.collab-pro-summary span{display:block;margin-top:5px;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.collab-pro-meter{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden;display:flex;border:1px solid #dbe3ef}.collab-pro-meter i{display:block;height:100%}.collab-pro-meter .full{background:#16a34a}.collab-pro-meter .read{background:#0d9488}.collab-pro-meter .restr{background:#7c3aed}.collab-pro-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:0 17px 15px}.collab-pro-rights{display:grid;gap:10px;padding:15px 17px;background:#f8fafc}.collab-pro-rights.empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:320px;text-align:left;color:#64748b}.collab-pro-rights.empty strong{display:block;color:#0f2544;margin-bottom:4px}.collab-right-row{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:17px;overflow:hidden;box-shadow:0 7px 18px rgba(15,23,42,.035);transition:.16s ease}.collab-right-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}.collab-right-row.is-on{border-color:#bfdbfe;box-shadow:0 12px 28px rgba(37,99,235,.07)}.collab-right-row.is-on:before{background:#16a34a}.collab-right-row.is-restricted:before{background:#7c3aed}.collab-right-row.readonly:before{background:#0d9488}.collab-right-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px 12px 18px}.collab-right-name strong{display:block;color:#0f2544;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collab-right-name small{display:block;margin-top:4px;color:#64748b;font-weight:750}.collab-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.collab-switch{position:relative;width:46px;height:26px;border:1px solid #cbd5e1;border-radius:999px;background:#e2e8f0;cursor:pointer;transition:.18s}.collab-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.22);transition:.18s}.collab-switch[aria-checked="true"]{background:#16a34a;border-color:#16a34a}.collab-switch[aria-checked="true"]:after{transform:translateX(20px)}.collab-seg{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #dbe3ef;border-radius:11px;background:#fff}.collab-seg button{border:0;background:transparent;color:#64748b;font-size:12px;font-weight:900;border-radius:8px;padding:6px 10px;cursor:pointer}.collab-seg button[aria-pressed="true"]{background:#2563eb;color:#fff}.collab-seg button.restr[aria-pressed="true"]{background:#7c3aed}.collab-seg button.read[aria-pressed="true"]{background:#0d9488}.collab-seg[aria-disabled="true"],.collab-modules.locked{opacity:.52;pointer-events:none}.collab-row-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.collab-right-row.is-on .collab-row-body{grid-template-rows:1fr}.collab-row-inner{overflow:hidden;border-top:1px solid #e2e8f0}.collab-row-options{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 15px 12px 18px;background:#f8fafc}.collab-row-options .hint{font-size:12px;font-weight:850;color:#64748b}.collab-modules{display:flex;flex-wrap:wrap;gap:8px;padding:12px 15px 14px 18px;border-top:1px solid #e2e8f0}.collab-module-pill{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:7px 10px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#334155;font-size:12px;font-weight:850;cursor:pointer;user-select:none;margin:0!important}.collab-module-pill input{width:15px!important;height:15px!important}.collab-module-pill.checked{background:#f5f3ff;border-color:#c4b5fd;color:#5b21b6}.collab-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:24px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px}.collab-empty strong{color:#0f2544}.collab-empty p{margin:0}.collab-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:16px;background:#f8fafc}.collab-template-card{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:15px;box-shadow:0 8px 18px rgba(15,23,42,.035);display:flex;flex-direction:column;gap:10px}.collab-template-card h4{margin:0;color:#0f2544;font-size:15px}.collab-template-card p{margin:0;color:#64748b;font-weight:650;line-height:1.45}.collab-template-tags{display:flex;gap:6px;flex-wrap:wrap}.collab-template-tags span,.collab-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;padding:5px 8px;font-size:11px;font-weight:850}.collab-log-list{display:grid;gap:9px;padding:15px;background:#f8fafc}.collab-log-item{display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:11px 13px}.collab-log-icon{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb}.collab-log-main strong{display:block;color:#0f2544}.collab-log-main span{display:block;color:#64748b;font-size:12px;margin-top:2px}.collab-log-date{color:#64748b;font-size:12px;font-weight:850;white-space:nowrap}.collab-copy-list{display:grid;gap:8px;margin-top:13px}.collab-copy-choice{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:10px;cursor:pointer}.collab-copy-choice:hover{background:#f8fafc;border-color:#bfdbfe}.collab-preview-zone{display:grid;gap:12px}.collab-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.collab-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collab-preview-card{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff}.collab-preview-card strong{display:block;color:#0f2544}.collab-preview-card small{display:block;color:#64748b;margin-top:4px}.collab-preview-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.collab-preview-mods span{display:inline-flex;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc;padding:5px 8px;font-size:11px;font-weight:850;color:#475569}.collab-view-v28 table,.collab-view-v28 .table-wrap,.collab-pro table,.collab-pro .table-wrap{display:none!important}
@media(max-width:1280px){.collab-pro-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.collab-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collab-pro-layout{grid-template-columns:1fr}.collab-pro-list{max-height:none}.collab-pro-sticky{position:relative;top:auto}}
@media(max-width:760px){.collab-pro{padding:14px}.collab-pro-head,.collab-pro-detail-head,.collab-right-row-head,.collab-row-options,.collab-preview-head{flex-direction:column;display:flex;align-items:stretch}.collab-pro-actions,.collab-pro-detail-actions,.collab-row-actions{justify-content:stretch}.collab-pro-actions .btn,.collab-pro-detail-actions .btn,.collab-pro-toolbar .btn{width:100%}.collab-pro-kpis,.collab-pro-summary,.collab-template-grid,.collab-preview-grid{grid-template-columns:1fr}.collab-pro-filterbar,.collab-pro-toolbar{grid-template-columns:1fr}.collab-pro-person{grid-template-columns:42px 1fr}.collab-person-actions{grid-column:1/-1;justify-content:flex-start}.collab-save-stack{align-items:stretch}.collab-log-item{grid-template-columns:36px 1fr}.collab-log-date{grid-column:2}}
@media(prefers-reduced-motion:reduce){.collab-pro *{transition:none!important;animation:none!important}}

/* ============================================================================
   HOTFIX v3.0.1 — Collaborateurs & accès
   Problème corrigé : la carte dossier était visuellement repoussée / masquée
   sous le bloc d'en-tête des droits. On désactive le sticky interne et on
   compacte le panneau pour rendre les dossiers visibles immédiatement.
   ============================================================================ */
.collab-pro-sticky{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  border-bottom:1px solid #dbe3ef!important;
}
.collab-pro-detail{
  min-height:0!important;
  overflow:hidden!important;
}
.collab-pro-detail-head{
  align-items:center!important;
  padding:12px 14px!important;
  gap:12px!important;
}
.collab-pro-selected .collab-pro-avatar.big{
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  font-size:15px!important;
}
.collab-pro-selected h3{
  font-size:15px!important;
  line-height:1.15!important;
}
.collab-pro-selected .muted{
  font-size:11.5px!important;
}
.collab-pro-detail-actions .btn{
  min-height:34px!important;
  padding:8px 11px!important;
  font-size:12px!important;
}
.collab-pro-summary{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  padding:0 14px 9px!important;
}
.collab-pro-summary>div{
  padding:8px 10px!important;
  border-radius:13px!important;
}
.collab-pro-summary strong{
  font-size:18px!important;
}
.collab-pro-summary span{
  margin-top:4px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}
.collab-pro-summary>div[style*="grid-column"]{
  padding:7px 10px!important;
}
.collab-pro-toolbar{
  padding:0 14px 11px!important;
  gap:7px!important;
}
.collab-pro-toolbar .control{
  min-height:38px!important;
}
.collab-pro-rights{
  min-height:230px!important;
  max-height:calc(100vh - 430px)!important;
  overflow:auto!important;
  padding:12px 14px 16px!important;
  border-top:1px solid #e2e8f0!important;
  scroll-padding-top:12px!important;
}
.collab-right-row{
  scroll-margin-top:14px!important;
}
.collab-right-row-head{
  padding:12px 14px 11px 17px!important;
}
.collab-right-name strong{
  font-size:13.5px!important;
}
.collab-right-name small{
  margin-top:3px!important;
  font-size:11px!important;
}
.collab-row-options{
  padding:10px 14px 10px 17px!important;
}
.collab-modules{
  padding:10px 14px 12px 17px!important;
}
@media(max-width:1280px){
  .collab-pro-rights{max-height:none!important;overflow:visible!important;}
}
@media(max-width:760px){
  .collab-pro-detail-head{align-items:stretch!important;}
  .collab-pro-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .collab-pro-rights{min-height:180px!important;max-height:none!important;overflow:visible!important;}
}

/* ============================================================================
   HOTFIX v3.0.2 — Collaborateurs & accès
   Correction visuelle : suppression du bloc gris/vidé sous la barre de filtre
   et masquage des modules grisés quand "Tous modules" est sélectionné.
   Les modules ne s'affichent que si l'admin choisit "Modules choisis".
   ============================================================================ */
.collab-pro-panel.collab-pro-detail{
  background:#fff!important;
}
.collab-pro-sticky{
  margin:0!important;
  padding:0!important;
  border-bottom:0!important;
}
.collab-pro-detail-head{
  min-height:0!important;
}
.collab-pro-toolbar{
  padding:0 14px 8px!important;
  margin:0!important;
  border-bottom:0!important;
}
.collab-pro-rights{
  background:#fff!important;
  border-top:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:8px 14px 14px!important;
}
.collab-pro-rights.empty{
  background:#f8fafc!important;
  min-height:220px!important;
}
.collab-right-row:first-child{
  margin-top:0!important;
}
.collab-modules.locked{
  display:none!important;
}
.collab-row-options{
  border-bottom:0!important;
}
.collab-row-inner{
  border-top:1px solid #e2e8f0!important;
}
.collab-right-row:not(.is-restricted) .collab-modules.locked + *{
  display:none!important;
}
@media(max-width:760px){
  .collab-pro-rights{padding:8px 12px 14px!important;}
}

/* ============================================================================
   HOTFIX v3.0.3 — Collaborateurs & accès
   Correction définitive du bloc vide sous le filtre et du bloc modules grisés.
   Le bloc modules n'est plus seulement caché par CSS : il n'est plus rendu en JS
   tant que « Modules choisis » n'est pas sélectionné.
   ============================================================================ */
.collab-pro-panel.collab-pro-detail{
  overflow:hidden!important;
}
.collab-pro-sticky{
  border-bottom:0!important;
  box-shadow:none!important;
}
.collab-pro-toolbar{
  padding:0 14px 0!important;
  margin:0!important;
  border-bottom:0!important;
}
.collab-pro-sticky + .collab-pro-rights,
#collab-rights-zone.collab-pro-rights{
  margin:0!important;
  padding:0 14px 14px!important;
  background:#fff!important;
  border-top:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  display:grid!important;
  gap:10px!important;
}
#collab-rights-zone.collab-pro-rights.empty{
  padding:18px!important;
  background:#f8fafc!important;
  min-height:220px!important;
}
#collab-rights-zone.collab-pro-rights > .collab-right-row:first-child{
  margin-top:0!important;
}
.collab-row-body,
.collab-row-inner,
.collab-row-options{
  margin:0!important;
}
.collab-right-row:not(.is-restricted) .collab-modules,
.collab-modules.locked{
  display:none!important;
}
@media(max-width:760px){
  #collab-rights-zone.collab-pro-rights{padding:0 12px 12px!important;}
}

/* ============================================================================
   HOTFIX v3.0.4 — Collaborateurs & accès
   Objectif : plus de blocs empilés verticalement.
   - Les actions collaborateur sont alignées horizontalement.
   - Les permissions + choix modules + pastilles modules sont sur une seule ligne.
   ============================================================================ */
#collab-cards-list .collab-pro-person{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  grid-template-areas:
    "avatar main"
    "actions actions"!important;
  align-items:center!important;
}
#collab-cards-list .collab-pro-person .collab-pro-avatar{grid-area:avatar!important;}
#collab-cards-list .collab-pro-person .collab-person-main{grid-area:main!important;}
#collab-cards-list .collab-pro-person .collab-person-actions{
  grid-area:actions!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  margin-top:4px!important;
  justify-content:stretch!important;
}
#collab-cards-list .collab-pro-person .collab-person-actions .btn{
  width:100%!important;
  justify-content:center!important;
}
#collab-cards-list .collab-pro-person .collab-person-actions .btn:only-child{
  grid-column:1 / -1!important;
}

#collab-rights-zone .collab-right-row-head{
  grid-template-columns:minmax(260px,1fr) auto!important;
}
#collab-rights-zone .collab-row-inner{
  border-top:1px solid #e2e8f0!important;
}
#collab-rights-zone .collab-row-options{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  padding:12px 15px 12px 18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#f8fafc!important;
  scrollbar-width:thin!important;
}
#collab-rights-zone .collab-row-options .hint{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#collab-rights-zone .collab-row-options .collab-seg{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#collab-rights-zone .collab-row-options .collab-modules-inline,
#collab-rights-zone .collab-row-options .collab-modules{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  border-top:0!important;
  background:transparent!important;
}
#collab-rights-zone .collab-row-options .collab-module-pill{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#collab-rights-zone .collab-right-row:not(.is-restricted) .collab-row-options .collab-modules{
  display:none!important;
}
@media(max-width:900px){
  #collab-rights-zone .collab-right-row-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #collab-rights-zone .collab-row-actions{
    justify-content:space-between!important;
  }
  #collab-rights-zone .collab-row-options{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
  }
  #collab-rights-zone .collab-row-options .collab-modules-inline,
  #collab-rights-zone .collab-row-options .collab-modules{
    flex-wrap:wrap!important;
  }
}

/* ============================================================================
   HOTFIX v3.0.5 — Collaborateurs & droits
   Mission : affichage horizontal pleine largeur.
   - Bloc "Équipe cabinet" sur toute la page, avec cartes collaborateurs horizontales.
   - Bloc collaborateur / cabinet sur toute la page, sans colonne latérale.
   - Dossiers en bas affichés en grille horizontale avec contenu interne aligné.
   Règles métier inchangées : correction CSS uniquement.
   ============================================================================ */
#view-collaborateurs.collab-pro{
  width:100%!important;
  padding:18px 22px 32px!important;
}
#view-collaborateurs .collab-pro-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#collab-tab-equipe .collab-pro-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  align-items:stretch!important;
}
#collab-tab-equipe .collab-pro-panel,
#collab-tab-equipe .collab-pro-team,
#collab-tab-equipe .collab-pro-detail{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
#collab-tab-equipe .collab-pro-team{
  grid-column:1 / -1!important;
}
#collab-tab-equipe .collab-pro-detail{
  grid-column:1 / -1!important;
  min-height:0!important;
  overflow:visible!important;
}

/* Équipe cabinet : la liste n'est plus une colonne étroite, elle respire horizontalement. */
#collab-tab-equipe .collab-pro-team .collab-pro-panel-head,
#collab-tab-equipe .collab-pro-detail .collab-pro-detail-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
#collab-tab-equipe .collab-pro-filterbar{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(150px,220px)!important;
  gap:10px!important;
}
#collab-cards-list.collab-pro-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:10px!important;
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  align-items:stretch!important;
}
#collab-cards-list .collab-pro-person{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  grid-template-areas:"avatar main actions"!important;
  align-items:center!important;
  min-height:74px!important;
  width:100%!important;
}
#collab-cards-list .collab-pro-person .collab-pro-avatar{
  grid-area:avatar!important;
}
#collab-cards-list .collab-pro-person .collab-person-main{
  grid-area:main!important;
  min-width:0!important;
}
#collab-cards-list .collab-pro-person .collab-person-actions{
  grid-area:actions!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  width:auto!important;
  margin-top:0!important;
  white-space:nowrap!important;
}
#collab-cards-list .collab-pro-person .collab-person-actions .btn{
  width:auto!important;
  min-width:92px!important;
  justify-content:center!important;
}

/* Bloc Cabinet / collaborateur sélectionné : pleine largeur, résumé et actions en ligne. */
#collab-tab-equipe .collab-pro-sticky{
  position:relative!important;
  top:auto!important;
  width:100%!important;
}
#collab-tab-equipe .collab-pro-selected{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  min-width:0!important;
}
#collab-tab-equipe .collab-save-stack{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
#collab-tab-equipe .collab-pro-detail-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
#collab-tab-equipe .collab-pro-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(160px,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
#collab-tab-equipe .collab-pro-summary>div[style*="grid-column"]{
  grid-column:1 / -1!important;
}
#collab-tab-equipe .collab-pro-toolbar{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
}

/* Dossiers : cartes alignées horizontalement en bas, puis contenu interne sur une ligne. */
#collab-rights-zone.collab-pro-rights{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(560px,1fr))!important;
  gap:12px!important;
  width:100%!important;
  padding:0 14px 16px!important;
  overflow:visible!important;
}
#collab-rights-zone.collab-pro-rights.empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:220px!important;
}
#collab-rights-zone .collab-right-row{
  display:grid!important;
  grid-template-columns:minmax(230px,.75fr) minmax(360px,1.25fr)!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
#collab-rights-zone .collab-right-row-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0!important;
  height:100%!important;
  padding:13px 14px 13px 18px!important;
  border-right:1px solid #e2e8f0!important;
}
#collab-rights-zone .collab-right-name{
  min-width:0!important;
}
#collab-rights-zone .collab-row-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  flex:0 0 auto!important;
}
#collab-rights-zone .collab-row-body,
#collab-rights-zone .collab-row-inner{
  display:flex!important;
  align-items:stretch!important;
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  border-top:0!important;
}
#collab-rights-zone .collab-row-options{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:12px 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#f8fafc!important;
  scrollbar-width:thin!important;
}
#collab-rights-zone .collab-row-options .hint,
#collab-rights-zone .collab-row-options .collab-seg,
#collab-rights-zone .collab-row-options .collab-module-pill{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#collab-rights-zone .collab-row-options .collab-modules-inline{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}

@media(max-width:1180px){
  #collab-rights-zone.collab-pro-rights{
    grid-template-columns:1fr!important;
  }
  #collab-rights-zone .collab-right-row{
    grid-template-columns:minmax(220px,.7fr) minmax(330px,1.3fr)!important;
  }
}
@media(max-width:820px){
  #view-collaborateurs.collab-pro{padding:14px!important;}
  #collab-tab-equipe .collab-pro-team .collab-pro-panel-head,
  #collab-tab-equipe .collab-pro-detail .collab-pro-detail-head,
  #collab-tab-equipe .collab-save-stack{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #collab-tab-equipe .collab-pro-filterbar,
  #collab-tab-equipe .collab-pro-toolbar,
  #collab-tab-equipe .collab-pro-summary,
  #collab-cards-list.collab-pro-list{
    grid-template-columns:1fr!important;
  }
  #collab-cards-list .collab-pro-person{
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-areas:"avatar main" "actions actions"!important;
  }
  #collab-cards-list .collab-pro-person .collab-person-actions{
    width:100%!important;
    justify-content:stretch!important;
    flex-wrap:wrap!important;
    margin-top:6px!important;
  }
  #collab-cards-list .collab-pro-person .collab-person-actions .btn{
    flex:1 1 120px!important;
  }
  #collab-rights-zone .collab-right-row{
    grid-template-columns:1fr!important;
  }
  #collab-rights-zone .collab-right-row-head{
    border-right:0!important;
    border-bottom:1px solid #e2e8f0!important;
  }
  #collab-rights-zone .collab-row-options{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
  }
  #collab-rights-zone .collab-row-options .collab-modules-inline{
    flex-wrap:wrap!important;
  }
}


/* ============================================================================
   AZALYS HOTFIX — Collaborateurs & droits : listes en lignes
   Objectif : les blocs "Équipe cabinet" et "Cabinet / droits" ne doivent plus
   afficher les éléments en colonnes/cartes côte à côte. Chaque collaborateur et
   chaque dossier s'affiche sur une ligne horizontale pleine largeur.
   ============================================================================ */
#view-collaborateurs .collab-pro-layout,
#collab-tab-equipe .collab-pro-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  width:100%!important;
}

/* Bloc Équipe cabinet : une vraie liste en lignes, pas une grille en colonnes. */
#view-collaborateurs #collab-cards-list.collab-pro-list,
#collab-tab-equipe #collab-cards-list.collab-pro-list{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
}
#view-collaborateurs #collab-cards-list .collab-pro-person,
#collab-tab-equipe #collab-cards-list .collab-pro-person{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  grid-template-areas:"avatar main actions"!important;
  align-items:center!important;
  width:100%!important;
  min-height:78px!important;
  padding:14px 16px!important;
}
#view-collaborateurs #collab-cards-list .collab-person-main,
#collab-tab-equipe #collab-cards-list .collab-person-main{
  min-width:0!important;
}
#view-collaborateurs #collab-cards-list .collab-mini,
#collab-tab-equipe #collab-cards-list .collab-mini{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
#view-collaborateurs #collab-cards-list .collab-person-actions,
#collab-tab-equipe #collab-cards-list .collab-person-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  margin-top:0!important;
  white-space:nowrap!important;
}

/* Bloc Cabinet / droits : une liste verticale de lignes dossiers pleine largeur. */
#view-collaborateurs #collab-rights-zone.collab-pro-rights,
#collab-tab-equipe #collab-rights-zone.collab-pro-rights{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:100%!important;
  padding:0 14px 16px!important;
  overflow:visible!important;
}
#view-collaborateurs #collab-rights-zone.collab-pro-rights.empty,
#collab-tab-equipe #collab-rights-zone.collab-pro-rights.empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:220px!important;
}
#view-collaborateurs #collab-rights-zone .collab-right-row,
#collab-tab-equipe #collab-rights-zone .collab-right-row{
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr)!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
#view-collaborateurs #collab-rights-zone .collab-right-row-head,
#collab-tab-equipe #collab-rights-zone .collab-right-row-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-right:1px solid #e2e8f0!important;
  border-bottom:0!important;
}
#view-collaborateurs #collab-rights-zone .collab-row-options,
#collab-tab-equipe #collab-rights-zone .collab-row-options{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:100%!important;
  overflow:visible!important;
}

@media(max-width:900px){
  #view-collaborateurs #collab-cards-list .collab-pro-person,
  #collab-tab-equipe #collab-cards-list .collab-pro-person{
    grid-template-columns:46px minmax(0,1fr)!important;
    grid-template-areas:"avatar main" "actions actions"!important;
  }
  #view-collaborateurs #collab-cards-list .collab-person-actions,
  #collab-tab-equipe #collab-cards-list .collab-person-actions{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-top:8px!important;
  }
  #view-collaborateurs #collab-rights-zone .collab-right-row,
  #collab-tab-equipe #collab-rights-zone .collab-right-row{
    grid-template-columns:1fr!important;
  }
  #view-collaborateurs #collab-rights-zone .collab-right-row-head,
  #collab-tab-equipe #collab-rights-zone .collab-right-row-head{
    border-right:0!important;
    border-bottom:1px solid #e2e8f0!important;
  }
}


/* AZALYS v3.4 — Portail client dossier */
.role-client-dossier .top-actions .admin-only,
.role-client-dossier .admin-only { display:none !important; }
.role-client-dossier .side-nav .nav-btn.hidden { display:none !important; }
.client-portal{display:flex;flex-direction:column;gap:18px}.client-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;background:linear-gradient(135deg,#ffffff,#eef6ff)}.client-hero h1{margin:6px 0 8px;font-size:30px}.client-hero-badge{padding:10px 14px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:800}.client-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.client-action-card{border:1px solid var(--border,#e5e7eb);background:white;border-radius:18px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 30px rgba(15,23,42,.06);cursor:pointer;transition:.18s}.client-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.10)}.client-action-card span{font-size:28px}.client-action-card strong{font-size:16px;color:#0f172a}.client-action-card small{color:#64748b;line-height:1.45}.client-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.client-dossier-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.client-dossier-row>div{display:flex;flex-direction:column;gap:8px}.client-workflow{display:grid;gap:12px}.client-workflow div{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:#f8fafc;display:flex;flex-direction:column;gap:6px}.client-workflow span{color:#64748b}@media(max-width:980px){.client-action-grid,.client-two-col{grid-template-columns:1fr}.client-hero{align-items:flex-start;flex-direction:column;gap:14px}.client-dossier-row{align-items:flex-start;flex-direction:column}}


/* AZALYS architecture dossier-centrique — collaborateurs séparés des affectations */
.collab-architecture-note,.dossier-architecture-note{margin:14px 0 0;padding:14px 16px;border:1px solid #d8e4f7;border-radius:16px;background:#f8fbff;color:#163057;font-size:13px;line-height:1.45}
.dossier-config-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px;padding:8px;background:#f6f8fc;border:1px solid #e1e8f5;border-radius:18px}
.dossier-config-tabs button{border:0;background:transparent;border-radius:13px;padding:10px 14px;font-weight:800;color:#51637d;cursor:default}
.dossier-config-tabs button.active,.dossier-config-tabs button:hover{background:#fff;color:#0b2b5c;box-shadow:0 6px 18px rgba(15,45,90,.08)}
.dossier-access-panel{margin-top:18px}
.dossier-architecture-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.dossier-config-card{border:1px solid #dbe5f4;background:#fff;border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(15,45,90,.06)}
.dossier-config-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.dossier-config-head h4{margin:0;color:#0b2b5c}
.dossier-config-head p{margin:4px 0 0}
.dossier-user-list{display:grid;gap:10px;margin:12px 0;max-height:260px;overflow:auto}
.dossier-user-line{display:flex;align-items:center;gap:12px;border:1px solid #e3ebf7;background:#f9fbff;border-radius:14px;padding:10px 12px;cursor:pointer}
.dossier-user-line input{width:18px;height:18px;accent-color:#2563eb}
.dossier-user-line span{display:flex;flex-direction:column;gap:2px}
.dossier-user-line small{color:#667b99;font-weight:600}
.dossier-mode-row{margin:8px 0 10px}.dossier-mode-row label{display:grid;gap:6px;font-weight:800;color:#0b2b5c}
.dossier-module-summary{border-top:1px dashed #d8e4f7;margin-top:12px;padding-top:12px}.dossier-module-summary strong{display:block;margin-bottom:8px;color:#0b2b5c}
.empty.mini{padding:12px;border-radius:14px;background:#f7f9fd;color:#667b99;font-weight:700}
@media(max-width:900px){.dossier-architecture-grid{grid-template-columns:1fr}.dossier-config-head{flex-direction:column}.dossier-config-tabs{display:none}}


/* Correctif onglets fiche dossier - architecture dossier-centrique */
.dossier-config-tabs button{cursor:pointer}
.dossier-config-panel{display:none;margin-top:14px}
.dossier-config-panel.active{display:block}
.dossier-config-panel .dossier-access-panel{display:block}
#dossier-access-panel.hidden{display:none!important}
.dossier-config-card{width:100%}

/* === Accordéon configuration dossier (remplace les onglets) === */
.dossier-acc{display:flex;flex-direction:column;gap:10px;margin:18px 0 6px}
.dossier-acc-item{border:1px solid #e1e8f5;border-radius:16px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.dossier-acc-item.is-open{border-color:#c3d4f0;box-shadow:0 10px 26px rgba(15,45,90,.07)}
.dossier-acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:15px 18px;cursor:pointer;font:inherit;text-align:left;color:#0b2b5c}
.dossier-acc-head:hover{background:#f6f8fc}
.dossier-acc-item.is-open .dossier-acc-head{background:#f6f8fc}
.dossier-acc-title{display:flex;align-items:center;gap:11px;font-weight:800;font-size:15px;line-height:1.2}
.dossier-acc-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#eaf0fb;color:#1c4ea8;font-size:13px;font-weight:800;flex:none}
.dossier-acc-item.is-open .dossier-acc-num{background:#1c4ea8;color:#fff}
.dossier-acc-chevron{width:18px;height:18px;color:#7186a6;flex:none;transition:transform .28s ease}
.dossier-acc-item.is-open .dossier-acc-chevron{transform:rotate(180deg);color:#1c4ea8}
.dossier-acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.dossier-acc-item.is-open .dossier-acc-body{grid-template-rows:1fr}
.dossier-acc-inner{overflow:hidden;min-height:0;padding:2px 18px 20px}
@media (prefers-reduced-motion: reduce){.dossier-acc-body,.dossier-acc-chevron{transition:none}}

/* HOTFIX v3.4.6 — séparation stricte portail client / cockpit cabinet
   .client-portal définissait display:flex et annulait .view{display:none}.
   On force le masquage du portail client tant que sa vue n'est pas active. */
.view.client-portal:not(.active){display:none!important;}
.view.client-portal.active{display:flex!important;flex-direction:column;}
body:not(.role-client-dossier) .side-nav .nav-btn[data-view="client"],
body:not(.role-client-dossier) .side-nav .nav-btn.client-only{display:none!important;}
body.role-client-dossier .side-nav .nav-btn[data-view="client"]{display:flex!important;}
body.role-client-dossier .view:not(#view-client){display:none!important;}

/* HOTFIX v3.4.7 — menu client en plusieurs volets */
body:not(.role-client-dossier) .side-nav .nav-btn[data-view^="client-"]{display:none!important;}
body.role-client-dossier .side-nav .nav-btn[data-view^="client-"]{display:flex!important;}

/* AZALYS v3.5.2 — badges messages cabinet */
.nav-badge{
  position:absolute;
  top:7px;
  right:10px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(239,68,68,.32);
}
.nav-badge.hidden{display:none!important;}
.side-nav .nav-btn{padding-right:42px;}


/* Discussion cabinet flottante */
.client-chat-floating{position:fixed;right:106px;bottom:24px;z-index:1498;display:block}
.client-chat-floating.hidden{display:none!important}
.client-chat-btn{position:relative;width:58px;height:58px;padding:0;border:0;border-radius:24px;cursor:grab;background:linear-gradient(135deg,#06b6d4,#2563eb);box-shadow:0 18px 45px rgba(37,99,235,.34);display:flex;align-items:center;gap:10px;color:#fff;transition:transform .18s ease, box-shadow .18s ease;font-weight:800}
.client-chat-btn:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(37,99,235,.42)}
.client-chat-glow{position:absolute;inset:-8px;border-radius:30px;background:linear-gradient(135deg,rgba(34,211,238,.24),rgba(37,99,235,.22));filter:blur(8px);z-index:-1}
.client-chat-face{font-size:25px;line-height:1}
.client-chat-text{display:none}
.client-chat-badge{position:absolute;right:-3px;top:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;border:3px solid #fff;font-size:11px;font-weight:900;box-shadow:0 9px 24px rgba(239,68,68,.35)}
.client-chat-panel{position:absolute;right:0;bottom:72px;width:min(330px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 118px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(191,219,254,.92);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 28px 80px rgba(15,23,42,.22);backdrop-filter:blur(16px)}
.client-chat-panel.hidden{display:none!important}
.client-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px 16px;background:linear-gradient(135deg,#ecfeff,#eff6ff);border-bottom:1px solid #dbeafe}
.client-chat-head-left{display:flex;align-items:center;gap:11px}.client-chat-avatar{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#dbeafe;border:1px solid #bfdbfe;box-shadow:0 10px 24px rgba(37,99,235,.12)}
.client-chat-head strong{display:block;color:#0f172a;font-size:15px}.client-chat-head span{display:block;color:#64748b;font-size:12px;margin-top:2px}.client-chat-head-actions{display:flex;gap:6px}
.client-chat-thread{padding:14px;overflow:auto;min-height:220px;max-height:330px;background:linear-gradient(180deg,#fff,#f8fafc)}
.client-chat-empty{border:1px dashed #bfdbfe;border-radius:20px;padding:22px;text-align:center;background:#fff}.client-chat-empty strong{display:block;color:#0f172a}.client-chat-empty span{display:block;color:#64748b;font-size:13px;margin-top:5px}
.client-chat-msg{display:flex;margin:10px 0}.client-chat-msg.from-client{justify-content:flex-end}.client-chat-msg.from-cabinet{justify-content:flex-start}.client-chat-msg-bubble{max-width:82%;border:1px solid #dbeafe;border-radius:18px;padding:10px 12px;background:#fff;color:#0f172a;box-shadow:0 10px 26px rgba(15,23,42,.06);font-size:13px;line-height:1.45}.client-chat-msg.from-client .client-chat-msg-bubble{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#2563eb}.client-chat-msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11px}.client-chat-msg-meta span{opacity:.75}.client-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid #e2e8f0}.client-chat-compose select{grid-column:1 / -1;min-height:38px;border-radius:14px}.client-chat-compose textarea{resize:none;min-height:48px;border-radius:16px}.client-chat-compose .btn{border-radius:16px}.client-chat-note{padding:0 14px 12px;color:#64748b;font-size:11px;background:#fff}
@media(max-width:720px){.client-chat-floating{right:80px;bottom:16px}.client-chat-btn{width:54px;height:54px;padding:0;border-radius:19px}.client-chat-face{font-size:27px}.client-chat-text{display:none}.client-chat-panel{right:-86px;bottom:74px;width:calc(100vw - 28px);max-height:calc(100vh - 104px);border-radius:22px}.client-chat-compose{grid-template-columns:1fr}.client-chat-compose .btn{width:100%}}


/* Messages clients flottants côté cabinet */
.cabinet-chat-floating{position:fixed;right:106px;bottom:24px;z-index:1498;display:block}
.cabinet-chat-floating.hidden{display:none!important}
.cabinet-chat-btn{position:relative;width:58px;height:58px;padding:0;border:0;border-radius:24px;cursor:grab;background:linear-gradient(135deg,#8b5cf6,#2563eb);box-shadow:0 18px 45px rgba(99,102,241,.34);display:flex;align-items:center;gap:10px;color:#fff;transition:transform .18s ease, box-shadow .18s ease;font-weight:800}
.cabinet-chat-btn:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(99,102,241,.42)}
.cabinet-chat-glow{position:absolute;inset:-8px;border-radius:30px;background:linear-gradient(135deg,rgba(139,92,246,.24),rgba(37,99,235,.22));filter:blur(8px);z-index:-1}
.cabinet-chat-face{font-size:25px;line-height:1}
.cabinet-chat-text{display:none}
.cabinet-chat-badge{position:absolute;right:-3px;top:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;border:3px solid #fff;font-size:11px;font-weight:900;box-shadow:0 9px 24px rgba(239,68,68,.35)}
.cabinet-chat-panel{position:absolute;right:0;bottom:72px;width:min(350px,calc(100vw - 28px));max-height:min(540px,calc(100vh - 118px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(191,219,254,.92);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 28px 80px rgba(15,23,42,.22);backdrop-filter:blur(16px)}
.cabinet-chat-panel.hidden{display:none!important}
.cabinet-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px 16px;background:linear-gradient(135deg,#f5f3ff,#eff6ff);border-bottom:1px solid #dbeafe}
.cabinet-chat-head-left{display:flex;align-items:center;gap:11px}.cabinet-chat-avatar{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#ede9fe;border:1px solid #c4b5fd;box-shadow:0 10px 24px rgba(99,102,241,.12)}
.cabinet-chat-head strong{display:block;color:#0f172a;font-size:15px}.cabinet-chat-head span{display:block;color:#64748b;font-size:12px;margin-top:2px}.cabinet-chat-head-actions{display:flex;gap:6px}
.cabinet-chat-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#fff}
.cabinet-chat-thread{padding:14px;overflow:auto;min-height:240px;max-height:350px;background:linear-gradient(180deg,#fff,#f8fafc)}
.cabinet-chat-empty{border:1px dashed #bfdbfe;border-radius:20px;padding:22px;text-align:center;background:#fff}.cabinet-chat-empty strong{display:block;color:#0f172a}.cabinet-chat-empty span{display:block;color:#64748b;font-size:13px;margin-top:5px}
.cabinet-chat-msg{display:flex;margin:10px 0}.cabinet-chat-msg.from-client{justify-content:flex-start}.cabinet-chat-msg.from-cabinet{justify-content:flex-end}.cabinet-chat-msg-bubble{max-width:86%;border:1px solid #dbeafe;border-radius:18px;padding:10px 12px;background:#fff;color:#0f172a;box-shadow:0 10px 26px rgba(15,23,42,.06);font-size:13px;line-height:1.45}.cabinet-chat-msg.from-cabinet .cabinet-chat-msg-bubble{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#2563eb}.cabinet-chat-msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11px}.cabinet-chat-msg-meta span{opacity:.75}.cabinet-chat-msg-subject{font-weight:800;margin-bottom:4px}.cabinet-chat-msg.is-unread .cabinet-chat-msg-bubble{border-color:#f59e0b;box-shadow:0 12px 28px rgba(245,158,11,.16)}
.cabinet-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid #e2e8f0}.cabinet-chat-compose textarea{resize:none;min-height:52px;border-radius:16px}.cabinet-chat-compose .btn{border-radius:16px}.cabinet-chat-note{padding:0 14px 12px;color:#64748b;font-size:11px;background:#fff}
@media(max-width:720px){.cabinet-chat-floating{right:80px;bottom:16px}.cabinet-chat-btn{width:54px;height:54px;padding:0;border-radius:19px}.cabinet-chat-face{font-size:27px}.cabinet-chat-text{display:none}.cabinet-chat-panel{right:-86px;bottom:74px;width:calc(100vw - 28px);max-height:calc(100vh - 104px);border-radius:22px}.cabinet-chat-toolbar,.cabinet-chat-compose{grid-template-columns:1fr}.cabinet-chat-compose .btn,.cabinet-chat-toolbar .btn{width:100%}}

@keyframes floatingChatPulse{0%,100%{filter:saturate(1)}50%{filter:saturate(1.18) brightness(1.04)}}
.client-chat-btn,.cabinet-chat-btn{animation:floatingChatPulse 3.8s ease-in-out infinite}


/* AZALYS v3.6.0 — Pièces client à traiter + AI Achats */
.docs-inbox{display:grid;gap:22px}
.docs-inbox-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 28px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,246,255,.94));border:1px solid rgba(191,219,254,.85);box-shadow:0 20px 55px rgba(15,23,42,.10)}
.docs-inbox-hero h3{margin:5px 0 6px;font-size:28px;color:#0f2a55}
.docs-inbox-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.docs-inbox-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.docs-inbox-kpis .card{padding:20px 22px;border-radius:24px;position:relative;overflow:hidden}
.docs-inbox-kpis .card strong{display:block;font-size:34px;line-height:1;color:#1d4ed8}
.docs-inbox-kpis .card span{display:block;margin-top:10px;font-weight:900;color:#0f172a}
.docs-inbox-kpis .card small{display:block;margin-top:4px;color:#64748b;font-weight:700}
.docs-inbox-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.docs-inbox-filters{padding:18px;border-radius:26px;position:sticky;top:104px}
.docs-inbox-filters h3{margin:0 0 14px;color:#0f2a55}
.docs-filter{width:100%;border:1px solid #dbeafe;background:#fff;border-radius:18px;padding:12px 13px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;font-weight:900;color:#334155;cursor:pointer}
.docs-filter:hover,.docs-filter.active{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}
.docs-filter span{min-width:28px;height:24px;border-radius:999px;display:grid;place-items:center;background:#e0ecff;color:#1d4ed8;font-size:12px}
.docs-ai-note{margin-top:18px;border:1px dashed #bfdbfe;border-radius:20px;padding:14px;background:#f8fbff;color:#475569}
.docs-ai-note strong{display:block;color:#0f172a;margin-bottom:5px}
.docs-ai-note span{font-size:13px;line-height:1.45}
.docs-inbox-list{padding:22px;border-radius:28px;min-height:420px}
.doc-inbox-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:15px;align-items:start;border:1px solid #dbeafe;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;margin-top:13px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.doc-inbox-row.is-achats{border-left:5px solid #2563eb}
.doc-inbox-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:#eff6ff;border:1px solid #bfdbfe;font-size:23px}
.doc-inbox-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.doc-inbox-title strong{color:#0f172a;font-size:15px}
.doc-inbox-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:#64748b;font-size:12px;font-weight:700}
.doc-inbox-meta span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px}
.doc-inbox-comment,.doc-inbox-note{margin:10px 0 0;color:#475569;font-size:13px;line-height:1.45}
.doc-inbox-note{border-left:3px solid #2563eb;padding-left:10px;color:#1e3a8a;background:#eff6ff;border-radius:10px;padding-top:8px;padding-bottom:8px}
.doc-inbox-actions{display:grid;gap:8px;min-width:180px}
.doc-inbox-actions .btn,.doc-inbox-actions a.btn{text-align:center;justify-content:center}
@media(max-width:1100px){.docs-inbox-kpis{grid-template-columns:repeat(2,1fr)}.docs-inbox-workspace{grid-template-columns:1fr}.docs-inbox-filters{position:static}.doc-inbox-row{grid-template-columns:48px 1fr}.doc-inbox-actions{grid-column:1 / -1;grid-template-columns:repeat(2,1fr);min-width:0}}
@media(max-width:720px){.docs-inbox-hero{flex-direction:column;align-items:flex-start}.docs-inbox-kpis{grid-template-columns:1fr}.doc-inbox-row{grid-template-columns:1fr}.doc-inbox-icon{display:none}.doc-inbox-actions{grid-template-columns:1fr}}


/* AZALYS v3.7.0 — AI Pilotage orchestrateur + assistants métiers */
.ai-agent-strip{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.ai-agent-chip{border:1px solid #dbeafe;background:#fff;border-radius:999px;padding:7px 10px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;color:#1e293b;cursor:pointer;box-shadow:0 7px 18px rgba(15,23,42,.05);transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.ai-agent-chip:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.10);border-color:#93c5fd}
.ai-agent-chip span{font-size:14px}.ai-agent-chip strong{font-size:11px;color:inherit}
.ai-agent-chip.pilotage{background:linear-gradient(135deg,#eff6ff,#f5f3ff);color:#1d4ed8;border-color:#bfdbfe}
.ai-agent-chip.achats{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.ai-agent-chip.finance{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.ai-agent-chip.paie{background:#ecfdf5;color:#047857;border-color:#bbf7d0}
.ai-agent-chip.commercial{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.ai-agent-chip.documents{background:#ecfeff;color:#0e7490;border-color:#a5f3fc}
.ai-agent-chip.messages{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}
.ai-agent-chip.stock{background:#faf5ff;color:#9333ea;border-color:#e9d5ff}
.ai-agent-chip.immos{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.ai-agent-chip.missions{background:#f8fafc;color:#334155;border-color:#cbd5e1}
.ai-agent-chip.client{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.ai-welcome-mini{margin-top:12px}.ai-welcome-mini .ai-agent-strip{margin-top:0}
.ai-floating-context{grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.ai-agent-chip strong{display:none}.ai-agent-strip{gap:6px}.ai-agent-chip{padding:8px 9px}}


/* AZALYS v3.8.0 — visibilité robuste du robot AI compagnon */
.ai-floating{
  position:fixed!important;
  right:24px;
  bottom:24px;
  z-index:99998!important;
  visibility:visible;
}
.ai-floating:not(.hidden){display:block!important}
.ai-robot-btn{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.az-mod-ai{z-index:99998!important}
.az-mod-ai-btn{visibility:visible!important;opacity:1!important;pointer-events:auto!important}


/* AZALYS v3.9.0 — Flux AI opérationnel */
.client-ai-hint{
  border:1px dashed #bfdbfe;
  background:#eff6ff;
  border-radius:16px;
  padding:12px 14px;
  color:#1e3a8a;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:62px;
  justify-content:center;
}
.client-ai-hint strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.client-ai-hint span{font-size:12px;line-height:1.35}
.doc-ai-flow{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 6px;
}
.doc-ai-flow span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 9px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #dbeafe;
  color:#1e40af;
  font-size:11px;
  font-weight:800;
}


/* AZALYS v3.9.1 — Nettoyage panneau AI Pilotage */
.ai-floating.panel-open ~ #cabinet-chat-floating,
.ai-floating.panel-open ~ #client-chat-floating{
  display:none!important;
}
.ai-floating-panel .ai-welcome-mini{
  display:none!important;
}
.ai-floating-panel .ai-welcome-card{
  margin-bottom:0!important;
}
.ai-floating-panel .ai-agent-strip{
  margin-top:8px;
}
.ai-floating-panel .ai-floating-chat{
  scrollbar-width:thin;
}


/* AZALYS v3.9.2 — Alertes synthétiques messages clients */
.alerts-summary-card{
  border:1px solid #dbeafe;
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  border-radius:22px;
  padding:18px;
  box-shadow:0 18px 50px rgba(15,23,42,.06);
  margin-bottom:14px;
}
.alerts-summary-left{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.alerts-summary-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#1d4ed8;
  font-size:22px;
  box-shadow:inset 0 0 0 1px #dbeafe;
}
.alerts-summary-left h3{margin:0;font-size:16px;color:#0f172a}
.alerts-summary-left p{margin:2px 0 0}
.alerts-summary-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.alerts-summary-kpis span{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  padding:11px 12px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.alerts-summary-kpis strong{font-size:15px;color:#0f172a}
.alerts-summary-kpis small{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:10px;font-weight:900}
.alerts-message-lines{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.alerts-message-line{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:10px;
  cursor:pointer;
  text-align:left;
}
.alerts-message-line:hover{border-color:#bfdbfe;background:#eff6ff}
.alerts-message-line span{font-weight:900;color:#0f172a}
.alerts-message-line strong{color:#1d4ed8;font-size:12px}
.alerts-message-line small{color:#64748b}
.alerts-message-lines.empty-line{
  border:1px dashed #dbeafe;
  background:#f8fafc;
  border-radius:14px;
  padding:12px;
  color:#64748b;
  font-size:13px;
}
.alerts-summary-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:760px){
  .alerts-summary-kpis{grid-template-columns:1fr}
  .alerts-message-line{grid-template-columns:1fr;gap:4px}
}


/* AZALYS v3.9.3 — Dossiers clients premium */
#view-dossiers{
  --dossier-line:#dbe5f3;
  --dossier-soft:#f8fbff;
  --dossier-ink:#0f274d;
}
.dossiers-tools{
  grid-template-columns:minmax(320px,1fr) 220px 220px auto;
  align-items:center;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(219,229,243,.9);
  box-shadow:0 18px 45px rgba(15,23,42,.06);
  backdrop-filter:blur(12px);
}
.dossiers-overview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.dossier-overview-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--dossier-line);
  background:linear-gradient(145deg,#fff,#f7fbff);
  border-radius:22px;
  padding:16px 18px;
  box-shadow:0 16px 42px rgba(15,23,42,.06);
}
.dossier-overview-card:before{
  content:'';
  position:absolute;
  inset:auto -28px -34px auto;
  width:96px;
  height:96px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
}
.dossier-overview-card.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#12356f,#2563eb);
}
.dossier-overview-card.primary:before{background:rgba(255,255,255,.14)}
.dossier-overview-card.warn:before{background:rgba(217,119,6,.13)}
.dossier-overview-card.info:before{background:rgba(13,148,136,.13)}
.dossier-overview-card span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:900;
  opacity:.72;
}
.dossier-overview-card strong{
  display:block;
  margin:7px 0 2px;
  font-size:26px;
  line-height:1;
  color:inherit;
}
.dossier-overview-card small{
  position:relative;
  display:block;
  color:inherit;
  opacity:.72;
  font-size:12px;
}
.dossiers-card{
  overflow:hidden;
}
.dossiers-card .card-head{
  padding:22px 24px;
  border-bottom:1px solid var(--dossier-line);
  background:linear-gradient(180deg,#fff,#f9fbff);
}
.dossiers-card .table-wrap{
  overflow:auto;
}
.dossiers-card table{
  border-collapse:separate;
  border-spacing:0;
}
.dossiers-card thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f4f8fd;
  border-bottom:1px solid var(--dossier-line);
  color:#526783;
  font-size:11px;
  letter-spacing:.08em;
}
.dossier-premium-row{
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.dossier-premium-row td{
  vertical-align:middle;
  padding-top:18px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #edf2f7;
}
.dossier-premium-row:hover{
  background:linear-gradient(90deg,#f8fbff,#fff);
  transform:translateY(-1px);
  box-shadow:inset 4px 0 0 #2563eb;
}
.dossier-name-wrap{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:260px;
}
.dossier-avatar{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow:0 12px 28px rgba(37,99,235,.25);
  letter-spacing:.02em;
}
.dossier-name-cell .row-title{
  font-size:15px;
  letter-spacing:.01em;
  color:#0f274d;
}
.dossier-mini-meta{
  margin-top:7px;
}
.dossier-health{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dossier-health.ok{background:#dcfce7;color:#166534}
.dossier-health.warn{background:#fef3c7;color:#92400e}
.dossier-health.info{background:#dbeafe;color:#1e40af}
.dossier-health.muted{background:#f1f5f9;color:#64748b}
.dossier-ident-grid{
  display:grid;
  gap:6px;
  min-width:170px;
}
.dossier-ident-grid span{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#526783;
}
.dossier-ident-grid b{
  min-width:28px;
  color:#0f274d;
  font-size:10px;
  letter-spacing:.08em;
}
.dossier-ident-grid .is-missing{
  opacity:.58;
}
.dossier-ident-alert{
  display:block;
  margin-top:8px;
  color:#d97706;
  font-weight:800;
}
.dossier-module-list{
  max-width:620px;
  gap:7px!important;
}
.dossier-module-list .badge{
  border:1px solid rgba(37,99,235,.10);
  box-shadow:0 6px 16px rgba(37,99,235,.06);
}
.dossier-more{
  background:#eef2ff!important;
  color:#4f46e5!important;
}
.dossier-date-cell strong{
  display:block;
  color:#0f274d;
  font-size:13px;
}
.dossier-date-cell small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:11px;
}
.dossier-actions{
  min-width:330px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap!important;
}
.dossier-actions .btn{
  height:38px;
  padding:0 14px;
  border-radius:14px;
  box-shadow:none;
}
.dossier-actions .btn.primary{
  box-shadow:0 12px 28px rgba(37,99,235,.22);
}
.dossier-actions .dossier-delete{
  color:#dc2626;
  border-color:#fecaca;
  background:#fff;
}
.dossier-empty{
  padding:30px!important;
}
@media(max-width:1180px){
  .dossiers-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dossiers-tools{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .dossiers-overview{grid-template-columns:1fr}
  .dossiers-tools{grid-template-columns:1fr}
  .dossier-actions{min-width:260px;flex-wrap:wrap!important}
  .dossier-name-wrap{min-width:220px}
}

/* AZALYS v27 — Connecteur moteur IA local FastAPI/Ollama */
#ai-local-config.is-active{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
  box-shadow:0 8px 20px rgba(22,101,52,.16);
}

/* AZALYS v3.10.5 — Messagerie interne cabinet */
.internal-messaging{display:grid;gap:18px}
.internal-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(37,99,235,.12);background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(124,58,237,.06))}
.internal-hero h3{margin:4px 0 6px;font-size:1.35rem}
.internal-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.internal-workspace{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px;align-items:start}
.internal-contacts-panel,.internal-thread-panel{min-height:620px}
.internal-contacts-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:560px;overflow:auto;padding-right:4px}
.internal-contact{width:100%;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer;transition:.18s ease;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.internal-contact:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.22);box-shadow:0 16px 34px rgba(37,99,235,.08)}
.internal-contact.active{border-color:rgba(37,99,235,.45);background:linear-gradient(135deg,#eef6ff,#fff)}
.internal-contact.has-unread{background:linear-gradient(135deg,#fff7ed,#fff)}
.internal-contact-avatar,.internal-avatar{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.internal-contact-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.internal-contact-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f172a}
.internal-contact-main small{color:#64748b;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.internal-thread-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:14px;margin-bottom:14px}
.internal-thread-head h3{margin:0 0 3px;font-size:1.2rem}
.internal-thread-body{height:330px;overflow:auto;padding:8px 4px 14px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(248,250,252,.9),rgba(255,255,255,.6));border-radius:18px;border:1px solid rgba(15,23,42,.06)}
.internal-bubble{max-width:82%;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:12px 14px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.internal-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,#eff6ff,#eef2ff);border-color:rgba(37,99,235,.18)}
.internal-bubble.theirs{align-self:flex-start;background:#fff}
.internal-bubble-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:.82rem;margin-bottom:6px}
.internal-bubble-meta strong{color:#334155}
.internal-bubble h4{margin:0 0 6px;font-size:.96rem;color:#0f172a}
.internal-bubble p{margin:0;color:#334155;line-height:1.5;white-space:normal}
.internal-dossier-chip{border:1px solid rgba(37,99,235,.16);background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 8px;font-size:.76rem}
.internal-composer{margin-top:14px;display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:end}
.internal-composer .internal-body-label{grid-column:1 / -1}
.internal-composer textarea{resize:vertical;min-height:92px}
.internal-composer-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}
@media (max-width: 980px){.internal-workspace{grid-template-columns:1fr}.internal-contacts-panel,.internal-thread-panel{min-height:auto}.internal-composer{grid-template-columns:1fr}.internal-bubble{max-width:96%}.internal-thread-body{height:360px}.internal-hero{flex-direction:column}.internal-hero-actions{justify-content:flex-start}}

/* AZALYS v3.10.24 — Messagerie interne premium + groupes */
.internal-premium .internal-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 34%),linear-gradient(135deg,rgba(37,99,235,.09),rgba(124,58,237,.08),rgba(14,165,233,.06));border-color:rgba(37,99,235,.16);box-shadow:0 20px 48px rgba(15,23,42,.08)}
.internal-premium .internal-hero:after{content:"";position:absolute;right:-56px;top:-80px;width:210px;height:210px;border-radius:999px;background:rgba(37,99,235,.09);filter:blur(2px);pointer-events:none}
.internal-premium .internal-workspace{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:stretch}
.internal-premium .internal-contacts-panel,.internal-premium .internal-thread-panel{min-height:680px;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 44px rgba(15,23,42,.06)}
.internal-toolbar{display:grid;gap:12px;margin-bottom:12px}
.internal-toolbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.internal-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.internal-premium-compact .internal-workspace{gap:18px}
.internal-premium-compact .internal-contacts-panel{padding-top:16px}
.internal-premium-compact .internal-action-btn-inline{min-height:40px;padding:0 16px;border-radius:12px;font-weight:800;box-shadow:none}
.internal-premium-compact .internal-action-btn-inline span:first-child{font-size:1rem;line-height:1}
.internal-premium-compact .internal-action-btn-inline span:last-child{display:inline-flex;align-items:center}
.internal-toolbar h3{margin:0 0 3px;font-size:1.12rem;color:#0f172a}
.internal-search{height:42px;border-radius:14px;background:#f8fafc}
.internal-section-title{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 7px;padding:0 2px;color:#334155;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.internal-section-title small{color:#94a3b8;font-size:.76rem;letter-spacing:0;text-transform:none}
.internal-mini-empty{padding:12px;border:1px dashed rgba(100,116,139,.22);border-radius:16px;background:#f8fafc;color:#64748b;font-size:.88rem;text-align:center}
.internal-contact-avatar.group,.internal-avatar.group{background:linear-gradient(135deg,#0f172a,#2563eb);letter-spacing:-.03em}
.internal-contact small b{color:#475569;font-weight:800}
.internal-contact.active{box-shadow:0 18px 38px rgba(37,99,235,.12)}
.internal-group-create{display:grid;gap:10px;margin:12px 0 14px;padding:14px;border:1px solid rgba(37,99,235,.16);border-radius:20px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 14px 30px rgba(37,99,235,.08)}
.internal-group-create-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0f172a}
.internal-group-create label{display:grid;gap:6px;color:#334155;font-weight:700;font-size:.9rem}
.internal-members-picker{display:grid;gap:8px;max-height:170px;overflow:auto;padding:8px;border-radius:16px;border:1px solid rgba(15,23,42,.07);background:#fff}
.internal-member-check{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border-radius:13px;background:#f8fafc;border:1px solid rgba(15,23,42,.05);cursor:pointer;font-size:.9rem;color:#0f172a}
.internal-member-check:hover{background:#eef6ff;border-color:rgba(37,99,235,.16)}
.internal-member-check input{accent-color:#2563eb}
.internal-member-check span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.internal-member-check small{color:#64748b;font-size:.76rem}
.internal-group-create .full{width:100%;justify-content:center}
.premium-thread-head{padding:0 0 16px;margin-bottom:14px;align-items:flex-start}
.internal-thread-title{min-width:0;display:grid;gap:4px}
.internal-thread-title h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.internal-member-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.internal-member-chips span{padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.76rem;font-weight:700}
.internal-thread-body{height:390px;padding:14px;background:linear-gradient(180deg,#f8fafc,#ffffff);border-radius:22px;scrollbar-width:thin}
.internal-bubble{border-radius:20px;padding:13px 15px;box-shadow:0 14px 28px rgba(15,23,42,.06)}
.internal-bubble.group-bubble h4{display:none}
.internal-bubble.mine{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border-color:rgba(37,99,235,.22)}
.internal-bubble.mine .internal-bubble-meta,.internal-bubble.mine .internal-bubble-meta strong,.internal-bubble.mine p,.internal-bubble.mine h4{color:#fff}
.internal-bubble.mine .internal-dossier-chip{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28);color:#fff}
.internal-composer{padding-top:2px}
.internal-composer.group-mode{grid-template-columns:1fr}
.internal-composer.group-mode .internal-body-label{grid-column:1}
.internal-composer.group-mode .internal-composer-actions{grid-column:1}
.internal-empty-large{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
@media (max-width: 980px){.internal-premium .internal-workspace{grid-template-columns:1fr}.internal-premium .internal-contacts-panel,.internal-premium .internal-thread-panel{min-height:auto}.internal-thread-body{height:420px}.internal-group-create{border-radius:18px}.internal-member-check{grid-template-columns:auto minmax(0,1fr)}}
@media (max-width: 640px){.internal-premium .internal-hero{padding:18px}.internal-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.internal-hero-actions .badge{grid-column:1/-1;justify-content:center}.internal-contact{grid-template-columns:38px minmax(0,1fr) auto;padding:10px;border-radius:16px}.internal-contact-avatar,.internal-avatar{width:38px;height:38px;border-radius:13px}.internal-thread-body{height:48vh;padding:10px}.internal-bubble{max-width:94%;padding:12px}.internal-composer{gap:10px}.internal-member-chips span{font-size:.72rem}.internal-members-picker{max-height:145px}}

/* V16.7 — Messagerie interne premium : UI SaaS + composer Enter */
.internal-premium-v167{gap:22px}
.internal-premium-v167 .internal-hero{position:relative;overflow:hidden;padding:26px 30px;border-radius:26px;background:linear-gradient(135deg,#fff,rgba(248,251,255,.96));border:1px solid rgba(37,99,235,.12);box-shadow:0 18px 46px rgba(15,23,42,.08)}
.internal-premium-v167 .internal-hero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.18),rgba(37,99,235,0) 66%);pointer-events:none}
.internal-premium-v167 .internal-hero h3{font-size:1.42rem;margin:4px 0 10px;letter-spacing:-.025em;color:#0f172a}
.internal-premium-v167 .internal-hero .muted{margin:0 0 6px;max-width:760px;color:#516585;line-height:1.55}
.internal-premium-v167 .internal-hero-note{font-size:.94rem}
.internal-premium-v167 .internal-hero-actions{position:relative;z-index:1;gap:12px}
.internal-premium-v167 .internal-action-btn{min-height:46px;border-radius:14px;padding:0 20px;font-weight:850;box-shadow:0 12px 26px rgba(15,23,42,.06)}
.internal-premium-v167 .internal-action-btn span{font-size:1.1rem;line-height:1}
.internal-premium-v167 .internal-workspace{grid-template-columns:minmax(310px,370px) minmax(0,1fr);gap:18px;align-items:stretch}
.internal-premium-v167 .internal-contacts-panel,.internal-premium-v167 .internal-thread-panel{border-radius:24px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.94);box-shadow:0 18px 44px rgba(15,23,42,.07)}
.internal-premium-v167 .internal-contacts-panel{padding:18px 16px;display:flex;flex-direction:column;overflow:hidden;min-height:680px}
.internal-premium-v167 .internal-thread-panel{padding:0;overflow:hidden;min-height:680px}
.internal-sidebar-title{display:flex;align-items:center;gap:12px}
.internal-sidebar-title h3{font-size:1.08rem;letter-spacing:-.02em}
.internal-sidebar-icon{width:30px;height:30px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f1f5ff;color:#2563eb}
.internal-search-wrap{height:44px;border:1px solid rgba(148,163,184,.32);border-radius:14px;background:#fff;display:grid;grid-template-columns:40px 1fr;align-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.internal-search-wrap span{color:#8190a7;text-align:center;font-weight:900;font-size:1.05rem}
.internal-search-wrap .internal-search{height:42px;border:0!important;background:transparent!important;box-shadow:none!important;padding-left:0!important;border-radius:14px;color:#0f172a}
.internal-premium-v167 .internal-contacts-list{flex:1;max-height:none;margin-top:14px;padding:0 4px 4px 0;gap:8px;overflow:auto;scrollbar-width:thin}
.internal-premium-v167 .internal-section-title{margin:18px 4px 8px;padding:0;color:#0f172a;font-size:.78rem;letter-spacing:.09em}
.internal-section-plus{width:24px;height:24px;border:0;border-radius:8px;background:#eef2ff;color:#1d4ed8;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s ease}
.internal-section-plus:hover{background:#dbeafe;transform:translateY(-1px)}
.internal-premium-v167 .internal-mini-empty{min-height:64px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px dashed rgba(100,116,139,.26);color:#64748b;font-size:.9rem}
.internal-premium-v167 .internal-mini-empty strong{font-weight:650;color:#64748b}
.internal-premium-v167 .internal-contact{position:relative;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;min-height:72px;padding:10px 12px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 22px rgba(15,23,42,.045);overflow:hidden}
.internal-premium-v167 .internal-contact:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:transparent}
.internal-premium-v167 .internal-contact:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.26);box-shadow:0 14px 30px rgba(37,99,235,.08)}
.internal-premium-v167 .internal-contact.active{border-color:rgba(37,99,235,.52);background:linear-gradient(135deg,#eff6ff,#ffffff 74%);box-shadow:0 14px 34px rgba(37,99,235,.13)}
.internal-premium-v167 .internal-contact.active:before{background:#2563eb}
.internal-premium-v167 .internal-contact.has-unread:not(.active){background:linear-gradient(135deg,#fff,#f8fbff)}
.internal-premium-v167 .internal-contact-avatar,.internal-premium-v167 .internal-avatar{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#7c3aed);font-size:1.05rem;box-shadow:0 12px 24px rgba(37,99,235,.25)}
.internal-premium-v167 .internal-contact-avatar.group,.internal-premium-v167 .internal-avatar.group{background:linear-gradient(135deg,#0f172a,#2563eb)}
.internal-premium-v167 .internal-contact-main strong{font-size:.96rem;letter-spacing:-.015em;color:#0f172a}
.internal-premium-v167 .internal-contact-main small{font-size:.82rem;color:#64748b;-webkit-line-clamp:1;line-height:1.4}
.internal-contact-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:34px;color:#64748b;font-size:.78rem;white-space:nowrap}
.internal-contact-side time{font-weight:700;color:#64748b}
.internal-thread-shell{height:100%;min-height:680px;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#fbfdff)}
.internal-premium-v167 .internal-thread-head{margin:0;padding:20px 24px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.86);backdrop-filter:blur(8px);gap:14px}
.internal-premium-v167 .internal-thread-title{flex:1;min-width:0;gap:3px}
.internal-premium-v167 .internal-thread-title h3{font-size:1.12rem;letter-spacing:-.02em;color:#0f172a}
.internal-thread-menu{width:36px;height:36px;border:0;background:transparent;border-radius:12px;color:#0f172a;font-size:1.4rem;line-height:1;cursor:pointer}
.internal-thread-menu:hover{background:#f1f5f9}
.internal-premium-v167 .internal-member-chips span{background:#eef2ff;color:#3151a3;border:1px solid rgba(37,99,235,.08)}
.internal-premium-v167 .internal-thread-body{flex:1;height:auto;min-height:420px;overflow:auto;padding:24px 28px;background:radial-gradient(circle at 50% 0,rgba(37,99,235,.045),transparent 34%),linear-gradient(180deg,#fbfdff,#fff);border:0;border-radius:0;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
.internal-date-divider{display:flex;align-items:center;gap:14px;margin:2px 0 10px;color:#64748b;font-size:.82rem;font-weight:800}
.internal-date-divider:before,.internal-date-divider:after{content:"";height:1px;background:rgba(148,163,184,.28);flex:1}
.internal-date-divider span{background:#f8fafc;border:1px solid rgba(148,163,184,.15);border-radius:999px;padding:6px 14px;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.internal-premium-v167 .internal-bubble{max-width:min(62%,560px);border-radius:18px;padding:12px 15px;margin:2px 0;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 28px rgba(15,23,42,.06)}
.internal-premium-v167 .internal-bubble.theirs{background:#fff;align-self:flex-start;border-top-left-radius:8px}
.internal-premium-v167 .internal-bubble.mine{background:linear-gradient(135deg,#2563eb,#4f46e5);align-self:flex-end;border-top-right-radius:8px;color:#fff;border-color:rgba(37,99,235,.25);box-shadow:0 16px 32px rgba(37,99,235,.20)}
.internal-premium-v167 .internal-bubble-meta{margin-bottom:7px;font-size:.78rem;gap:7px;line-height:1.2}
.internal-premium-v167 .internal-bubble-meta strong{letter-spacing:.01em}
.internal-premium-v167 .internal-bubble.theirs .internal-bubble-meta strong{color:#1e293b}
.internal-premium-v167 .internal-bubble.theirs .internal-bubble-meta span{color:#64748b}
.internal-premium-v167 .internal-bubble.mine .internal-bubble-meta,.internal-premium-v167 .internal-bubble.mine .internal-bubble-meta strong,.internal-premium-v167 .internal-bubble.mine .internal-bubble-meta span,.internal-premium-v167 .internal-bubble.mine p{color:#fff}
.internal-premium-v167 .internal-bubble p{font-size:.94rem;line-height:1.55;color:#334155}
.internal-checks{margin-left:auto;color:rgba(255,255,255,.85);font-size:.8rem;font-weight:900}
.internal-premium-v167 .internal-composer{margin:0;padding:16px 22px 18px;border-top:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:block}
.internal-composer-box{display:grid;grid-template-columns:minmax(0,1fr) 38px 48px;align-items:center;gap:8px;min-height:58px;padding:7px 8px;border-radius:20px;border:1px solid rgba(148,163,184,.33);background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.internal-composer-box textarea{width:100%;min-height:44px;max-height:132px;height:44px;padding:12px 6px!important;border:0!important;background:transparent!important;box-shadow:none!important;resize:none!important;line-height:1.45;color:#0f172a;font-size:.95rem;overflow:auto}
.internal-composer-box textarea:focus{outline:0!important;border:0!important;box-shadow:none!important}
.internal-compose-icon{width:38px;height:38px;border:0;border-radius:14px;background:transparent;color:#64748b;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease}
.internal-compose-icon:hover{background:#f1f5f9;color:#2563eb}
.internal-send-btn{width:44px;height:44px;border:0;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:1.12rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 26px rgba(37,99,235,.25);transition:.18s ease}
.internal-send-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(37,99,235,.32)}
.internal-send-btn.is-busy{font-size:.74rem;width:auto;min-width:72px;padding:0 10px}
.internal-premium-v167 .internal-group-create{border-radius:20px;background:linear-gradient(180deg,#f8fbff,#fff);border-color:rgba(37,99,235,.18);box-shadow:0 16px 34px rgba(37,99,235,.08)}
.internal-premium-v167 .internal-group-create textarea{min-height:82px}
@media (max-width:1100px){.internal-premium-v167 .internal-workspace{grid-template-columns:minmax(280px,330px) minmax(0,1fr)}.internal-premium-v167 .internal-bubble{max-width:76%}}
@media (max-width:980px){.internal-premium-v167 .internal-workspace{grid-template-columns:1fr}.internal-premium-v167 .internal-contacts-panel,.internal-premium-v167 .internal-thread-panel,.internal-thread-shell{min-height:auto}.internal-premium-v167 .internal-thread-body{min-height:48vh}.internal-premium-v167 .internal-hero{padding:22px}.internal-premium-v167 .internal-hero-actions{width:100%;justify-content:flex-start}.internal-premium-v167 .internal-bubble{max-width:88%}.internal-toolbar-row{align-items:stretch}.internal-toolbar-actions{justify-content:flex-start}}
@media (max-width:640px){.internal-premium-v167 .internal-hero-actions{display:grid;grid-template-columns:1fr 1fr}.internal-premium-v167 .internal-hero-actions .badge{grid-column:1/-1;justify-content:center}.internal-premium-v167 .internal-contacts-panel{padding:14px}.internal-premium-v167 .internal-thread-head{padding:16px}.internal-premium-v167 .internal-thread-body{padding:16px 14px;gap:12px}.internal-premium-v167 .internal-bubble{max-width:94%;padding:11px 13px}.internal-premium-v167 .internal-composer{padding:12px}.internal-composer-box{grid-template-columns:minmax(0,1fr) 34px 42px;border-radius:18px}.internal-compose-icon{width:32px;height:32px}.internal-send-btn{width:40px;height:40px}.internal-composer-box textarea{font-size:.92rem}.internal-sidebar-title{gap:9px}.internal-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.internal-toolbar-actions .badge{grid-column:1/-1;justify-self:start}.internal-premium-compact .internal-action-btn-inline{width:100%;justify-content:center}}


/* V16.8 — Messagerie interne : hauteur stable + scroll du fil uniquement */
#view-internal-messages.view.active{
  display:flex!important;
  flex-direction:column;
  height:calc(100dvh - 78px);
  min-height:0;
  overflow:hidden;
}
#internal-messages-root{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  display:flex;
  flex-direction:column;
}
.internal-premium-v168{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.internal-premium-v168 .internal-hero{
  flex:0 0 auto;
}
.internal-premium-v168 .internal-workspace{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  align-items:stretch;
}
.internal-premium-v168 .internal-contacts-panel,
.internal-premium-v168 .internal-thread-panel{
  height:100%;
  min-height:0!important;
  max-height:100%;
  overflow:hidden;
}
.internal-premium-v168 .internal-contacts-panel{
  flex:1 1 auto;
}
.internal-premium-v168 .internal-contacts-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:6px;
}
.internal-premium-v168 .internal-thread-shell{
  height:100%;
  min-height:0!important;
  max-height:100%;
  overflow:hidden;
}
.internal-premium-v168 .internal-thread-head,
.internal-premium-v168 .internal-composer{
  flex:0 0 auto;
}
.internal-premium-v168 .internal-thread-body{
  flex:1 1 auto;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
}
.internal-premium-v168 .internal-thread-body::-webkit-scrollbar,
.internal-premium-v168 .internal-contacts-list::-webkit-scrollbar{
  width:8px;
}
.internal-premium-v168 .internal-thread-body::-webkit-scrollbar-track,
.internal-premium-v168 .internal-contacts-list::-webkit-scrollbar-track{
  background:rgba(226,232,240,.55);
  border-radius:999px;
}
.internal-premium-v168 .internal-thread-body::-webkit-scrollbar-thumb,
.internal-premium-v168 .internal-contacts-list::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.35);
  border-radius:999px;
}
.internal-premium-v168 .internal-thread-body::-webkit-scrollbar-thumb:hover,
.internal-premium-v168 .internal-contacts-list::-webkit-scrollbar-thumb:hover{
  background:rgba(37,99,235,.45);
}
.internal-premium-v168 .internal-composer-box{
  position:relative;
  z-index:1;
}
@media (max-width:1000px){
  #view-internal-messages.view.active{
    height:auto;
    min-height:calc(100dvh - 120px);
    overflow:visible;
  }
  .internal-premium-v168{
    height:auto;
    overflow:visible;
  }
  .internal-premium-v168 .internal-workspace{
    overflow:visible;
  }
  .internal-premium-v168 .internal-thread-panel,
  .internal-premium-v168 .internal-thread-shell{
    height:auto;
    min-height:560px!important;
  }
  .internal-premium-v168 .internal-thread-body{
    min-height:420px!important;
    max-height:55vh!important;
  }
}
@media (max-width:640px){
  .internal-premium-v168 .internal-thread-panel,
  .internal-premium-v168 .internal-thread-shell{
    min-height:520px!important;
  }
  .internal-premium-v168 .internal-thread-body{
    min-height:360px!important;
    max-height:52vh!important;
  }
}

/* AZALYS V17 — Juridique & Corporate interne */
.legal-view { min-height: calc(100vh - 120px); }
.legal-shell { display:flex; flex-direction:column; gap:18px; }
.legal-hero { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:24px; border:1px solid rgba(37,99,235,.12); border-radius:28px; background:linear-gradient(135deg,#ffffff 0%,#f8fbff 48%,#eef6ff 100%); box-shadow:0 18px 50px rgba(15,23,42,.08); }
.legal-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#2563eb; font-weight:800; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.legal-hero h3, .legal-detail-head h3 { margin:8px 0 6px; font-size:1.55rem; letter-spacing:-.03em; color:#0f172a; }
.legal-hero p, .legal-detail-head p { margin:0; color:#64748b; max-width:760px; line-height:1.55; }
.legal-rules { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.legal-rules span { display:inline-flex; padding:7px 10px; border-radius:999px; background:#fff; border:1px solid rgba(37,99,235,.12); color:#334155; font-weight:700; font-size:.78rem; }
.legal-hero-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.legal-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.legal-kpi { padding:16px; border-radius:22px; background:#fff; border:1px solid rgba(148,163,184,.18); box-shadow:0 12px 34px rgba(15,23,42,.06); }
.legal-kpi span { display:block; color:#64748b; font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.legal-kpi strong { display:block; margin-top:6px; color:#0f172a; font-size:1.35rem; letter-spacing:-.03em; }
.legal-kpi small { display:block; margin-top:4px; color:#94a3b8; font-weight:700; }
.legal-kpi.green { background:linear-gradient(180deg,#fff,#f0fdf4); }
.legal-kpi.blue { background:linear-gradient(180deg,#fff,#eff6ff); }
.legal-kpi.gold { background:linear-gradient(180deg,#fff,#fffbeb); }
.legal-layout { display:grid; grid-template-columns:360px minmax(0,1fr); gap:16px; min-height:650px; }
.legal-sidebar, .legal-detail { min-height:640px; border-radius:26px; border:1px solid rgba(148,163,184,.18); background:#fff; box-shadow:0 16px 44px rgba(15,23,42,.07); overflow:hidden; }
.legal-sidebar { display:flex; flex-direction:column; padding:14px; gap:12px; }
.legal-side-head { display:flex; align-items:center; justify-content:space-between; padding:6px 4px 2px; }
.legal-side-head strong { color:#0f172a; }
.legal-side-head span { background:#eff6ff; color:#2563eb; border-radius:999px; padding:4px 9px; font-weight:900; font-size:.75rem; }
.legal-case-list { overflow:auto; display:flex; flex-direction:column; gap:9px; padding-right:3px; }
.legal-case-item { width:100%; border:1px solid rgba(148,163,184,.18); background:#fff; border-radius:18px; padding:12px; display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; text-align:left; cursor:pointer; transition:.18s ease; }
.legal-case-item:hover { transform:translateY(-1px); box-shadow:0 12px 25px rgba(15,23,42,.08); }
.legal-case-item.active { border-color:rgba(37,99,235,.34); background:linear-gradient(135deg,#eff6ff,#fff); box-shadow:0 12px 25px rgba(37,99,235,.11); }
.legal-case-avatar { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; font-weight:900; }
.legal-case-main { min-width:0; display:flex; flex-direction:column; gap:3px; }
.legal-case-main b { color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.legal-case-main small, .legal-case-meta em { color:#64748b; font-style:normal; font-size:.78rem; }
.legal-case-meta { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.legal-warn { min-width:22px; height:22px; border-radius:999px; display:grid; place-items:center; background:#fef3c7; color:#b45309; font-weight:900; font-style:normal; font-size:.75rem; }
.legal-progress { height:6px; border-radius:999px; background:#e2e8f0; overflow:hidden; display:block; margin-top:5px; }
.legal-progress i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#2563eb,#22c55e); }
.legal-progress.big { height:8px; margin:10px 0 6px; }
.legal-detail { overflow:auto; background:linear-gradient(180deg,#fff,#f8fafc); }
.legal-detail-inner { padding:18px; display:flex; flex-direction:column; gap:16px; }
.legal-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px; border-radius:22px; background:#fff; border:1px solid rgba(148,163,184,.16); }
.legal-status-stack { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.legal-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.legal-summary-card { padding:14px; border-radius:20px; background:#fff; border:1px solid rgba(148,163,184,.16); }
.legal-summary-card span { color:#64748b; font-weight:800; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }
.legal-summary-card strong { display:block; margin-top:6px; color:#0f172a; font-size:1.12rem; }
.legal-summary-card small { color:#94a3b8; font-weight:700; }
.legal-alert-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.legal-alert { border-radius:16px; padding:11px 13px; font-weight:800; font-size:.85rem; }
.legal-alert.ok { background:#ecfdf5; color:#047857; border:1px solid rgba(16,185,129,.2); }
.legal-alert.warn { background:#fffbeb; color:#b45309; border:1px solid rgba(245,158,11,.25); }
.legal-actions-bar { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:14px; border-radius:20px; background:#0f172a; color:#fff; }
.legal-actions-bar .muted { color:#cbd5e1; }
.legal-two-cols { display:grid; grid-template-columns:1.08fr .92fr; gap:14px; align-items:start; }
.legal-panel { background:#fff; border:1px solid rgba(148,163,184,.16); border-radius:24px; padding:14px; box-shadow:0 12px 30px rgba(15,23,42,.05); }
.legal-panel-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.legal-panel-head h4 { margin:0; color:#0f172a; }
.legal-panel-head span { background:#f1f5f9; color:#475569; border-radius:999px; padding:4px 9px; font-weight:900; font-size:.75rem; }
.legal-steps { display:flex; flex-direction:column; gap:10px; max-height:720px; overflow:auto; padding-right:4px; }
.legal-step { border:1px solid rgba(148,163,184,.18); border-radius:18px; padding:12px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; background:#fff; }
.legal-step.done { background:linear-gradient(135deg,#f0fdf4,#fff); border-color:rgba(34,197,94,.24); }
.legal-step-main { display:flex; align-items:center; gap:10px; min-width:0; }
.legal-step-no { width:30px; height:30px; border-radius:11px; background:#eff6ff; color:#2563eb; font-weight:900; display:grid; place-items:center; flex:0 0 auto; }
.legal-step-main b { display:block; color:#0f172a; }
.legal-step-main small { color:#64748b; font-weight:700; }
.legal-step-checks { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.legal-step-checks span { border-radius:999px; padding:5px 8px; font-size:.75rem; font-weight:900; }
.legal-step-checks .ok { background:#ecfdf5; color:#047857; }
.legal-step-checks .miss { background:#fef3c7; color:#b45309; }
.legal-step-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.legal-mini-form { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; border-radius:18px; background:#f8fafc; border:1px solid rgba(148,163,184,.16); margin-bottom:10px; }
.legal-mini-form h5 { grid-column:1/-1; margin:0 0 4px; color:#0f172a; }
.legal-mini-form button { justify-content:center; }
.legal-upload { background:#fff7ed; }
.legal-lists { display:flex; flex-direction:column; gap:8px; }
.legal-lists h5 { margin:10px 2px 2px; color:#334155; }
.legal-line { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid rgba(148,163,184,.14); border-radius:16px; padding:10px 12px; background:#fff; }
.legal-line b { display:block; color:#0f172a; }
.legal-line small { display:block; color:#64748b; margin-top:2px; }
.legal-line strong { white-space:nowrap; }
.legal-line.doc { background:#f8fafc; }
.legal-empty { min-height:520px; display:grid; place-items:center; text-align:center; color:#64748b; }
.legal-empty span { font-size:3rem; }
.legal-empty h3 { margin:.5rem 0 .25rem; color:#0f172a; }
.legal-modal-card .alert.info { background:#eff6ff; border-color:rgba(37,99,235,.18); color:#334155; }
.empty.mini { padding:12px; border-radius:16px; background:#f8fafc; color:#94a3b8; font-weight:700; }
@media (max-width: 1180px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-sidebar { min-height:auto; max-height:420px; }
  .legal-detail-grid, .legal-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-two-cols { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .legal-hero, .legal-detail-head, .legal-actions-bar { flex-direction:column; align-items:stretch; }
  .legal-kpis, .legal-detail-grid, .legal-alert-row { grid-template-columns:1fr; }
  .legal-step { grid-template-columns:1fr; }
  .legal-step-checks, .legal-step-actions { justify-content:flex-start; }
  .legal-mini-form { grid-template-columns:1fr; }
}

/* AZALYS V17.1 — Juridique : clients internes, externes et sociétés en création */
.legal-party-mode { padding:14px; border:1px solid rgba(37,99,235,.14); border-radius:18px; background:linear-gradient(135deg,#f8fbff,#fff); }
.legal-party-mode .form-label { display:block; margin-bottom:8px; color:#0f172a; font-weight:900; }
.legal-radio-row { display:flex; flex-wrap:wrap; gap:9px; }
.legal-radio-row label { display:inline-flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid rgba(148,163,184,.24); border-radius:999px; background:#fff; color:#334155; font-weight:800; cursor:pointer; }
.legal-radio-row input { accent-color:#2563eb; }
@media (max-width: 760px){ .legal-radio-row { flex-direction:column; align-items:stretch; } .legal-radio-row label { border-radius:14px; } }


/* AZALYS v17.6 — adaptation automatique à l'affichage du PC */
html{-webkit-text-size-adjust:100%;}
body{min-width:320px;overflow-x:hidden;}
.main-shell{
  grid-template-columns:clamp(220px,16vw,280px) minmax(0,1fr);
}
.side{
  width:100%;
  min-width:0;
}
.side-nav{
  gap:6px;
}
.nav-btn{
  min-height:44px;
  display:flex;
  align-items:center;
}
.main{
  min-width:0;
  width:100%;
}
.topbar{
  min-height:72px;
  padding:clamp(12px,1.4vw,20px) clamp(16px,2vw,28px);
  gap:16px;
}
.topbar h2{
  font-size:clamp(20px,1.8vw,28px);
}
.view{
  width:100%;
  max-width:1680px;
  margin:0 auto;
  padding:clamp(16px,1.8vw,28px);
}
.hero{
  padding:clamp(20px,2vw,30px);
}
.hero h1{
  font-size:clamp(24px,2.2vw,34px);
}
.kpi-grid,
.modules-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.grid.two{
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
}
.panel-tools{
  grid-template-columns:minmax(220px,1fr) repeat(3,minmax(160px,220px));
}
.form-grid.three{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.module-checks{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.table-wrap{max-width:100%;}
.card,.kpi,.module-card,.hero{max-width:100%;}
@media(min-width:1500px){
  .main-shell{grid-template-columns:clamp(236px,15vw,292px) minmax(0,1fr);}
  .topbar{padding-inline:28px;}
  .view{max-width:1760px;}
  .home-module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
}
@media(max-width:1200px){
  .panel-tools{grid-template-columns:repeat(2,minmax(220px,1fr));}
}
@media(max-width:1000px){
  .main-shell{grid-template-columns:1fr;}
  .side{position:relative;height:auto;}
  .side-nav{flex-direction:row;overflow:auto;padding-bottom:10px;}
  .nav-btn{white-space:nowrap;}
  .panel-tools{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .panel-tools,
  .grid.two,
  .kpi-grid,
  .modules-grid,
  .module-checks,
  .form-grid.three{grid-template-columns:1fr;}
  .view{padding:16px;}
}


/* AZALYS v17.11 — icône flottante messages client visible + badge non lu */
.client-chat-floating{
  right:96px!important;
  bottom:26px!important;
  z-index:1510!important;
}
.client-chat-btn{
  width:62px!important;
  height:62px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#0f766e 0%,#2563eb 55%,#4f46e5 100%)!important;
  box-shadow:0 18px 46px rgba(37,99,235,.34),0 0 0 1px rgba(255,255,255,.28) inset!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.client-chat-btn::after{
  content:"Messages";
  position:absolute;
  right:70px;
  top:50%;
  transform:translateY(-50%);
  padding:7px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.88);
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
  box-shadow:0 12px 26px rgba(15,23,42,.18);
}
.client-chat-btn:hover::after,
.client-chat-floating.has-unread .client-chat-btn::after{
  opacity:1;
}
.client-chat-glow{
  inset:-10px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(20,184,166,.28),rgba(79,70,229,.25))!important;
  filter:blur(9px)!important;
}
.client-chat-face{
  width:38px;
  height:38px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:25px!important;
  line-height:1;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.client-chat-badge{
  right:-7px!important;
  top:-8px!important;
  min-width:25px!important;
  height:25px!important;
  border:3px solid #fff!important;
  background:#ef4444!important;
  font-size:11px!important;
  box-shadow:0 10px 24px rgba(239,68,68,.44)!important;
}
.client-chat-floating.has-unread .client-chat-btn{
  animation:clientUnreadPulse 1.45s ease-in-out infinite;
}
.client-chat-floating.has-unread .client-chat-glow{
  background:linear-gradient(135deg,rgba(239,68,68,.34),rgba(37,99,235,.30))!important;
}
.client-chat-floating.has-unread .client-chat-btn::before{
  content:"Nouveau";
  position:absolute;
  right:0;
  bottom:68px;
  padding:7px 10px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  box-shadow:0 12px 28px rgba(239,68,68,.32);
  white-space:nowrap;
}
.client-chat-avatar{
  background:linear-gradient(135deg,#ccfbf1,#dbeafe)!important;
  font-size:21px;
}
@keyframes clientUnreadPulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 18px 46px rgba(37,99,235,.34),0 0 0 0 rgba(239,68,68,.42);}
  50%{transform:translateY(-2px) scale(1.04);box-shadow:0 24px 58px rgba(37,99,235,.42),0 0 0 8px rgba(239,68,68,0);}
}
@media(max-width:720px){
  .client-chat-floating{
    right:88px!important;
    bottom:18px!important;
  }
  .client-chat-btn::after,
  .client-chat-floating.has-unread .client-chat-btn::before{
    display:none!important;
  }
}


/* AZALYS v17.38 — AI panel lighter + messages icon premium */
.ai-floating-panel{
  width:min(368px,calc(100vw - 28px))!important;
}
.ai-floating-head{
  padding:12px 14px 10px 14px!important;
}
.ai-head-left strong{font-size:14px!important;}
.ai-head-left span{font-size:11px!important;}
.ai-avatar{
  width:40px!important;height:40px!important;border-radius:14px!important;
}
.ai-floating-context{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:10px 12px!important;
}
.ai-context-chip{
  padding:8px 6px!important;
  border-radius:14px!important;
}
.ai-context-chip strong{font-size:14px!important;}
.ai-context-chip span{font-size:9px!important;margin-top:2px!important;}
.ai-agent-strip{
  grid-column:1/-1;
  display:flex!important;
  gap:8px;
  overflow:auto;
  padding-top:2px;
  scrollbar-width:thin;
}
.ai-agent-chip{
  flex:0 0 auto;
  min-width:auto!important;
  padding:8px 10px!important;
  border-radius:16px!important;
}
.ai-agent-chip strong{font-size:12px!important;}
.ai-agent-chip span{font-size:15px!important;}
.ai-floating-chat{
  padding:12px!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}
.ai-welcome-card{
  padding:14px 15px!important;
  border-radius:18px!important;
}
.ai-welcome-card strong{font-size:14px!important;}
.ai-welcome-card p{font-size:13px!important;line-height:1.45!important;margin-top:6px!important;}
.ai-float-msg{
  max-width:92%!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.ai-floating-quick{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;
  padding:10px 12px!important;
}
.ai-floating-quick .btn{
  width:100%;
  justify-content:center;
  padding:9px 10px!important;
  border-radius:14px!important;
  font-size:12px!important;
}
.ai-floating-compose{
  grid-template-columns:minmax(0,1fr) 96px!important;
  padding:10px 12px!important;
}
.ai-floating-compose textarea{
  min-height:44px!important;
  max-height:84px!important;
  font-size:13px!important;
}
.ai-floating-compose .btn{
  min-height:44px!important;
  border-radius:14px!important;
}
.ai-floating-note{
  padding:0 12px 10px!important;
  font-size:10px!important;
  line-height:1.35!important;
}

/* Cabinet messages floating button aligned with client-space style */
.cabinet-chat-floating{
  right:96px!important;
  bottom:26px!important;
  z-index:1510!important;
}
.cabinet-chat-btn{
  width:62px!important;
  height:62px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#0f766e 0%,#2563eb 55%,#4f46e5 100%)!important;
  box-shadow:0 18px 46px rgba(37,99,235,.34),0 0 0 1px rgba(255,255,255,.28) inset!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.cabinet-chat-btn::after{
  content:"Messages";
  position:absolute;
  right:70px;
  top:50%;
  transform:translateY(-50%);
  padding:7px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.88);
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
  box-shadow:0 12px 26px rgba(15,23,42,.18);
}
.cabinet-chat-btn:hover::after,
.cabinet-chat-floating.has-unread .cabinet-chat-btn::after{opacity:1;}
.cabinet-chat-glow{
  inset:-10px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(20,184,166,.28),rgba(79,70,229,.25))!important;
  filter:blur(9px)!important;
}
.cabinet-chat-face{
  width:38px;
  height:38px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-size:25px!important;
  line-height:1;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.cabinet-chat-badge{
  right:-7px!important;
  top:-8px!important;
  min-width:25px!important;
  height:25px!important;
  border:3px solid #fff!important;
  background:#ef4444!important;
  font-size:11px!important;
  box-shadow:0 10px 24px rgba(239,68,68,.44)!important;
}
.cabinet-chat-avatar{
  background:linear-gradient(135deg,#ccfbf1,#dbeafe)!important;
  font-size:21px;
}
.cabinet-chat-floating.has-unread .cabinet-chat-btn{animation:clientUnreadPulse 1.45s ease-in-out infinite;}
.cabinet-chat-floating.has-unread .cabinet-chat-glow{background:linear-gradient(135deg,rgba(239,68,68,.34),rgba(37,99,235,.30))!important;}
.cabinet-chat-floating.has-unread .cabinet-chat-btn::before{
  content:"Nouveau";
  position:absolute;
  right:0;
  bottom:68px;
  padding:7px 10px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:1000;
  box-shadow:0 12px 28px rgba(239,68,68,.32);
  white-space:nowrap;
}

@media(max-width:720px){
  .ai-floating{right:16px!important;bottom:16px!important;}
  .ai-floating-panel{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:82px!important;
    width:auto!important;
    border-radius:20px!important;
  }
  .ai-floating-head{padding:10px 11px 9px 11px!important;}
  .ai-avatar{width:34px!important;height:34px!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:8px 10px!important;gap:7px!important;}
  .ai-context-chip{padding:7px 4px!important;}
  .ai-context-chip strong{font-size:13px!important;}
  .ai-context-chip span{font-size:8px!important;}
  .ai-agent-strip{gap:7px!important; padding-top:0!important;}
  .ai-agent-chip{padding:7px 9px!important;border-radius:14px!important;}
  .ai-agent-chip strong{font-size:11px!important;}
  .ai-floating-chat{padding:10px!important;}
  .ai-welcome-card{padding:12px 13px!important;}
  .ai-welcome-card p{font-size:12px!important;}
  .ai-float-msg{font-size:12.5px!important;line-height:1.5!important;max-width:96%!important;}
  .ai-floating-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;overflow:visible!important;}
  .ai-floating-quick .btn{font-size:11px!important;min-height:36px!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:9px 10px!important;}
  .ai-floating-compose textarea{min-height:42px!important;max-height:74px!important;}
  .ai-floating-note{display:none!important;}

  .cabinet-chat-floating{right:88px!important;bottom:18px!important;}
  .cabinet-chat-btn::after,
  .cabinet-chat-floating.has-unread .cabinet-chat-btn::before{display:none!important;}
}


/* AZALYS v17.39 — Dashboard uses same Missions & tâches source */
.dashboard-task-item.has-risk{
  border-left:4px solid #ef4444;
}
.dashboard-task-item .item-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.dashboard-user-load.has-risk{
  border:1px solid #fecaca;
  background:linear-gradient(180deg,#fff,#fff7f7);
  border-radius:14px;
  padding:9px 10px;
}


/* ============================================================================
   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;}
}


/* V17.50 — Demandes IA : cockpit de suivi ultra premium */
.ai-tasks-view{min-height:calc(100vh - 140px)}
.ai-monitor-shell{display:grid;gap:18px;animation:premiumFadeUp .35s ease both}
.ai-monitor-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px;border:1px solid rgba(34,211,238,.22);border-radius:28px;background:radial-gradient(circle at 10% 0%,rgba(34,211,238,.18),transparent 36%),radial-gradient(circle at 100% 20%,rgba(124,58,237,.18),transparent 34%),linear-gradient(135deg,rgba(15,23,42,.98),rgba(17,24,39,.94));box-shadow:0 24px 70px rgba(15,23,42,.18);color:#f8fafc}
.ai-monitor-hero h2{margin:4px 0 8px;font-size:clamp(1.6rem,3vw,2.55rem);letter-spacing:-.04em;color:#fff}
.ai-monitor-hero p{max-width:820px;margin:0;color:rgba(226,232,240,.82);line-height:1.65}
.ai-monitor-orb{width:92px;height:92px;border-radius:28px;display:grid;place-items:center;font-size:40px;background:linear-gradient(135deg,rgba(103,232,249,.95),rgba(191,219,254,.95));box-shadow:0 18px 55px rgba(34,211,238,.28),inset 0 1px 0 rgba(255,255,255,.55)}
.ai-monitor-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ai-monitor-kpis article{padding:18px 20px;border-radius:22px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,250,252,.9));box-shadow:0 16px 45px rgba(15,23,42,.08)}
.ai-monitor-kpis strong{display:block;font-size:2rem;letter-spacing:-.04em;color:#0f172a}.ai-monitor-kpis span{display:block;font-weight:800;color:#334155}.ai-monitor-kpis small{color:#64748b}
.ai-monitor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:22px;border:1px solid rgba(148,163,184,.2);background:rgba(255,255,255,.78);backdrop-filter:blur(18px)}
.ai-monitor-chips{display:flex;gap:8px;flex-wrap:wrap}.ai-monitor-chips button{border:1px solid rgba(148,163,184,.28);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#334155;cursor:pointer}.ai-monitor-chips button.active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 10px 30px rgba(15,23,42,.18)}.ai-monitor-chips b{margin-left:6px;opacity:.8}
.ai-monitor-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 16px;border-radius:20px;background:linear-gradient(90deg,rgba(34,211,238,.09),rgba(124,58,237,.08));border:1px dashed rgba(14,165,233,.28);color:#334155;font-weight:800}.ai-monitor-flow span{padding:8px 12px;border-radius:999px;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.06)}.ai-monitor-flow i{color:#0284c7;font-style:normal}
.ai-task-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.ai-task-card{position:relative;overflow:hidden;display:grid;gap:14px;padding:18px;border-radius:24px;background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 50px rgba(15,23,42,.09)}.ai-task-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:#94a3b8}.ai-task-card.status-pending:before{background:#f59e0b}.ai-task-card.status-processing:before{background:#0ea5e9}.ai-task-card.status-done:before{background:#10b981}.ai-task-card.status-error:before{background:#ef4444}.ai-task-card-top,.ai-task-main,.ai-task-foot{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ai-task-status{display:inline-flex;gap:8px;align-items:center;padding:8px 11px;border-radius:999px;font-size:.86rem;background:#f1f5f9;color:#334155}.ai-task-status.pending{background:#fffbeb;color:#92400e}.ai-task-status.processing{background:#eff6ff;color:#1d4ed8}.ai-task-status.done{background:#ecfdf5;color:#047857}.ai-task-status.error{background:#fef2f2;color:#b91c1c}.ai-task-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#94a3b8;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-task-main h3{margin:0;color:#0f172a;letter-spacing:-.02em}.ai-task-main p,.ai-task-dates{margin:3px 0 0;color:#64748b}.ai-task-dates{display:grid;text-align:right;font-size:.78rem}.ai-task-body{max-height:190px;overflow:auto;padding:13px 14px;border-radius:18px;background:#f8fafc;color:#334155;line-height:1.55;border:1px solid rgba(226,232,240,.8)}.ai-task-attempts{min-width:140px}.ai-task-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:5px}.ai-task-progress span{display:block;height:100%;background:linear-gradient(90deg,#22d3ee,#2563eb);border-radius:inherit}.ai-task-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ai-monitor-loading{padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(148,163,184,.18);color:#64748b;font-weight:700}
@media(max-width:900px){.ai-monitor-hero,.ai-monitor-toolbar,.ai-task-card-top,.ai-task-main,.ai-task-foot{flex-direction:column}.ai-monitor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-task-list{grid-template-columns:1fr}.ai-task-dates{text-align:left}.ai-monitor-orb{width:72px;height:72px}}

/* AZALYS V5.3 — Poste de travail opérationnel */
.azalys-simple-nav .nav-advanced {
  opacity: .72;
  font-size: .9rem;
}
.workbox-view { display: none; }
.workbox-view.active { display: block; }
.workbox-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  overflow: hidden;
  position: relative;
}
.workbox-hero::after {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  top: -90px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37,99,235,.16), transparent 64%);
  pointer-events: none;
}
.workbox-hero h3 { margin: 4px 0 6px; font-size: clamp(1.35rem, 2vw, 2rem); }
.workbox-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; position: relative; z-index: 1; }
.workbox-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.workbox-kpi {
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 42px rgba(15,23,42,.06);
  padding: 14px;
  display: grid;
  gap: 3px;
}
.workbox-kpi span { font-size: 1.25rem; }
.workbox-kpi strong { font-size: 1.6rem; line-height: 1; color: #0f172a; }
.workbox-kpi small { font-weight: 800; color: #334155; }
.workbox-kpi em { font-style: normal; color: #64748b; font-size: .82rem; }
.workbox-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px 180px;
  gap: 12px;
  margin-bottom: 14px;
}
.workbox-list { display: grid; gap: 12px; }
.workbox-item {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 42px rgba(15,23,42,.07);
  padding: 14px;
  position: relative;
  overflow: hidden;
}
.workbox-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: #94a3b8;
}
.workbox-item.priority-danger::before { background: #dc2626; }
.workbox-item.priority-warning::before { background: #d97706; }
.workbox-item.priority-normal::before { background: #2563eb; }
.workbox-item.priority-muted::before { background: #64748b; }
.workbox-item-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: #f8fafc;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 1px rgba(148,163,184,.22);
}
.workbox-item-main { min-width: 0; }
.workbox-item-top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.workbox-item h3 { margin: 0; font-size: 1rem; color: #0f172a; }
.workbox-item p { margin: 5px 0 8px; color: #475569; line-height: 1.35; }
.workbox-status {
  border-radius: 999px;
  padding: 5px 9px;
  background: #eef2ff;
  color: #3730a3;
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
}
.workbox-meta { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.workbox-meta span, .workbox-priority {
  border-radius: 999px;
  padding: 4px 8px;
  background: #f1f5f9;
  color: #475569;
  font-size: .75rem;
  font-weight: 700;
}
.workbox-priority.danger { background: #fee2e2; color: #991b1b; }
.workbox-priority.warning { background: #fef3c7; color: #92400e; }
.workbox-priority.normal { background: #dbeafe; color: #1d4ed8; }
.workbox-actions { display: flex; gap: 8px; align-items: center; }
.btn.compact { padding: 8px 12px; border-radius: 12px; }
@media (max-width: 1100px) {
  .workbox-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workbox-toolbar { grid-template-columns: 1fr; }
  .workbox-item { grid-template-columns: 44px minmax(0, 1fr); }
  .workbox-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 720px) {
  .workbox-hero { align-items: stretch; flex-direction: column; }
  .workbox-hero-actions { justify-content: stretch; }
  .workbox-hero-actions .btn { flex: 1 1 auto; }
  .workbox-kpis { grid-template-columns: 1fr; }
  .workbox-item { grid-template-columns: 1fr; }
  .workbox-item-icon { width: 42px; height: 42px; }
}

/* AZALYS V5.1.1 - interface simplifiée : fonctions techniques masquées, mais les icônes flottantes messages clients et internes restent visibles. */
.top-actions #btn-import-json,
.top-actions #btn-export,
.top-actions #btn-new-dossier,
.side-footer #btn-health,
.side-nav .nav-advanced,
.side-nav .admin-technical-only,
#ai-local-config,
#ai-floating-go-dashboard,
#ai-supervise-current,
#ai-audit-current,
.cockpit-modules{
  display:none!important;
}

.azalys-simple-nav .nav-btn{min-height:44px;}
.workbox-hero-actions{justify-content:flex-end;}
.workbox-toolbar{grid-template-columns:minmax(280px,1fr) 180px 180px;}
.ai-floating{right:22px!important;bottom:22px!important;}
.ai-floating-quick{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
@media(max-width:860px){.workbox-toolbar{grid-template-columns:1fr}.ai-floating-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.side-nav .client-only[data-view="client-advanced"]{display:none!important;}

/* V5.2 — Poste de travail opérationnel AZALYS */
.workstation-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px 26px;
  border:1px solid rgba(37,99,235,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,246,255,.94));
  box-shadow:0 22px 65px rgba(15,23,42,.08);
  position:relative;
  overflow:hidden;
}
.workstation-hero::after {
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.16),transparent 68%);
}
.workstation-hero h3 { margin:4px 0 6px; font-size:clamp(1.35rem,2vw,2rem); color:#0f172a; }
.workstation-shell {
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(420px,1fr) minmax(260px,330px);
  gap:16px;
  align-items:start;
  margin-top:16px;
}
.workstation-queue,
.workstation-desk,
.workstation-console {
  border:1px solid rgba(148,163,184,.28);
  box-shadow:0 22px 60px rgba(15,23,42,.07);
}
.workstation-queue,
.workstation-console { position:sticky; top:86px; max-height:calc(100vh - 110px); overflow:auto; }
.workstation-queue-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:12px; }
.workstation-queue-head strong { display:block; font-size:1rem; color:#0f172a; }
.workstation-queue-head span { display:block; margin-top:3px; font-size:.82rem; }
.workstation-toolbar {
  display:grid !important;
  grid-template-columns:1fr 108px 108px !important;
  gap:8px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  margin-bottom:12px;
}
.workstation-toolbar .control { min-height:42px; border-radius:13px; font-size:.9rem; }
.workbox-queue-list { gap:10px; }
.workbox-queue-item {
  grid-template-columns:42px minmax(0,1fr);
  padding:13px;
  border-radius:18px;
  cursor:pointer;
  box-shadow:none;
  border:1px solid rgba(148,163,184,.24);
}
.workbox-queue-item:hover { transform:translateY(-1px); border-color:rgba(37,99,235,.28); box-shadow:0 14px 34px rgba(15,23,42,.08); }
.workbox-queue-item.is-selected { border-color:rgba(37,99,235,.55); background:linear-gradient(135deg,#fff,#eff6ff); box-shadow:0 16px 38px rgba(37,99,235,.12); }
.workbox-queue-item .workbox-item-icon { width:40px; height:40px; font-size:1rem; }
.workbox-queue-item h3 { font-size:.94rem; line-height:1.2; }
.workbox-queue-item p { font-size:.84rem; max-height:2.45em; overflow:hidden; }
.workbox-queue-item .workbox-status { font-size:.68rem; white-space:nowrap; }
.workstation-desk { min-height:640px; padding:22px; }
.workstation-desk-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }
.workstation-desk-head h2 { margin:8px 0 0; color:#0f172a; font-size:1.45rem; line-height:1.18; }
.workstation-pill { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:7px 11px; font-weight:900; font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; }
.workstation-pill.danger { background:#fee2e2; color:#991b1b; }
.workstation-pill.warning { background:#fef3c7; color:#92400e; }
.workstation-pill.normal { background:#dbeafe; color:#1d4ed8; }
.workstation-pill.muted { background:#f1f5f9; color:#475569; }
.workbox-status.big { font-size:.8rem; padding:8px 10px; }
.workstation-context-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0 18px; }
.workstation-context-grid article { border:1px solid rgba(148,163,184,.25); border-radius:16px; padding:12px; background:#f8fafc; min-width:0; }
.workstation-context-grid span { display:block; font-size:.72rem; color:#64748b; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.workstation-context-grid strong { display:block; margin-top:5px; color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.workstation-preview { border:1px solid rgba(148,163,184,.28); border-radius:20px; overflow:hidden; background:#fff; margin:16px 0; }
.workstation-preview-head { display:flex; justify-content:space-between; align-items:center; padding:11px 14px; background:#f8fafc; border-bottom:1px solid rgba(148,163,184,.22); }
.workstation-preview-head a { color:#2563eb; font-weight:900; text-decoration:none; }
.workstation-preview iframe { width:100%; height:440px; border:0; background:#f8fafc; display:block; }
.workstation-note { border:1px solid rgba(148,163,184,.28); border-radius:18px; padding:16px; margin:16px 0; background:#f8fafc; }
.workstation-note.danger { background:#fff7ed; border-color:rgba(217,119,6,.25); }
.workstation-note strong { display:block; color:#0f172a; margin-bottom:8px; }
.workstation-note p { margin:0; color:#334155; line-height:1.5; }
.workstation-steps { margin-top:18px; padding:16px; border-radius:18px; background:linear-gradient(135deg,#f8fafc,#eef2ff); border:1px solid rgba(148,163,184,.22); }
.workstation-steps strong { display:block; color:#0f172a; margin-bottom:8px; }
.workstation-steps ol { margin:0; padding-left:20px; color:#334155; }
.workstation-steps li { margin:6px 0; line-height:1.38; }
.workstation-console { padding:18px; }
.workstation-console h3 { margin:0 0 8px; color:#0f172a; }
.workstation-action-stack { display:grid; gap:9px; margin:14px 0; }
.workstation-action-stack .btn { width:100%; justify-content:center; }
.btn.success { background:#16a34a; color:#fff; border-color:#16a34a; }
.btn.success:hover { filter:brightness(.96); }
.workstation-reply { margin:14px 0; }
.workstation-reply label { display:block; font-size:.78rem; font-weight:900; color:#475569; margin-bottom:6px; }
.workstation-reply textarea { width:100%; border:1px solid rgba(148,163,184,.38); border-radius:14px; padding:10px; resize:vertical; font:inherit; min-height:96px; }
.workstation-ai-nudge { margin-top:16px; padding:14px; border-radius:18px; background:#f8fafc; border:1px solid rgba(148,163,184,.25); display:grid; gap:8px; }
.workstation-ai-nudge strong { color:#0f172a; }
.workstation-ai-nudge span { color:#64748b; font-size:.86rem; line-height:1.35; }
.workstation-empty { min-height:420px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:8px; color:#64748b; }
.workstation-empty div { font-size:3rem; }
.workstation-empty strong { color:#0f172a; font-size:1.15rem; }
@media(max-width:1320px){
  .workstation-shell { grid-template-columns:330px minmax(0,1fr); }
  .workstation-console { grid-column:2; position:static; max-height:none; }
  .workstation-queue { max-height:calc(100vh - 110px); }
}
@media(max-width:980px){
  .workstation-shell { grid-template-columns:1fr; }
  .workstation-queue,.workstation-console { position:static; max-height:none; }
  .workstation-context-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workstation-preview iframe { height:360px; }
  .workstation-toolbar { grid-template-columns:1fr !important; }
}
@media(max-width:620px){
  .workstation-hero { flex-direction:column; align-items:stretch; }
  .workstation-context-grid { grid-template-columns:1fr; }
  .workstation-desk { min-height:420px; padding:16px; }
  .workstation-preview iframe { height:300px; }
}

/* V5.3 — Poste de travail réinventé : couloirs, prise en charge, timeline */
.workstation-lanes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
}
.workstation-lane{
  border:1px solid rgba(148,163,184,.24);
  background:linear-gradient(135deg,#fff,#f8fafc);
  border-radius:15px;
  padding:9px 10px;
  min-height:62px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
  transition:.16s ease;
  text-align:left;
}
.workstation-lane:hover{ transform:translateY(-1px); border-color:rgba(37,99,235,.28); }
.workstation-lane.is-active{ border-color:rgba(37,99,235,.58); background:linear-gradient(135deg,#eff6ff,#fff); box-shadow:0 14px 30px rgba(37,99,235,.12); }
.workstation-lane span{ font-size:1.1rem; }
.workstation-lane strong{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; color:#0f172a; }
.workstation-lane em{ font-style:normal; min-width:24px; min-height:24px; display:inline-grid; place-items:center; border-radius:999px; background:#e2e8f0; color:#0f172a; font-weight:900; font-size:.72rem; }
.workstation-lane.is-active em{ background:#2563eb; color:#fff; }
.workbox-nextline{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:5px 0 8px; }
.workbox-nextline>span,.workbox-claim{ display:inline-flex; align-items:center; border-radius:999px; padding:4px 8px; font-size:.72rem; font-weight:900; }
.workbox-nextline>span{ background:#f1f5f9; color:#475569; }
.workbox-claim.free{ background:#ecfdf5; color:#047857; }
.workbox-claim.mine{ background:#dbeafe; color:#1d4ed8; }
.workbox-claim.busy{ background:#fef3c7; color:#92400e; }
.workstation-mission-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 16px;
}
.workstation-mission-strip article{
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  padding:13px;
  background:linear-gradient(135deg,#f8fafc,#fff);
  min-width:0;
}
.workstation-mission-strip span{ font-size:1.25rem; display:block; margin-bottom:5px; }
.workstation-mission-strip strong{ display:block; color:#0f172a; font-size:.86rem; margin-bottom:3px; }
.workstation-mission-strip em{ display:block; color:#64748b; font-size:.78rem; line-height:1.32; font-style:normal; }
.workstation-decision-card{
  border:1px solid rgba(37,99,235,.18);
  border-radius:18px;
  padding:13px;
  background:linear-gradient(135deg,#eff6ff,#fff);
  margin:12px 0;
}
.workstation-decision-card span{ display:block; color:#64748b; font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:.68rem; margin-bottom:5px; }
.workstation-decision-card strong{ display:block; color:#0f172a; line-height:1.35; }
.workstation-timeline{
  margin-top:16px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:20px;
  background:#fff;
  padding:14px;
}
.workstation-timeline>strong{ display:block; color:#0f172a; margin-bottom:10px; }
.workstation-timeline article{
  position:relative;
  padding:10px 0 10px 16px;
  border-left:2px solid rgba(37,99,235,.18);
}
.workstation-timeline article::before{
  content:'';
  position:absolute;
  left:-5px;
  top:16px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#2563eb;
}
.workstation-timeline article+article{ border-top:1px solid rgba(148,163,184,.16); }
.workstation-timeline span{ display:block; color:#94a3b8; font-size:.72rem; font-weight:800; }
.workstation-timeline b{ display:block; color:#0f172a; margin:2px 0; }
.workstation-timeline p{ margin:0; color:#475569; line-height:1.38; font-size:.86rem; }
.workstation-timeline em{ display:block; margin-top:4px; color:#64748b; font-size:.75rem; font-style:normal; }
.workstation-timeline.empty p{ margin:0; }
.workstation-console .workstation-reply textarea#workbox-action-note{ min-height:118px; }
@media(max-width:1280px){
  .workstation-lanes{grid-template-columns:1fr;}
  .workstation-mission-strip{grid-template-columns:1fr;}
}

/* AZALYS V5.4 — Accueil poste de travail journalisé */
.journal-workstation-view{display:none;}
.journal-workstation-view.active{display:block;}
.journal-workstation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:4px 0 2px;}
.journal-workstation-head h1{margin:4px 0 5px;font-size:clamp(1.6rem,2.7vw,2.35rem);letter-spacing:-.045em;color:#0f172a;}
.journal-workstation-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.journal-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px;}
.journal-kpi{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(15,23,42,.045);min-width:0;}
.journal-kpi>span{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;font-size:1.25rem;background:#eff6ff;color:#2563eb;flex:0 0 auto;}
.journal-kpi small,.journal-kpi em{display:block;color:#64748b;font-size:.76rem;line-height:1.2;}
.journal-kpi strong{display:block;color:#0f172a;font-size:1.5rem;line-height:1;font-weight:950;margin:4px 0 3px;}
.journal-kpi.purple>span{background:#f3e8ff;color:#7c3aed}.journal-kpi.orange>span{background:#ffedd5;color:#ea580c}.journal-kpi.gold>span{background:#fef3c7;color:#d97706}.journal-kpi.green>span{background:#dcfce7;color:#16a34a}.journal-kpi.red>span{background:#fee2e2;color:#dc2626}
.journal-imperative{padding:18px;margin-bottom:18px;border-radius:22px;}
.journal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;}
.journal-card-head h3{margin:0;color:#0f172a;font-size:1.1rem;letter-spacing:-.02em;}
.journal-card-head p{margin:4px 0 0;}
.journal-urgent-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.journal-urgent-card{border:1px solid rgba(148,163,184,.28);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px;min-height:160px;display:grid;gap:8px;cursor:pointer;transition:.18s ease;}
.journal-urgent-card:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.35);box-shadow:0 16px 36px rgba(15,23,42,.08);}
.journal-urgent-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.journal-urgent-top span{font-size:.68rem;font-weight:950;text-transform:uppercase;color:#2563eb;background:#dbeafe;border-radius:999px;padding:4px 7px;}
.journal-urgent-top em{font-style:normal;font-size:.68rem;color:#64748b;font-weight:800;white-space:nowrap;}
.journal-urgent-card strong{color:#0f172a;font-size:.92rem;line-height:1.25;}
.journal-urgent-card small{color:#334155;font-weight:800;line-height:1.25;}
.journal-urgent-card b{font-size:1.12rem;color:#dc2626;text-align:center;margin-top:2px;}
.btn.tiny{min-height:30px;padding:6px 10px;font-size:.76rem;border-radius:10px;}
.journal-main-grid{display:grid;grid-template-columns:minmax(350px,1fr) minmax(560px,1.55fr) minmax(270px,.72fr);gap:16px;align-items:start;}
.journal-lines-card,.journal-detail-card,.journal-day-panel{padding:18px;border-radius:22px;}
.journal-category-lines{display:grid;gap:10px;}
.journal-category-row{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto 26px;align-items:center;gap:13px;text-align:left;border:1px solid rgba(148,163,184,.24);background:#fff;border-radius:18px;padding:13px 13px;cursor:pointer;transition:.18s ease;color:#0f172a;}
.journal-category-row:hover{border-color:rgba(37,99,235,.28);transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.06);}
.journal-category-row.is-active{border-color:var(--cat,#2563eb);box-shadow:0 16px 38px rgba(37,99,235,.13);background:linear-gradient(135deg,#fff,#eff6ff);}
.journal-category-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--cat,#2563eb) 14%,white);color:var(--cat,#2563eb);font-size:1.25rem;}
.journal-category-row strong{display:block;font-size:.98rem;color:#0f172a;}
.journal-category-row small{display:block;margin-top:3px;color:#64748b;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.journal-category-row em{font-style:normal;color:#475569;font-size:.82rem;white-space:nowrap;}
.journal-category-row em b{color:#2563eb}.journal-category-row em b.danger,.danger{color:#dc2626!important}.journal-category-row em b.warning,.warning{color:#d97706!important}
.journal-category-row i{font-style:normal;font-size:1.45rem;color:#64748b;text-align:right;}
.journal-tip{margin-top:8px;border:1px dashed rgba(148,163,184,.35);border-radius:14px;padding:11px 12px;color:#64748b;background:#f8fafc;font-size:.84rem;}
.journal-detail-actions{display:flex;gap:8px;align-items:center;}
.journal-table-wrap{overflow:auto;border:1px solid rgba(148,163,184,.24);border-radius:18px;}
.journal-detail-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff;}
.journal-detail-table th{font-size:.72rem;color:#64748b;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;padding:10px;border-bottom:1px solid rgba(148,163,184,.22);}
.journal-detail-table td{padding:11px 10px;border-bottom:1px solid rgba(148,163,184,.18);vertical-align:middle;color:#334155;font-size:.86rem;}
.journal-detail-table tr:last-child td{border-bottom:0;}
.journal-detail-row{cursor:pointer;transition:.15s ease;}
.journal-detail-row:hover{background:#f8fafc;}
.journal-detail-row.is-selected{background:#eff6ff;}
.journal-detail-table td strong{display:block;color:#0f172a;font-size:.88rem;line-height:1.2;}
.journal-detail-table td small{display:block;color:#64748b;margin-top:3px;line-height:1.2;}
.journal-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;background:#dbeafe;color:#1d4ed8;}
.journal-status.danger{background:#fee2e2;color:#991b1b!important}.journal-status.warning{background:#fef3c7;color:#92400e}.journal-status.muted{background:#f1f5f9;color:#475569}.journal-status.normal{background:#dbeafe;color:#1d4ed8}.journal-status.success{background:#dcfce7;color:#166534}
.journal-priority{display:inline-flex;align-items:center;gap:6px;font-weight:850;color:#334155;white-space:nowrap;}
.journal-priority i{width:8px;height:8px;border-radius:50%;background:#2563eb;display:inline-block;}.journal-priority.danger i{background:#dc2626}.journal-priority.warning i{background:#d97706}.journal-priority.success i{background:#16a34a}.journal-priority.normal i{background:#2563eb}
.journal-detail-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:#64748b;font-size:.85rem;}
.journal-detail-foot a{font-weight:900;color:#2563eb;text-decoration:none;}
.journal-day-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.journal-day-list li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#fff;cursor:pointer;}
.journal-day-list li:hover{background:#f8fafc;}
.journal-day-list span{width:26px;height:26px;border-radius:50%;background:#f1f5f9;display:grid;place-items:center;font-weight:900;color:#475569;}
.journal-day-list strong{font-size:.82rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.journal-day-list em{display:block;grid-column:2;color:#64748b;font-size:.72rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.journal-day-list b{grid-row:1 / span 2;grid-column:3;color:#dc2626;font-size:.78rem;white-space:nowrap;}
.journal-console-sep{height:1px;background:rgba(148,163,184,.24);margin:15px 0;}
.journal-selection{display:grid;gap:8px;}
.journal-selection>strong{color:#0f172a;line-height:1.25;}
.journal-selection>span{color:#64748b;font-size:.82rem;}
.journal-selection textarea{width:100%;border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:10px;resize:vertical;font:inherit;min-height:72px;}
.journal-action-stack{display:grid;grid-template-columns:1fr;gap:8px;}
.journal-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.journal-quickbar{margin-top:16px;border-radius:22px;padding:14px;display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,auto);align-items:center;gap:10px;}
.journal-quickbar strong{display:block;color:#0f172a}.journal-quickbar span{display:block;color:#64748b;font-size:.82rem;margin-top:2px}.btn.purple{background:#7c3aed;color:white;border-color:#7c3aed}.btn.warning{background:#f97316;color:white;border-color:#f97316}.btn.success{background:#16a34a;color:white;border-color:#16a34a}.badge.red{background:#fee2e2;color:#991b1b;}
@media(max-width:1250px){.journal-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.journal-urgent-strip{grid-template-columns:repeat(2,minmax(0,1fr));}.journal-main-grid{grid-template-columns:1fr;}.journal-day-panel{position:static}.journal-quickbar{grid-template-columns:1fr 1fr;}.journal-quickbar>div{grid-column:1/-1;}}
@media(max-width:760px){.journal-workstation-head{flex-direction:column}.journal-kpi-grid{grid-template-columns:1fr}.journal-urgent-strip{grid-template-columns:1fr}.journal-category-row{grid-template-columns:44px minmax(0,1fr) 22px}.journal-category-row em{grid-column:2 / 4;white-space:normal}.journal-quickbar{grid-template-columns:1fr}.journal-detail-card{padding:12px}.journal-lines-card{padding:12px}.journal-day-panel{padding:12px}}

/* AZALYS V5.4.1 — Densité poste journalisé : police et espacements réduits */
.journal-workstation-view{font-size:13px;}
.journal-workstation-head{margin-bottom:14px;}
.journal-workstation-head h1{font-size:clamp(1.35rem,2.05vw,1.85rem);letter-spacing:-.035em;}
.journal-workstation-head p{font-size:.9rem;}
.journal-kpi-grid{gap:10px;margin-bottom:14px;}
.journal-kpi{gap:10px;padding:11px 12px;border-radius:15px;}
.journal-kpi>span{width:36px;height:36px;border-radius:13px;font-size:1.05rem;}
.journal-kpi small,.journal-kpi em{font-size:.68rem;}
.journal-kpi strong{font-size:1.22rem;margin:2px 0 2px;}
.journal-imperative{padding:14px;margin-bottom:14px;border-radius:18px;}
.journal-card-head{margin-bottom:10px;}
.journal-card-head h3{font-size:.98rem;}
.journal-card-head p{font-size:.82rem;}
.journal-urgent-strip{gap:9px;}
.journal-urgent-card{padding:11px;min-height:132px;border-radius:15px;gap:6px;}
.journal-urgent-top span,.journal-urgent-top em{font-size:.6rem;}
.journal-urgent-card strong{font-size:.8rem;}
.journal-urgent-card small{font-size:.72rem;}
.journal-urgent-card b{font-size:.94rem;}
.journal-main-grid{grid-template-columns:minmax(330px,.9fr) minmax(560px,1.45fr) minmax(250px,.65fr);gap:13px;}
.journal-lines-card,.journal-detail-card,.journal-day-panel{padding:14px;border-radius:18px;}
.journal-category-lines{gap:8px;}
.journal-category-row{grid-template-columns:44px minmax(0,1fr) auto 22px;gap:10px;padding:10px 11px;border-radius:15px;}
.journal-category-icon{width:40px;height:40px;border-radius:13px;font-size:1.05rem;}
.journal-category-row strong{font-size:.86rem;}
.journal-category-row small{font-size:.73rem;margin-top:2px;}
.journal-category-row em{font-size:.72rem;}
.journal-category-row i{font-size:1.15rem;}
.journal-tip{font-size:.74rem;padding:9px 10px;border-radius:12px;}
.journal-detail-table{min-width:700px;}
.journal-detail-table th{font-size:.62rem;padding:8px;}
.journal-detail-table td{font-size:.76rem;padding:9px 8px;}
.journal-detail-table td strong{font-size:.78rem;}
.journal-detail-table td small{font-size:.68rem;margin-top:2px;}
.journal-status{font-size:.64rem;padding:5px 7px;}
.journal-priority{font-size:.72rem;gap:5px;}
.journal-detail-foot{font-size:.74rem;margin-top:10px;}
.journal-day-list{gap:7px;}
.journal-day-list li{grid-template-columns:26px minmax(0,1fr) auto;padding:8px;border-radius:12px;}
.journal-day-list span{width:23px;height:23px;font-size:.72rem;}
.journal-day-list strong{font-size:.72rem;}
.journal-day-list em{font-size:.64rem;}
.journal-day-list b{font-size:.68rem;}
.journal-selection>strong{font-size:.86rem;}
.journal-selection>span{font-size:.72rem;}
.journal-selection textarea{min-height:58px;font-size:.78rem;border-radius:12px;padding:8px;}
.journal-mini-actions{gap:7px;margin-top:10px;}
.journal-action-stack{gap:7px;}
.journal-quickbar{margin-top:13px;border-radius:18px;padding:11px;gap:8px;}
.journal-quickbar strong{font-size:.9rem;}
.journal-quickbar span{font-size:.72rem;}
.journal-workstation-view .btn{min-height:34px;padding:8px 11px;font-size:.78rem;border-radius:11px;}
.journal-workstation-view .btn.tiny{min-height:27px;padding:5px 8px;font-size:.68rem;border-radius:9px;}
@media(max-width:1250px){.journal-main-grid{grid-template-columns:1fr;}}

/* AZALYS V5.4.2 — Poste journalisé avec grande fenêtre de traitement */
.journal-main-grid{grid-template-columns:minmax(360px,.85fr) minmax(420px,1.05fr) minmax(260px,.62fr);}
.journal-focus-preview{min-height:100%;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start;border:1px solid color-mix(in srgb,var(--cat,#2563eb) 28%,#e2e8f0);border-radius:18px;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--cat,#2563eb) 7%,white));padding:16px;}
.journal-focus-icon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:color-mix(in srgb,var(--cat,#2563eb) 14%,white);color:var(--cat,#2563eb);font-size:1.35rem;}
.journal-focus-preview h3{margin:0 0 4px;color:#0f172a;font-size:1rem;}
.journal-focus-preview p{margin:0 0 10px;color:#64748b;font-size:.8rem;}
.journal-focus-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.journal-focus-metrics span{border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.75);border-radius:999px;padding:5px 8px;font-size:.72rem;color:#475569;font-weight:800;}
.journal-focus-metrics b{color:var(--cat,#2563eb);}
.journal-focus-preview ul{margin:0 0 12px;padding:0;list-style:none;display:grid;gap:7px;}
.journal-focus-preview li{border-bottom:1px solid rgba(148,163,184,.18);padding-bottom:7px;}
.journal-focus-preview li strong{display:block;color:#0f172a;font-size:.78rem;}
.journal-focus-preview li span{display:block;color:#64748b;font-size:.68rem;margin-top:2px;}
.workbox-task-modal.hidden{display:none;}
.workbox-task-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;}
.workbox-task-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(8px);}
.workbox-task-dialog{position:relative;width:min(1360px,96vw);max-height:min(860px,92vh);overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 34px 90px rgba(15,23,42,.34);border:1px solid rgba(255,255,255,.55);display:flex;flex-direction:column;}
.workbox-modal-open{overflow:hidden;}
.workbox-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;border-bottom:1px solid rgba(148,163,184,.22);background:linear-gradient(135deg,color-mix(in srgb,var(--cat,#2563eb) 10%,white),#fff);}
.workbox-modal-head span{display:inline-flex;align-items:center;gap:7px;color:var(--cat,#2563eb);font-weight:950;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.workbox-modal-head h2{margin:4px 0;color:#0f172a;font-size:1.45rem;letter-spacing:-.035em;}
.workbox-modal-head p{margin:0;color:#64748b;font-size:.86rem;}
.workbox-modal-grid{display:grid;grid-template-columns:minmax(620px,1.25fr) minmax(360px,.75fr);gap:0;min-height:0;}
.workbox-modal-list{padding:16px 18px 18px;min-width:0;overflow:auto;max-height:calc(92vh - 110px);border-right:1px solid rgba(148,163,184,.2);}
.workbox-modal-detail{padding:18px;overflow:auto;max-height:calc(92vh - 110px);background:#f8fafc;}
.workbox-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;}
.workbox-modal-toolbar strong{color:#0f172a;font-size:.9rem;}
.workbox-modal-toolbar .btn{min-height:30px;padding:6px 9px;font-size:.72rem;}
.workbox-selected-card{display:grid;gap:13px;}
.workbox-selected-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.workbox-selected-top>span{font-size:.7rem;color:#2563eb;background:#dbeafe;border-radius:999px;padding:5px 8px;font-weight:950;}
.workbox-selected-card h3{margin:0;color:#0f172a;font-size:1.12rem;line-height:1.2;}
.workbox-selected-card p{margin:0;color:#475569;font-size:.84rem;line-height:1.45;}
.workbox-selected-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;}
.workbox-selected-card dl div{border:1px solid rgba(148,163,184,.24);border-radius:14px;padding:10px;background:white;}
.workbox-selected-card dt{font-size:.66rem;text-transform:uppercase;color:#64748b;font-weight:900;letter-spacing:.04em;}
.workbox-selected-card dd{margin:4px 0 0;color:#0f172a;font-weight:850;font-size:.78rem;}
.workbox-next{border:1px solid rgba(37,99,235,.18);border-radius:16px;background:#eff6ff;padding:12px;}
.workbox-next strong{display:block;color:#1d4ed8;margin-bottom:6px;}
.workbox-next ol{margin:0;padding-left:18px;color:#334155;font-size:.78rem;line-height:1.6;}
.workbox-selected-card textarea{width:100%;min-height:92px;border:1px solid rgba(148,163,184,.34);border-radius:14px;padding:11px;font:inherit;font-size:.82rem;resize:vertical;background:#fff;}
.modal-actions{grid-template-columns:1fr 1fr;}
@media(max-width:1100px){.workbox-modal-grid{grid-template-columns:1fr}.workbox-modal-list{border-right:0;border-bottom:1px solid rgba(148,163,184,.2);max-height:46vh}.workbox-modal-detail{max-height:38vh}.modal-actions{grid-template-columns:1fr}.workbox-task-modal{padding:12px}.workbox-task-dialog{border-radius:20px}}
@media(max-width:760px){.journal-main-grid{grid-template-columns:1fr}.workbox-modal-head{padding:16px}.workbox-modal-head h2{font-size:1.2rem}.workbox-selected-card dl{grid-template-columns:1fr}.workbox-modal-list{padding:12px}.workbox-modal-detail{padding:12px}}


/* V5.6 — poste concentré + supervision admin simple */
.workbox-focus-card{padding:0;overflow:hidden;border:1px solid rgba(37,99,235,.18);box-shadow:0 18px 45px rgba(15,23,42,.08);}
.workbox-focus-wrap{display:grid;grid-template-columns:160px minmax(0,1fr) 220px;gap:18px;align-items:center;padding:20px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.98));border-left:6px solid var(--cat,#2563eb);}
.workbox-focus-badge{display:grid;place-items:center;text-align:center;border-radius:22px;background:color-mix(in srgb,var(--cat,#2563eb) 10%,white);padding:18px 12px;min-height:120px;}
.workbox-focus-badge span{font-size:2rem;line-height:1;}
.workbox-focus-badge small{margin-top:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#475569;font-size:.72rem;}
.workbox-focus-main h2{margin:8px 0 8px;color:#0f172a;font-size:1.25rem;line-height:1.18;}
.workbox-focus-main p{margin:0;color:#475569;line-height:1.45;max-width:850px;}
.workbox-focus-main ol{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;}
.workbox-focus-main ol li{border:1px solid rgba(148,163,184,.25);background:#fff;border-radius:999px;padding:7px 10px;font-size:.82rem;color:#334155;font-weight:800;}
.workbox-focus-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.workbox-focus-meta>span:not(.journal-priority){border-radius:999px;background:#f8fafc;border:1px solid rgba(148,163,184,.25);padding:5px 9px;font-size:.78rem;font-weight:900;color:#475569;}
.workbox-focus-actions{display:grid;gap:10px;}
.workbox-focus-actions .btn{width:100%;justify-content:center;}
.workbox-focus-empty{display:flex;gap:16px;align-items:center;padding:22px;}
.workbox-focus-empty>span{font-size:2rem;}.workbox-focus-empty strong{display:block;color:#0f172a}.workbox-focus-empty small{display:block;color:#64748b;margin-top:4px;}
.focus-quickbar{opacity:.92;}
.supervision-view{display:none;}.supervision-view.active{display:block;}
.supervision-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;padding:20px;}
.supervision-head h1{margin:4px 0 6px;font-size:1.4rem;color:#0f172a;}
.supervision-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start;}
.supervision-panel{padding:18px;}.supervision-panel.wide{grid-column:span 1;}
.supervision-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.supervision-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(148,163,184,.22);border-left:4px solid var(--cat,#2563eb);border-radius:16px;padding:11px;background:#fff;}
.supervision-card>span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--cat,#2563eb) 10%,white);}
.supervision-card strong{display:block;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.supervision-card em{display:block;color:#64748b;font-style:normal;font-size:.82rem;margin-top:2px;}
.supervision-lanes,.supervision-owners{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.supervision-lanes li,.supervision-owners li{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:10px;background:#f8fafc;}
.supervision-lanes li span{font-size:1.1rem}.supervision-lanes li strong,.supervision-owners li strong{color:#0f172a}.supervision-lanes li b,.supervision-owners li span{color:#2563eb;font-weight:900;}
@media(max-width:1100px){.workbox-focus-wrap{grid-template-columns:1fr}.workbox-focus-badge{min-height:auto}.supervision-grid{grid-template-columns:1fr}.supervision-cards{grid-template-columns:1fr}}

/* V5.7 — Timeline et génération mensuelle, sans surcharger le collaborateur */
.supervision-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.workbox-timeline{margin:1rem 0;padding:.85rem;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(248,250,252,.82)}
.workbox-timeline strong{display:block;margin-bottom:.45rem;font-size:.86rem;color:#0f172a}
.workbox-timeline ol{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.workbox-timeline li{display:grid;gap:.12rem;padding-left:.85rem;border-left:3px solid rgba(37,99,235,.25)}
.workbox-timeline li span{font-weight:800;font-size:.84rem;color:#0f172a}
.workbox-timeline li small{font-size:.76rem;color:#64748b}
.workbox-timeline li em{font-style:normal;font-size:.78rem;color:#475569}

/* V10.2 — Accueil ultra simple : IA automatique + décisions Valider/Rejeter */
.simple-workstation-view {
  max-width: 1180px;
  margin: 0 auto;
  padding-bottom: 24px;
}
.simple-workstation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0 10px;
}
.simple-workstation-head h1 {
  margin: 2px 0 6px;
  font-size: clamp(24px, 3.2vw, 34px);
  letter-spacing: -0.035em;
}
.simple-workstation-actions { display:flex; gap:10px; align-items:center; }
.simple-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 10px;
}
.simple-kpi-card {
  border: 1px solid rgba(148, 163, 184, .24);
  background: rgba(255,255,255,.92);
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 86px;
  display:flex;
  align-items:center;
  gap: 12px;
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
}
.simple-kpi-card > span {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: #eef4ff;
  font-size: 17px;
  flex: 0 0 auto;
}
.simple-kpi-card small {
  display:block;
  color:#475569;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:10px;
}
.simple-kpi-card strong {
  display:block;
  color:#0f172a;
  font-size:22px;
  line-height:1;
  margin:3px 0;
}
.simple-kpi-card em {
  display:block;
  color:#64748b;
  font-size:12px;
  font-style:normal;
}
.simple-process-card {
  margin-bottom: 10px;
  padding: 12px 14px;
}
.simple-process-wrap {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap: 12px;
  align-items:center;
}
.simple-process-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, #dbeafe, #f5f3ff);
  font-size: 20px;
}
.simple-process-body { min-width: 0; }
.simple-process-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; }
.simple-process-wrap h2 { margin:0; font-size:18px; }
.simple-process-wrap p { margin:0; color:#475569; font-size:13px; }
.simple-process-flow { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:8px; color:#334155; font-weight:800; }
.simple-process-flow span { border:1px solid rgba(148,163,184,.28); background:#fff; border-radius:999px; padding:5px 9px; font-size:12px; }
.simple-process-flow i { color:#94a3b8; font-style:normal; font-size:12px; }
.simple-process-flow b { display:inline-flex; border-radius:999px; padding:5px 9px; background:#fee2e2; color:#991b1b; font-size:12px; }
.simple-process-flow b.ok { background:#dcfce7; color:#166534; }
.simple-process-status { display:flex; align-items:baseline; gap:4px; white-space:nowrap; }
.simple-process-status strong { display:block; font-size:22px; line-height:1; color:#0f172a; }
.simple-process-status small { display:block; color:#64748b; }
.simple-validation-card { padding: 0; overflow:hidden; }
.simple-validation-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(148,163,184,.18);
  background: rgba(248,250,252,.72);
}
.simple-validation-head h3 { margin:0 0 3px; font-size:18px; }
.simple-validation-head p { margin:0; font-size:13px; }
.simple-count-badge {
  min-width: 36px;
  height: 30px;
  border-radius: 999px;
  background: #eff6ff;
  color:#1d4ed8;
  display:grid;
  place-items:center;
  font-weight:900;
  border:1px solid #bfdbfe;
}
.simple-validation-list { display:flex; flex-direction:column; }
.simple-decision-row {
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid rgba(148,163,184,.16);
  background:#fff;
}
.simple-decision-row:hover { background:#f8fbff; }
.simple-decision-row:last-child { border-bottom:none; }
.simple-decision-top { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:6px; }
.simple-kind {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  background:#eef2ff;
  color:#3730a3;
  font-size:11px;
  font-weight:900;
}
.simple-kind.client { background:#fff7ed; color:#9a3412; }
.simple-kind.doc { background:#ecfeff; color:#155e75; }
.simple-kind.entry { background:#f0fdf4; color:#166534; }
.simple-kind.workflow { background:#f5f3ff; color:#6d28d9; }
.simple-kind.ai { background:#eff6ff; color:#1d4ed8; }
.simple-decision-top small { color:#64748b; font-weight:700; }
.simple-decision-main h3 { margin:0 0 4px; font-size:16px; color:#0f172a; }
.simple-decision-main p { margin:0 0 8px; color:#475569; line-height:1.35; font-size:13px; }
.simple-decision-meta { display:flex; flex-wrap:wrap; gap:6px 10px; color:#64748b; font-size:12px; }
.simple-decision-meta b { color:#334155; }
.simple-decision-actions { display:flex; gap:8px; align-items:center; }
.simple-decision-actions .btn { min-width:96px; padding:10px 12px; }
.simple-empty { padding:28px 16px; text-align:center; color:#475569; }
.simple-empty span { font-size:28px; display:block; margin-bottom:6px; }
.simple-empty strong { display:block; color:#0f172a; font-size:18px; margin-bottom:4px; }
.simple-empty p { margin:0; }
.simple-list-limit { padding:12px 16px; color:#64748b; background:#f8fafc; font-weight:700; font-size:13px; }
@media (max-width: 900px) {
  .simple-workstation-head, .simple-process-wrap, .simple-decision-row { grid-template-columns:1fr; display:grid; }
  .simple-kpi-grid { grid-template-columns:1fr; }
  .simple-process-title-row { align-items:flex-start; flex-direction:column; }
  .simple-decision-actions { width:100%; }
  .simple-decision-actions .btn { flex:1; }
}


/* V10.5 — Accueil direct : suppression des cartes hautes et du bandeau process */
.simple-workstation-view[data-azalys-page="accueil-direct-validations-v10-5"] {
  max-width: 1180px;
  padding-top: 10px;
  padding-bottom: 20px;
}
.direct-validation-card {
  margin-top: 0;
}
.direct-validation-head {
  padding: 14px 16px !important;
}
.direct-validation-head .eyebrow {
  margin-bottom: 3px;
  font-size: 10px;
}
.direct-validation-head h3 {
  margin: 0 0 4px !important;
  font-size: 22px !important;
}
.direct-validation-head p {
  font-size: 13px !important;
}
.direct-validation-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.compact-btn {
  min-height: 34px;
  padding: 8px 12px !important;
  font-size: 13px;
}
.simple-workstation-view[data-azalys-page="accueil-direct-validations-v10-5"] .simple-decision-row {
  padding: 12px 16px;
}
.simple-workstation-view[data-azalys-page="accueil-direct-validations-v10-5"] .simple-empty {
  padding: 28px 16px;
}
@media (max-width: 700px) {
  .direct-validation-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .direct-validation-actions {
    width: 100%;
    justify-content: space-between;
  }
}


/* V10.6 — Accueil = inbox intelligente de validation */
.inbox-workstation-view {
  max-width: 1360px;
  margin: 0 auto;
  padding: 12px 18px 22px;
}
.inbox-shell {
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
}
.inbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  background: rgba(248, 250, 252, .76);
}
.inbox-head h3 {
  margin: 0 0 4px;
  font-size: 24px;
  letter-spacing: -.03em;
}
.inbox-head p { margin: 0; font-size: 13px; }
.inbox-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.inbox-count-badge {
  min-width: 42px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-weight: 950;
}
.inbox-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  background: #fff;
}
.inbox-filter {
  border: 1px solid rgba(148, 163, 184, .28);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 850;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}
.inbox-filter b {
  min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
}
.inbox-filter.is-active {
  border-color: rgba(37, 99, 235, .42);
  background: #eff6ff;
  color: #1d4ed8;
}
.inbox-filter.is-active b { background: #dbeafe; color: #1d4ed8; }
.inbox-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  min-height: 560px;
}
.inbox-list {
  min-width: 0;
  border-right: 1px solid rgba(148, 163, 184, .16);
  background: #fff;
}
.inbox-row {
  display: grid;
  grid-template-columns: minmax(230px, .95fr) minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .14);
  cursor: pointer;
}
.inbox-row:hover { background: #f8fbff; }
.inbox-row.is-selected {
  background: #eff6ff;
  box-shadow: inset 4px 0 0 #2563eb;
}
.inbox-row-top {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.inbox-kind, .inbox-priority {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
  background: #eef2ff;
  color: #3730a3;
}
.inbox-kind.client { background:#fff7ed; color:#9a3412; }
.inbox-kind.bank { background:#ecfeff; color:#155e75; }
.inbox-kind.sales { background:#f0fdf4; color:#166534; }
.inbox-kind.buy { background:#f5f3ff; color:#6d28d9; }
.inbox-kind.stock { background:#fef9c3; color:#854d0e; }
.inbox-kind.immo { background:#eff6ff; color:#1d4ed8; }
.inbox-kind.alert { background:#fee2e2; color:#991b1b; }
.inbox-priority.haute, .inbox-priority.warning { background:#fff7ed; color:#c2410c; }
.inbox-priority.critique, .inbox-priority.danger { background:#fee2e2; color:#b91c1c; }
.inbox-row h4 {
  margin: 0 0 3px;
  font-size: 15px;
  color: #0f172a;
}
.inbox-row p {
  margin: 0;
  font-size: 13px;
  color: #334155;
  line-height: 1.34;
}
.inbox-row small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-weight: 700;
}
.inbox-ai-result {
  min-width: 0;
  display: grid;
  gap: 4px;
  color: #475569;
  font-size: 13px;
  line-height: 1.35;
}
.inbox-ai-result b {
  color: #1d4ed8;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.inbox-row-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.inbox-row-actions .btn, .inbox-detail-actions .btn {
  min-width: 94px;
  padding: 10px 12px;
}
.inbox-detail {
  min-width: 0;
  background: #f8fafc;
  padding: 16px;
  overflow: auto;
  max-height: calc(100vh - 210px);
}
.inbox-detail-inner {
  display: grid;
  gap: 12px;
}
.inbox-detail-head {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.inbox-detail h3 {
  margin: 0;
  font-size: 20px;
  color: #0f172a;
  line-height: 1.25;
}
.inbox-detail-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.inbox-detail-meta div, .inbox-analysis-box, .inbox-alert-box, .inbox-entry-lines {
  border: 1px solid rgba(148, 163, 184, .2);
  background: #fff;
  border-radius: 14px;
  padding: 10px;
}
.inbox-detail-meta small {
  display: block;
  color: #64748b;
  font-weight: 800;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.inbox-detail-meta b { color: #0f172a; font-size: 13px; }
.inbox-analysis-box strong, .inbox-alert-box strong, .inbox-entry-lines strong {
  display: block;
  margin-bottom: 6px;
  color: #0f172a;
}
.inbox-analysis-box p, .inbox-alert-box p {
  margin: 0;
  color: #475569;
  line-height: 1.42;
  white-space: pre-wrap;
}
.inbox-alert-box { background: #fff7ed; border-color: #fed7aa; }
.inbox-entry-lines { display: grid; gap: 6px; }
.inbox-entry-lines div {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding-top: 6px;
  border-top: 1px solid rgba(148,163,184,.16);
  font-size: 12px;
}
.inbox-entry-lines span { font-weight: 900; color: #334155; }
.inbox-entry-lines em { font-style: normal; color: #64748b; min-width: 0; }
.inbox-entry-lines b { color: #0f172a; }
.inbox-doc-preview {
  width: 100%;
  height: 280px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: #fff;
}
.inbox-detail-actions {
  display: flex;
  gap: 8px;
  padding-top: 4px;
}
.inbox-empty, .inbox-detail-empty {
  padding: 34px 16px;
  text-align: center;
  color: #64748b;
}
.inbox-empty span, .inbox-detail-empty span {
  display: block;
  font-size: 30px;
  margin-bottom: 8px;
}
.inbox-empty strong, .inbox-detail-empty strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  margin-bottom: 4px;
}
.inbox-list-limit {
  padding: 12px 16px;
  color: #64748b;
  background: #f8fafc;
  font-weight: 800;
  font-size: 13px;
}
@media (max-width: 1180px) {
  .inbox-layout { grid-template-columns: 1fr; }
  .inbox-list { border-right: 0; }
  .inbox-detail { max-height: none; border-top: 1px solid rgba(148,163,184,.16); }
}
@media (max-width: 780px) {
  .inbox-workstation-view { padding: 8px; }
  .inbox-head { align-items: flex-start; flex-direction: column; }
  .inbox-head-actions { width: 100%; justify-content: space-between; }
  .inbox-row { grid-template-columns: 1fr; gap: 8px; }
  .inbox-row-actions { width: 100%; }
  .inbox-row-actions .btn { flex: 1; }
  .inbox-detail-meta { grid-template-columns: 1fr; }
}


/* V10.7 — Fenêtre professionnelle pour motif / complément */
body.modal-open { overflow: hidden; }
.action-note-modal-card { max-width: 620px; border-radius: 24px; padding: 22px; }
.action-note-modal-head { align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.action-note-modal-head .eyebrow { margin-bottom: 4px; }
.action-note-modal-head h3 { margin: 0 0 6px; font-size: 1.35rem; letter-spacing: -0.02em; }
.action-note-modal-body { display: grid; gap: 14px; }
.action-note-modal-body .field span { display:block; margin-bottom:8px; font-weight:800; color:#334155; }
.action-note-modal-body textarea { width:100%; min-height:132px; resize:vertical; border:1px solid #dbe3f0; border-radius:16px; padding:14px 16px; font:inherit; color:#0f172a; background:#fbfdff; box-shadow: inset 0 1px 2px rgba(15,23,42,.03); }
.action-note-modal-body textarea:focus { outline:none; border-color:#93c5fd; box-shadow:0 0 0 4px rgba(59,130,246,.12); background:#fff; }
.action-note-help { border:1px solid rgba(148,163,184,.22); background:#f8fafc; color:#475569; border-radius:14px; padding:10px 12px; font-size:.92rem; }
.action-note-modal-actions { margin-top: 18px; }
.action-note-modal-actions .btn { min-width: 150px; }
@media (max-width: 700px) {
  .action-note-modal-card { padding: 18px; border-radius: 20px; }
  .action-note-modal-actions { flex-direction: column-reverse; }
  .action-note-modal-actions .btn { width: 100%; }
}

.inbox-related-box { border:1px solid #dbeafe; background:#eff6ff; border-radius:16px; padding:12px; display:grid; gap:8px; }
.inbox-related-box strong { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:#1d4ed8; }
.inbox-related-box div { display:grid; grid-template-columns:110px 1fr auto; gap:8px; align-items:center; font-size:12px; padding:6px 0; border-top:1px solid rgba(29,78,216,.12); }
.inbox-related-box span { font-weight:900; color:#1e40af; }
.inbox-related-box em { font-style:normal; color:#475569; min-width:0; }
.inbox-related-box b { color:#0f172a; font-size:11px; }
.inbox-related-box p { margin:0; color:#475569; font-size:12px; }


/* V10.15 — Bouton reset environnement de test */
.btn.danger,
.btn.ghost.danger {
  border-color: rgba(220, 38, 38, .35);
  color: #b91c1c;
}
.btn.ghost.danger:hover {
  background: rgba(220, 38, 38, .08);
  border-color: rgba(220, 38, 38, .55);
}
.inbox-head-actions {
  gap: .5rem;
  flex-wrap: wrap;
}


/* V10.17 — Actions anomalie : éviter la fausse validation */
.inbox-row-actions .btn.ghost.danger,
.inbox-detail-actions .btn.ghost.danger {
  border-color: rgba(220, 38, 38, .35);
  color: #b91c1c;
}
.inbox-row-actions .btn.ghost.danger:hover,
.inbox-detail-actions .btn.ghost.danger:hover {
  background: rgba(220, 38, 38, .08);
}


/* V10.18 — Correction guidée facture achat */
.purchase-correction-card {
  width: min(980px, 96vw);
  max-height: 92vh;
  overflow: auto;
}
.purchase-correction-form {
  display: grid;
  gap: 1rem;
}
.correction-file-banner {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  padding: .85rem 1rem;
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(241,245,249,.72);
  border-radius: 16px;
}
.purchase-correction-form .form-grid,
.tva-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.purchase-correction-form .wide {
  grid-column: 1 / -1;
}
.purchase-correction-form label {
  display: grid;
  gap: .35rem;
  font-weight: 700;
  color: #172554;
}
.correction-tva-details {
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 16px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.78);
}
.correction-tva-details summary {
  cursor: pointer;
  font-weight: 800;
  color: #172554;
  margin-bottom: .75rem;
}
.mini {
  font-size: .82rem;
}
@media (max-width: 760px) {
  .purchase-correction-form .form-grid,
  .tva-breakdown-grid {
    grid-template-columns: 1fr;
  }
  .correction-file-banner {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* V10.21 — Modification écriture + aperçu facture */
.inbox-preview-wrap {
  margin: 1rem 0;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.inbox-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .65rem .8rem;
  background: rgba(241,245,249,.86);
  border-bottom: 1px solid rgba(148,163,184,.22);
}
.inbox-preview-head strong {
  color: #172554;
}
.inbox-doc-preview {
  width: 100%;
  min-height: 360px;
  border: 0;
  display: block;
  background: #f8fafc;
}
.entry-edit-card {
  width: min(980px, 96vw);
  max-height: 92vh;
  overflow: auto;
}
.entry-edit-form {
  display: grid;
  gap: 1rem;
}
.entry-edit-lines {
  display: grid;
  gap: .55rem;
}
.entry-edit-line {
  display: grid;
  grid-template-columns: 120px 1fr 130px 130px 42px;
  gap: .5rem;
  align-items: center;
}
.entry-edit-balance {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: 14px;
  background: rgba(241,245,249,.72);
  border: 1px solid rgba(148,163,184,.25);
}
.entry-edit-balance span {
  font-weight: 700;
  color: #172554;
}
.entry-edit-balance .danger {
  color: #dc2626;
}
@media (max-width: 820px) {
  .entry-edit-line {
    grid-template-columns: 1fr;
    border: 1px solid rgba(148,163,184,.25);
    border-radius: 14px;
    padding: .65rem;
  }
}


/* V10.22 — Grande fenêtre de contrôle écriture + facture */
.entry-control-card {
  width: min(1380px, 98vw);
  max-height: 94vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.entry-control-head {
  flex: 0 0 auto;
}
.entry-control-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(420px, 1.05fr) minmax(520px, .95fr);
  gap: 1rem;
  padding-top: .5rem;
}
.entry-control-preview,
.entry-control-editor {
  min-height: 0;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.entry-control-section-head {
  flex: 0 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .75rem .9rem;
  border-bottom: 1px solid rgba(148,163,184,.24);
  background: rgba(241,245,249,.82);
}
.entry-control-section-head strong {
  color: #172554;
}
.entry-edit-preview-frame {
  flex: 1 1 auto;
  min-height: 640px;
  width: 100%;
  border: 0;
  background: #f8fafc;
}
.entry-preview-empty {
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  text-align: center;
  color: #64748b;
  padding: 2rem;
}
.entry-preview-empty span {
  font-size: 2rem;
}
.entry-control-editor .entry-edit-form {
  padding: .9rem;
  overflow: auto;
}
.entry-control-actions {
  position: sticky;
  bottom: 0;
  background: rgba(255,255,255,.94);
  border-top: 1px solid rgba(148,163,184,.2);
  padding-top: .75rem;
}
@media (max-width: 1050px) {
  .entry-control-card {
    overflow: auto;
  }
  .entry-control-grid {
    grid-template-columns: 1fr;
  }
  .entry-edit-preview-frame {
    min-height: 460px;
  }
}

/* V10.25 — Validation unique intelligente */
.global-validation-card{max-width:min(1240px,96vw);}
.global-validation-head{border-bottom:1px solid rgba(15,23,42,.08);}
.global-validation-body{padding:18px 22px;max-height:72vh;overflow:auto;}
.global-validation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.global-validation-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px;}
.global-validation-summary small{display:block;color:#64748b;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.global-validation-summary b{display:block;color:#0f172a;font-size:13px;line-height:1.3;}
.global-checks-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:8px 0 16px;}
.global-check{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);}
.global-check span{display:block;font-size:12px;color:#475569;font-weight:800;margin-bottom:7px;}
.global-check b{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;margin-bottom:7px;}
.global-check small{display:block;color:#64748b;font-size:11px;line-height:1.35;}
.global-check.ok b{background:#dcfce7;color:#166534;}
.global-check.ready b{background:#dbeafe;color:#1d4ed8;}
.global-check.blocked{border-color:#fecaca;background:#fff7f7;}
.global-check.blocked b{background:#fee2e2;color:#b91c1c;}
.global-check.na b{background:#f1f5f9;color:#475569;}
.global-validation-blockers,.global-validation-warnings{border-radius:16px;padding:13px 14px;margin:12px 0;}
.global-validation-blockers{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;}
.global-validation-warnings{background:#fffbeb;border:1px solid #fde68a;color:#92400e;}
.global-validation-blockers strong,.global-validation-warnings strong{display:block;margin-bottom:8px;}
.global-validation-blockers p,.global-validation-warnings p{margin:5px 0;font-size:13px;line-height:1.4;}
.global-validation-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);gap:16px;align-items:start;}
.global-validation-grid section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:12px;min-height:280px;}
.global-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.global-section-head>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.global-validation-preview{width:100%;height:480px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;}
.global-validation-preview.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#64748b;}
.global-entry-lines{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;}
.global-entry-lines>strong{display:block;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;}
.global-entry-lines>div{display:grid;grid-template-columns:90px 1fr 110px;gap:8px;padding:9px 12px;border-bottom:1px solid #f1f5f9;align-items:center;}
.global-entry-lines>div:last-child{border-bottom:0;}
.global-entry-lines span{font-weight:800;color:#0f172a;}
.global-entry-lines em{font-style:normal;color:#475569;}
.global-entry-lines b{text-align:right;color:#0f172a;}
.global-entry-lines.empty{padding:14px;}
.global-entry-lines.empty p{margin:8px 0 0;}
.global-validation-note{margin-top:12px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;}
.global-validation-note p{margin:6px 0 0;color:#475569;font-size:13px;line-height:1.45;}
.global-validation-actions{border-top:1px solid rgba(15,23,42,.08);padding:14px 22px 18px;}
@media (max-width: 980px){.global-validation-summary{grid-template-columns:1fr 1fr}.global-checks-grid{grid-template-columns:1fr 1fr}.global-validation-grid{grid-template-columns:1fr}.global-validation-preview{height:360px}}
@media (max-width: 620px){.global-validation-summary,.global-checks-grid{grid-template-columns:1fr}.global-validation-body{padding:14px}.global-validation-actions{padding:12px;display:grid;grid-template-columns:1fr}.global-validation-preview{height:300px}}


/* V10.25.2 — correction pièce dans le contexte de validation globale */
.purchase-correction-global-context {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,.98));
}
.purchase-correction-global-title {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.purchase-correction-global-title span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2563eb;
}
.purchase-correction-global-title strong {
  font-size: 16px;
  color: #0f172a;
}
.purchase-correction-global-title em {
  font-style: normal;
  color: #64748b;
  font-size: 13px;
}
.purchase-correction-edit-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-end;
  margin: 20px 0 12px;
  padding-top: 16px;
  border-top: 1px dashed rgba(15,23,42,.16);
}
.purchase-correction-edit-title strong {
  font-size: 15px;
  color: #0f172a;
}
.purchase-correction-edit-title span {
  color: #64748b;
  font-size: 13px;
}
.purchase-correction-card .global-validation-summary,
.purchase-correction-card .global-checks-grid,
.purchase-correction-card .global-validation-grid {
  margin-top: 10px;
}
.purchase-correction-card .global-validation-preview {
  min-height: 260px;
}
@media (max-width: 760px) {
  .purchase-correction-edit-title { align-items: flex-start; flex-direction: column; }
  .purchase-correction-global-context { padding: 10px; }
}

/* V10.25.4 — Validation unique globale + révision historisée */
.global-validation-state{
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(135deg, rgba(37,99,235,.08), rgba(16,185,129,.08));
  border-radius:18px;
  padding:14px 16px;
  margin:12px 0 14px;
}
.global-validation-state.revision{
  border-color:rgba(245,158,11,.32);
  background:linear-gradient(135deg, rgba(245,158,11,.12), rgba(251,191,36,.08));
}
.global-validation-state strong{display:block;font-size:1rem;margin-bottom:4px;color:#0f172a;}
.global-validation-state p{margin:0 0 10px;color:#475569;}
.global-validation-state div{display:flex;gap:8px;flex-wrap:wrap;}
.global-validation-state span{display:flex;align-items:center;gap:6px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.72);border-radius:999px;padding:6px 10px;font-size:.82rem;}
.global-validation-state span b{font-weight:700;color:#1e293b;}
.global-validation-state span em{font-style:normal;color:#64748b;text-transform:capitalize;}

/* V10.25.5 — Interface traitement simplifiée : détails internes repliés */
.global-validation-card{max-width:min(1080px,96vw);}
.global-validation-body{padding:16px 22px;}
.global-simple-layout{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start;}
.global-simple-preview,.global-simple-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:12px;}
.global-simple-preview .global-validation-preview{height:560px;}
.global-simple-panel h4{margin:2px 0 12px;font-size:1.05rem;color:#0f172a;}
.global-simple-decision{border-radius:16px;padding:14px 15px;margin-bottom:10px;}
.global-simple-decision strong{display:block;margin-bottom:5px;font-size:.98rem;}
.global-simple-decision p{margin:0;color:inherit;line-height:1.45;font-size:.9rem;}
.global-simple-decision.ok{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;}
.global-simple-decision.blocked{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;}
.global-simple-issue{margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:.86rem;line-height:1.45;max-height:96px;overflow:auto;}
.global-simple-status{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;}
.global-simple-status li{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;background:#f8fafc;}
.global-simple-status span{font-weight:800;color:#334155;}
.global-simple-status b{border-radius:999px;padding:4px 9px;font-size:.76rem;white-space:nowrap;}
.global-simple-status li.ok b{background:#dcfce7;color:#166534;}
.global-simple-status li.ready b{background:#dbeafe;color:#1d4ed8;}
.global-simple-status li.blocked b{background:#fee2e2;color:#b91c1c;}
.global-simple-status li.na b{background:#f1f5f9;color:#64748b;}
.global-simple-details{margin-top:12px;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px;background:#fff;}
.global-simple-details summary{cursor:pointer;font-weight:800;color:#334155;}
.global-simple-details[open] summary{margin-bottom:10px;}
.global-validation-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;}
.global-entry-lines.compact{margin-top:12px;}
.global-entry-lines.compact>div{grid-template-columns:80px 1fr 90px;font-size:.84rem;}
@media (max-width: 980px){.global-simple-layout{grid-template-columns:1fr}.global-simple-preview .global-validation-preview{height:420px}}
@media (max-width: 620px){.global-simple-preview .global-validation-preview{height:320px}.global-validation-body{padding:14px}.global-validation-summary.compact{grid-template-columns:1fr}}


/* V10.25.6 - interface simplifiee et agrandie */
.global-validation-card{max-width:min(1380px,98vw)!important;width:min(1380px,98vw);max-height:94vh;display:flex;flex-direction:column;}
.global-validation-head{padding:20px 24px 14px;}
.global-validation-head h3{font-size:1.9rem;line-height:1.1;}
.global-validation-body{flex:1;max-height:none;padding:20px 24px 18px;}
.global-validation-actions{padding:16px 24px 20px;display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:0;background:#fff;}
.global-simple-layout{grid-template-columns:minmax(720px,1.45fr) minmax(420px,.85fr);gap:18px;align-items:stretch;}
.global-simple-preview,.global-simple-panel{padding:16px;border-radius:20px;}
.global-simple-preview .global-validation-preview{height:700px;border-radius:16px;}
.global-simple-panel{display:flex;flex-direction:column;gap:12px;}
.global-simple-panel h4{font-size:1.12rem;margin:0;}
.global-simple-decision{margin-bottom:0;padding:16px 18px;}
.global-simple-decision strong{font-size:1.06rem;}
.global-simple-status{gap:10px;margin-bottom:0;}
.global-simple-status li{padding:12px 14px;}
.global-simple-details{margin-top:2px;}
.global-simple-details .global-validation-summary.compact{margin-top:10px;}
@media (max-width: 1180px){.global-simple-layout{grid-template-columns:1fr}.global-simple-preview .global-validation-preview{height:520px}}
@media (max-width: 760px){.global-validation-head{padding:16px 16px 12px}.global-validation-body{padding:14px 16px}.global-validation-actions{padding:12px 16px 16px;display:grid;grid-template-columns:1fr}.global-simple-preview .global-validation-preview{height:360px}}


/* V10.26.0 - Travaux à traiter organisés par onglets */
.inbox-head h3{font-size:1.55rem;}
.inbox-filters{display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid rgba(15,23,42,.08);background:#fff;}
.inbox-filter.workbox-main-tab{min-height:42px;padding:9px 13px;border-radius:999px;font-weight:900;}
.inbox-filter.workbox-main-tab span{white-space:nowrap;}
.inbox-filter.workbox-main-tab b{min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef4ff;color:#2563eb;margin-left:6px;}
.inbox-filter.workbox-main-tab.is-active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 8px 20px rgba(37,99,235,.10);}
.inbox-filter.workbox-main-tab.is-active b{background:#2563eb;color:#fff;}
.inbox-layout{min-height:620px;}
.inbox-row-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.inbox-empty{min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#64748b;gap:8px;}
.inbox-empty span{font-size:2rem;}
.inbox-empty strong{font-size:1.05rem;color:#0f172a;}
@media(max-width:760px){.inbox-filters{overflow-x:auto;flex-wrap:nowrap}.inbox-filter.workbox-main-tab span{white-space:nowrap}.inbox-layout{min-height:unset}}

/* V10.26.1 — ouverture inline des travaux */
.inbox-layout{grid-template-columns:1fr !important; min-height:auto;}
.inbox-list{border-right:0; background:transparent;}
.inbox-detail{display:none;}
.workbox-list{display:grid; gap:12px;}
.inbox-item-block{border:1px solid rgba(148,163,184,.16); border-radius:20px; background:#fff; overflow:hidden; box-shadow:0 10px 28px rgba(15,23,42,.05);}
.inbox-item-block.is-open{box-shadow:0 14px 34px rgba(37,99,235,.10); border-color:rgba(59,130,246,.24);}
.inbox-row{border-bottom:0;}
.inbox-item-block.is-open .inbox-row{border-bottom:1px solid rgba(148,163,184,.16);}
.inbox-inline-expand{padding:18px; background:linear-gradient(180deg,#fff,#f8fbff); display:grid; gap:16px;}
.inbox-inline-head{display:flex; align-items:flex-start; justify-content:space-between; gap:14px;}
.inbox-inline-head h3{margin:0 0 6px; font-size:26px; color:#0f172a; line-height:1.2;}
.inbox-inline-head p{margin:0; color:#475569; line-height:1.5; white-space:pre-wrap;}
.inbox-inline-head-actions{display:flex; gap:8px; flex-wrap:wrap;}
.inbox-inline-grid{display:grid; grid-template-columns:minmax(340px,.95fr) minmax(420px,1.05fr); gap:18px; align-items:start;}
.inbox-inline-left{display:grid; gap:12px;}
.inline-section{border:1px solid rgba(148,163,184,.18); border-radius:18px; background:#fff; overflow:hidden;}
.inline-section summary{list-style:none; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:15px 16px; cursor:pointer; font-weight:900; color:#0f172a;}
.inline-section summary::-webkit-details-marker{display:none;}
.inline-section summary i{font-style:normal; color:#64748b; transition:transform .18s ease;}
.inline-section[open] summary i{transform:rotate(180deg);}
.inline-section-body{padding:0 16px 16px; color:#475569;}
.inline-section.ok summary{background:#f0fdf4; color:#166534;}
.inline-section.warning summary{background:#fff7ed; color:#b45309;}
.inline-section.neutral summary{background:#f8fafc; color:#0f172a;}
.inline-bullets{margin:0; padding-left:18px; display:grid; gap:8px;}
.inline-bullets li{line-height:1.45;}
.inline-entry-lines{display:grid; gap:8px;}
.inline-entry-lines div{display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:8px; align-items:center; padding:8px 0; border-top:1px solid rgba(148,163,184,.15); font-size:13px;}
.inline-entry-lines div:first-child{border-top:0; padding-top:0;}
.inline-entry-lines span{font-weight:900; color:#334155;}
.inline-entry-lines em{font-style:normal; color:#64748b;}
.inline-entry-lines b{color:#0f172a;}
.inbox-inline-preview{display:grid; gap:12px; border:1px solid rgba(148,163,184,.18); border-radius:20px; background:#fff; padding:16px;}
.inline-preview-head{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.inline-preview-head strong{font-size:18px; color:#0f172a;}
.inline-preview-head > div{display:flex; gap:8px; flex-wrap:wrap;}
.inline-doc-preview{width:100%; height:min(72vh,860px); border:1px solid rgba(148,163,184,.20); border-radius:18px; background:#fff;}
.inline-doc-preview.empty{display:grid; place-items:center; color:#64748b; min-height:420px;}
.inline-doc-preview.empty span{font-size:34px; display:block; margin-bottom:8px;}
.inline-grow-btn{justify-self:start;}
.inbox-detail-empty.compact{padding:18px;}
@media(max-width:1200px){.inbox-inline-grid{grid-template-columns:1fr;}.inline-doc-preview{height:66vh;}}
@media(max-width:780px){.inbox-inline-head{flex-direction:column;}.inbox-inline-head-actions,.inbox-inline-head-actions .btn{width:100%;}.inline-preview-head{flex-direction:column; align-items:flex-start;}.inline-entry-lines div{grid-template-columns:1fr;}}

/* V10.26.2 — force ouverture sous la ligne, aucune colonne detail */
#workbox-detail{display:none!important;}
#workbox-list.inline-workbox-list{display:grid!important;gap:12px!important;width:100%!important;}
.inbox-layout{display:block!important;width:100%!important;}
.inbox-list{width:100%!important;border-right:0!important;}


/* V10.26.3 — correction aperçu pièce rattachée */
.inbox-inline-preview{position:relative;}
.inline-doc-preview{min-height:520px;}
.inline-doc-preview.empty small{display:block;margin-top:8px;color:#64748b;font-size:13px;}
.inline-grow-btn{margin-bottom:76px;}

/* V10.26.4 — aperçu plus compact + champs métier visibles */
.inbox-inline-grid{grid-template-columns:minmax(420px,1fr) minmax(360px,.82fr)!important;gap:16px!important;}
.inbox-inline-preview{align-self:start;position:sticky;top:12px;padding:12px!important;}
.inline-doc-preview{height:520px!important;min-height:360px!important;max-height:560px!important;}
.inline-grow-btn{margin-bottom:0!important;}
.inline-preview-head strong{font-size:16px!important;}
.inbox-inline-head h3{font-size:23px!important;}
.inbox-inline-head p{max-width:980px;font-size:13px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.inline-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;}
.inline-field{border:1px solid rgba(148,163,184,.20);background:#fff;border-radius:14px;padding:10px 11px;min-width:0;}
.inline-field small{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;margin-bottom:4px;}
.inline-field strong{display:block;color:#0f172a;font-size:13px;line-height:1.25;word-break:break-word;}
.inline-field em{display:block;margin-top:5px;color:#64748b;font-size:11px;font-style:normal;line-height:1.25;}
.inline-field.is-empty{background:#fff7ed;border-color:#fed7aa;}
.inline-field.is-empty strong{color:#b45309;}
.inline-field.is-required small{color:#1d4ed8;}
.inline-module-status{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.22);background:#f8fafc;border-radius:999px;padding:6px 10px;margin:0 0 10px;font-size:12px;}
.inline-module-status span{color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:10px;}
.inline-module-status b{color:#0f172a;text-transform:capitalize;}
.inline-entry-lines{margin-top:10px;border-top:1px solid rgba(148,163,184,.18);padding-top:8px;}
@media(max-width:1100px){.inbox-inline-grid{grid-template-columns:1fr!important}.inbox-inline-preview{position:static}.inline-doc-preview{height:440px!important}.inline-fields-grid{grid-template-columns:1fr}}

/* V20.1 — Accueil : champs métier éditables */
.inline-field.is-editable strong{display:none}
.inline-field-control{width:100%;min-height:34px;font-size:13px;border-radius:12px;border:1px solid rgba(148,163,184,.45);background:#fff;padding:8px 10px;color:#0f172a;box-shadow:inset 0 1px 0 rgba(15,23,42,.03)}
.inline-field-control:focus{outline:2px solid rgba(37,99,235,.18);border-color:rgba(37,99,235,.65)}
.inline-business-save{position:sticky;bottom:0;z-index:2;margin-top:12px;padding:12px;border:1px solid rgba(22,163,74,.22);border-radius:18px;background:linear-gradient(180deg,rgba(240,253,244,.98),rgba(255,255,255,.98));box-shadow:0 -8px 24px rgba(15,23,42,.06);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.inline-business-save small{color:#475569;max-width:360px;line-height:1.35}
.inline-fields-grid .inline-field.is-editable{background:rgba(248,250,252,.85);border-style:solid}


/* V20.8 — Poste de travail en vraie barre compacte */
#workbox-list .inbox-row{min-height:52px!important;padding:9px 12px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(170px,auto) 44px!important;gap:12px!important;align-items:center!important;background:#fff!important;}
#workbox-list .inbox-row.is-selected{background:#eff6ff!important;box-shadow:inset 4px 0 0 #2563eb!important;}
#workbox-list .inbox-ai-result{display:none!important;}
#workbox-list .inbox-row-main{min-width:0!important;}
#workbox-list .inbox-row h4{font-size:13px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#workbox-list .inbox-row p{font-size:12px!important;margin:2px 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#workbox-list .inbox-row small{font-size:11px!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#workbox-list .inbox-row-summary{display:grid!important;gap:3px!important;justify-items:end!important;color:#475569!important;font-size:12px!important;min-width:0!important;}
#workbox-list .inbox-row-summary span{display:inline-flex!important;border-radius:999px!important;background:#f1f5f9!important;color:#334155!important;padding:3px 8px!important;font-weight:900!important;white-space:nowrap!important;}
#workbox-list .inbox-row-summary b{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:160px!important;}
#workbox-list .inbox-row-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;}
#workbox-list .inbox-row-actions .btn:not(.inbox-row-toggle),
#workbox-list .inbox-inline-head,
#workbox-list .inline-preview-head a[href*="action=preview"],
#global-validation-body .global-section-head a[href*="action=preview"]{display:none!important;}
#workbox-list .inbox-row-toggle{width:36px!important;height:36px!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.35)!important;background:#fff!important;color:#2563eb!important;display:grid!important;place-items:center!important;box-shadow:none!important;}
#workbox-list .inbox-row-toggle span{font-size:20px!important;line-height:1!important;transition:transform .18s ease!important;}
#workbox-list .inbox-item-block.is-open .inbox-row-toggle span{transform:rotate(180deg)!important;}
#workbox-list .inline-business-save small{display:none!important;}
@media(max-width:900px){#workbox-list .inbox-row{grid-template-columns:minmax(0,1fr) 44px!important;}#workbox-list .inbox-row-summary{display:none!important;}#workbox-list .inbox-row-actions{grid-column:2!important;grid-row:1!important;}}



/* V20.14 — lignes comptables modifiables dans le poste de traitement */
.inline-entry-editor{display:grid;gap:8px;margin-top:10px;border-top:1px solid rgba(148,163,184,.18);padding-top:10px;}
.inline-entry-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.inline-entry-editor-head strong{font-size:13px;color:#0f172a;}
.inline-entry-edit-head,.inline-entry-edit-line{display:grid;grid-template-columns:92px minmax(0,1fr) 110px 110px 34px;gap:8px;align-items:center;}
.inline-entry-edit-head{font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#64748b;font-weight:900;padding:0 2px;}
.inline-entry-edit-line{padding:6px 0;border-top:1px solid rgba(148,163,184,.12);}
.inline-entry-edit-line:first-child{border-top:0;}
.inline-entry-edit-line .control{min-height:34px;border-radius:10px;font-size:12px;padding:7px 9px;}
.inline-entry-edit-total{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;border-top:1px solid rgba(148,163,184,.16);padding-top:8px;font-size:12px;color:#334155;}
.inline-entry-edit-total span{background:#f8fafc;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:5px 8px;font-weight:800;}
.inline-entry-edit-total b{color:#0f172a;}
.inline-entry-edit-total b.danger{color:#dc2626;}
@media(max-width:900px){
  .inline-entry-edit-head{display:none;}
  .inline-entry-edit-line{grid-template-columns:1fr 1fr;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:8px;}
  .inline-entry-edit-line .inline-entry-libelle{grid-column:1/-1;}
}


/* V20.15 — Comptes comptables rattachés au plan comptable */
.inline-entry-compte-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}
.inline-entry-account-status{font-size:10px;font-weight:800;color:#64748b;line-height:1.15;min-height:12px}
.inline-entry-account-status.danger{color:#dc2626}
.inline-entry-edit-line.is-account-invalid .inline-entry-compte{border-color:#f97316!important;background:#fff7ed!important}
.inline-entry-edit-line.is-account-valid .inline-entry-compte{border-color:#22c55e!important;background:#f0fdf4!important}
.inline-entry-editor-head small{font-size:11px;color:#64748b;font-weight:800;margin-left:auto;margin-right:8px}

/* V20.18 — écriture comptable toujours visible */
.compact-note{margin:0 0 10px;font-size:12px;font-weight:700;color:#64748b}
.inline-entry-editor{margin-top:8px}

/* V20.40 — Relais métier : détail/historique uniquement, sans formulaire pièce */
.relay-only-expand{background:linear-gradient(180deg,#f8fbff,#fff)!important;}
.relay-detail-card{border:1px solid rgba(148,163,184,.22);border-radius:20px;background:#fff;padding:18px;display:grid;gap:16px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.relay-detail-head span{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.relay-detail-head h3{margin:0 0 8px;color:#0f172a;font-size:20px;line-height:1.25}
.relay-detail-head p{margin:0;color:#475569;white-space:pre-wrap;line-height:1.45}
.relay-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.relay-detail-row{border:1px solid rgba(148,163,184,.20);border-radius:14px;background:#f8fafc;padding:10px;min-width:0}
.relay-detail-row span{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;margin-bottom:4px}
.relay-detail-row strong{display:block;color:#0f172a;font-size:13px;line-height:1.3;word-break:break-word}
.relay-history-block{border-top:1px solid rgba(148,163,184,.18);padding-top:14px;display:grid;gap:10px}
.relay-history-block>strong{color:#0f172a;font-size:15px}
.relay-history-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.relay-history-list li{border-left:3px solid rgba(37,99,235,.35);padding:8px 10px;background:#f8fafc;border-radius:0 12px 12px 0}
.relay-history-list b{display:block;color:#0f172a;font-size:13px}
.relay-history-list small,.relay-history-list em{display:inline-block;margin-right:8px;color:#64748b;font-size:11px;font-style:normal}
.relay-history-list p{margin:4px 0 0;color:#475569;line-height:1.35;white-space:pre-wrap}
.relay-action-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-start;border-top:1px solid rgba(148,163,184,.18);padding-top:14px}
@media(max-width:900px){.relay-detail-grid{grid-template-columns:1fr}.relay-action-bar .btn{width:100%}}


.relay-auto-close-note{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:800;border:1px solid rgba(16,185,129,.25)}

/* V5.30 — Allègement global des pages : barres compactes au lieu des grands blocs d'introduction */
.compact-page-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.compact-page-bar > div:first-child{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.compact-page-bar strong{
  color:#0f172a;
  font-size:1rem;
  letter-spacing:-.015em;
}
.compact-page-bar span{
  color:#64748b;
  font-size:.86rem;
  line-height:1.35;
}
.compact-page-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.compact-page-actions .btn{
  min-height:38px;
  border-radius:12px;
  padding:0 14px;
  font-weight:800;
}
.cabinet-inbox-v3 .cabinet-inbox-kpis,
.docs-inbox .docs-inbox-kpis,
.ai-monitor-shell .ai-monitor-kpis{
  margin-top:0!important;
}
@media (max-width:720px){
  .compact-page-bar{align-items:stretch;flex-direction:column;padding:12px;margin-bottom:12px}
  .compact-page-actions{justify-content:flex-start}
  .compact-page-actions .btn{flex:1;justify-content:center}
}


/* V5.30 — Messageries compactes : suppression des grands blocs d'en-tête inutiles */
.internal-premium-compact .internal-hero,
.cabinet-inbox-compact .compact-page-bar,
.cabinet-inbox-compact .cabinet-inbox-kpis,
.cabinet-inbox-compact .cabinet-inbox-kpis-compact {
  display: none !important;
}

.cabinet-inbox-compact {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.cabinet-inbox-compact .cabinet-inbox-workspace-v3 {
  margin-top: 0 !important;
}

.cabinet-conversation-list-head-compact {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.cabinet-conversation-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.client-mode-tabs-no-hero {
  margin-top: 0 !important;
}

@media (max-width: 720px) {
  .cabinet-conversation-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .cabinet-conversation-actions .badge {
    grid-column: 1 / -1;
    justify-self: start;
  }
}


/* V5.31 — Messageries adaptées à la hauteur utile de la page */
.internal-premium-v168,
.cabinet-inbox-compact{
  min-height:calc(var(--az-screen-vh, 100vh) - 132px);
}

.internal-premium-v168 .internal-workspace{
  min-height:calc(var(--az-screen-vh, 100vh) - 160px);
}

.cabinet-inbox-compact .cabinet-inbox-workspace-v3{
  display:grid;
  grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(240px,280px);
  gap:16px;
  align-items:stretch;
  min-height:calc(var(--az-screen-vh, 100vh) - 160px);
}

.cabinet-conversation-list-panel,
.cabinet-thread-focus-panel,
.cabinet-inbox-side-v3,
.cabinet-side-card,
.cabinet-thread-focus-shell{
  min-height:0;
}

.cabinet-conversation-list-panel,
.cabinet-thread-focus-panel{
  height:100%;
  overflow:hidden;
}

.cabinet-conversation-list-panel{
  display:flex;
  flex-direction:column;
}

.cabinet-conversation-list{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.cabinet-thread-focus-panel{
  display:flex;
  flex-direction:column;
  padding:0;
}

.cabinet-thread-focus-shell{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  height:100%;
}

.cabinet-thread-focus-head,
.cabinet-thread-focus-compose{
  flex:0 0 auto;
}

.cabinet-thread-focus-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}

.cabinet-inbox-side-v3{
  display:flex;
  flex-direction:column;
  gap:16px;
  height:100%;
}

.cabinet-side-card{
  display:flex;
  flex-direction:column;
}

.cabinet-side-card.soft{
  flex:1 1 auto;
}

@media (max-width: 1180px){
  .cabinet-inbox-compact .cabinet-inbox-workspace-v3{
    grid-template-columns:minmax(260px,300px) minmax(0,1fr);
  }
  .cabinet-inbox-side-v3{
    grid-column:1 / -1;
    height:auto;
  }
}

@media (max-width: 980px){
  .internal-premium-v168,
  .cabinet-inbox-compact{
    min-height:auto;
  }
  .cabinet-inbox-compact .cabinet-inbox-workspace-v3{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .cabinet-conversation-list-panel,
  .cabinet-thread-focus-panel,
  .cabinet-inbox-side-v3{
    height:auto;
  }
  .cabinet-conversation-list{
    max-height:42vh;
  }
  .cabinet-thread-focus-body{
    min-height:320px;
    max-height:52vh;
  }
}


/* V5.39 — Fix position langue + messageries mieux alignées */
#view-cabinet-messages.view.active{
  display:flex!important;
  flex-direction:column;
  height:calc(100dvh - 78px);
  min-height:0;
  overflow:hidden;
}
#cabinet-messages-root{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  display:flex;
  flex-direction:column;
}
.cabinet-inbox-compact{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.cabinet-inbox-compact .cabinet-inbox-workspace-v3{
  align-items:stretch;
}
.cabinet-thread-focus-head,
.cabinet-conversation-list-head-compact{
  align-items:flex-start;
}
.cabinet-thread-focus-compose-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
@media (max-width:1000px){
  #view-cabinet-messages.view.active{
    height:auto;
    min-height:calc(100dvh - 120px);
    overflow:visible;
  }
  #cabinet-messages-root,
  .cabinet-inbox-compact{
    height:auto;
    overflow:visible;
  }
}
@media (max-width:720px){
  .cabinet-thread-focus-compose-actions{
    align-items:stretch;
  }
  .cabinet-thread-focus-compose-actions .btn{
    width:100%;
  }
}

/* V5.32 — Banque / Rapprochement automatique */
.bank-reco-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:16px;
  align-items:stretch;
}
.bank-reco-state-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.bank-reco-state-grid > div{
  padding:14px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.bank-reco-state-grid span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.bank-reco-state-grid strong{
  display:block;
  margin-top:6px;
  font-size:20px;
  color:#0f172a;
}
.bank-reco-state-grid small{
  display:block;
  color:#94a3b8;
  margin-top:3px;
}
.bank-reco-state-grid .is-ok{border-color:rgba(16,185,129,.35);background:#ecfdf5}
.bank-reco-state-grid .is-bad{border-color:rgba(239,68,68,.35);background:#fef2f2}
@media(max-width:980px){
  .bank-reco-layout{grid-template-columns:1fr}
  .bank-reco-state-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .bank-reco-state-grid{grid-template-columns:1fr}
}

/* AZALYS V5.34 — Menu collaborateur strict
   Les collaborateurs ne voient que : Accueil, Dossiers, Interne, Clients, Alertes. */
body.role-collaborateur .side-nav .nav-btn,
body.role-collaborateur .side-footer #btn-health{
  display:none!important;
}
body.role-collaborateur .side-nav .nav-btn[data-view="workbox"],
body.role-collaborateur .side-nav .nav-btn[data-view="dossiers"],
body.role-collaborateur .side-nav .nav-btn[data-view="internal-messages"],
body.role-collaborateur .side-nav .nav-btn[data-view="cabinet-messages"],
body.role-collaborateur .side-nav .nav-btn[data-view="alerts"]{
  display:flex!important;
}
body.role-collaborateur .side-nav .nav-btn[data-view="supervision"],
body.role-collaborateur .side-nav .nav-btn[data-view="ai-tasks"],
body.role-collaborateur .side-nav .nav-btn[data-view="collaborateurs"],
body.role-collaborateur .side-nav .nav-btn[data-view="settings"],
body.role-collaborateur .side-nav .nav-btn[data-view="modules"],
body.role-collaborateur .side-nav .nav-btn[data-view="legal-internal"]{
  display:none!important;
}

/* V5.40 — Messageries : étirer les 2 grands blocs vers le bas */
#view-internal-messages.view.active,
#view-cabinet-messages.view.active{
  padding-bottom:12px;
}

.internal-premium-v168 .internal-workspace,
.cabinet-inbox-compact .cabinet-inbox-workspace-v3{
  min-height:calc(100dvh - 150px);
}

.internal-premium-v168 .internal-contacts-panel,
.internal-premium-v168 .internal-thread-panel,
.internal-premium-v168 .internal-thread-shell,
.cabinet-conversation-list-panel,
.cabinet-thread-focus-panel,
.cabinet-thread-focus-shell,
.cabinet-inbox-side-v3{
  min-height:calc(100dvh - 190px)!important;
}

.internal-premium-v168 .internal-contacts-list,
.internal-premium-v168 .internal-thread-body,
.cabinet-conversation-list,
.cabinet-thread-focus-body{
  min-height:0!important;
}

@media (max-width:1000px){
  .internal-premium-v168 .internal-workspace,
  .cabinet-inbox-compact .cabinet-inbox-workspace-v3,
  .internal-premium-v168 .internal-contacts-panel,
  .internal-premium-v168 .internal-thread-panel,
  .internal-premium-v168 .internal-thread-shell,
  .cabinet-conversation-list-panel,
  .cabinet-thread-focus-panel,
  .cabinet-thread-focus-shell,
  .cabinet-inbox-side-v3{
    min-height:auto!important;
  }
}


/* V5.41 — Messagerie interne : les 2 blocs descendent jusqu'en bas utile */
#view-internal-messages.view.active{
  display:flex!important;
  flex-direction:column!important;
  height:calc(100dvh - 66px)!important;
  min-height:calc(100dvh - 66px)!important;
  padding-top:24px!important;
  padding-bottom:18px!important;
  overflow:hidden!important;
}

#internal-messages-root{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}

.internal-premium-v168{
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

.internal-premium-v168 .internal-workspace{
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

.internal-premium-v168 .internal-contacts-panel,
.internal-premium-v168 .internal-thread-panel{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

.internal-premium-v168 .internal-thread-shell{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

.internal-premium-v168 .internal-contacts-list,
.internal-premium-v168 .internal-thread-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
}

/* Même logique de hauteur pour Messages clients */
#view-cabinet-messages.view.active{
  display:flex!important;
  flex-direction:column!important;
  height:calc(100dvh - 66px)!important;
  min-height:calc(100dvh - 66px)!important;
  padding-top:24px!important;
  padding-bottom:18px!important;
  overflow:hidden!important;
}

#cabinet-messages-root,
.cabinet-inbox-compact{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

.cabinet-inbox-compact .cabinet-inbox-workspace-v3{
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
}

.cabinet-conversation-list-panel,
.cabinet-thread-focus-panel,
.cabinet-thread-focus-shell,
.cabinet-inbox-side-v3{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}

.cabinet-conversation-list,
.cabinet-thread-focus-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
}

@media (max-width:1000px){
  #view-internal-messages.view.active,
  #view-cabinet-messages.view.active{
    height:auto!important;
    min-height:calc(100dvh - 110px)!important;
    overflow:visible!important;
  }

  #internal-messages-root,
  #cabinet-messages-root,
  .internal-premium-v168,
  .cabinet-inbox-compact,
  .internal-premium-v168 .internal-workspace,
  .cabinet-inbox-compact .cabinet-inbox-workspace-v3{
    height:auto!important;
    overflow:visible!important;
  }
}

/* V5.53 — Messagerie interne : pièces jointes, images collées et emojis */
.internal-composer-box{grid-template-columns:38px minmax(0,1fr) 38px 48px;}
.internal-composer-help{font-size:.78rem;color:#64748b;margin:7px 8px 0;line-height:1.35;}
.internal-emoji-picker{display:flex;flex-wrap:wrap;gap:6px;margin:8px 6px 0;padding:8px;border:1px solid rgba(148,163,184,.25);background:#fff;border-radius:16px;box-shadow:0 14px 28px rgba(15,23,42,.08);max-width:360px;}
.internal-emoji-picker.hidden{display:none!important;}
.internal-emoji-picker button{width:34px;height:34px;border:0;border-radius:11px;background:#f8fafc;cursor:pointer;font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:.16s ease;}
.internal-emoji-picker button:hover{background:#e0ecff;transform:translateY(-1px);}
.internal-attachment-preview{display:flex;flex-wrap:wrap;gap:8px;margin:9px 6px 0;}
.internal-attachment-preview.hidden{display:none!important;}
.internal-pending-file{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid rgba(37,99,235,.18);background:#eff6ff;border-radius:999px;color:#1e3a8a;font-size:.8rem;font-weight:800;}
.internal-pending-file span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.internal-pending-file small{color:#64748b;font-weight:700;}
.internal-pending-file button{width:22px;height:22px;border:0;border-radius:50%;background:#dbeafe;color:#1d4ed8;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;}
.internal-pending-file button:hover{background:#bfdbfe;}
.internal-attachments{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:9px;}
.internal-attachments.compact{gap:6px;margin-top:7px;}
.internal-attachment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:min(340px,100%);padding:9px 10px;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.86);text-decoration:none;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.05);}
.internal-attachment:hover{border-color:rgba(37,99,235,.35);box-shadow:0 12px 22px rgba(37,99,235,.10);}
.internal-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850;font-size:.84rem;}
.internal-attachment small{color:#64748b;font-size:.72rem;font-weight:800;}
.internal-attachment-image{grid-template-columns:54px minmax(0,1fr) auto;}
.internal-attachment-image img{width:54px;height:42px;object-fit:cover;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#f8fafc;}
.internal-attachment.compact{min-width:0;padding:7px 8px;border-radius:12px;font-size:12px;}
.internal-attachment-image.compact{grid-template-columns:42px minmax(0,1fr);}
.internal-attachment-image.compact img{width:42px;height:34px;border-radius:8px;}
.internal-attachment.compact small{display:none;}
.internal-bubble.mine .internal-attachment{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.24);color:#fff;}
.internal-bubble.mine .internal-attachment small,.internal-bubble.mine .internal-attachment span{color:#fff;}
@media (max-width:640px){.internal-composer-box{grid-template-columns:34px minmax(0,1fr) 34px 42px}.internal-composer-help{font-size:.72rem}.internal-emoji-picker{max-width:none}.internal-pending-file span{max-width:150px}.internal-attachment{min-width:0}.internal-attachment-image{grid-template-columns:48px minmax(0,1fr)}}

/* AZALYS V5.54 — Messages internes : réponses citées + stabilité visuelle */
.internal-reply-btn{
  border:0;
  background:rgba(15,23,42,.06);
  color:#475569;
  border-radius:999px;
  padding:4px 8px;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  transition:.16s ease;
}
.internal-reply-btn:hover{background:rgba(37,99,235,.12);color:#1d4ed8;transform:translateY(-1px)}
.internal-bubble.mine .internal-reply-btn{background:rgba(255,255,255,.16);color:#fff}
.internal-bubble.mine .internal-reply-btn:hover{background:rgba(255,255,255,.26);color:#fff}
.internal-reply-preview{margin:0 0 8px 0}
.internal-reply-preview.hidden{display:none!important}
.internal-reply-preview-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(37,99,235,.18);
  border-left:4px solid rgba(37,99,235,.72);
  background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(248,250,252,.96));
  border-radius:14px;
  padding:9px 10px;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.internal-reply-preview-card span{display:block;font-size:.75rem;font-weight:800;color:#1d4ed8;margin-bottom:2px}
.internal-reply-preview-card p{margin:0;color:#334155;font-size:.86rem;line-height:1.35;max-height:38px;overflow:hidden}
.internal-reply-cancel{
  flex:0 0 auto;
  width:26px;
  height:26px;
  border:0;
  border-radius:10px;
  background:rgba(15,23,42,.07);
  color:#475569;
  cursor:pointer;
  font-size:1rem;
}
.internal-reply-cancel:hover{background:rgba(239,68,68,.12);color:#b91c1c}
.internal-bubble-reply{
  border-left:3px solid rgba(37,99,235,.55);
  background:rgba(15,23,42,.04);
  border-radius:10px;
  padding:7px 9px;
  margin:0 0 8px;
  display:grid;
  gap:2px;
}
.internal-bubble-reply strong{font-size:.74rem;color:#1d4ed8}
.internal-bubble-reply span{font-size:.82rem;color:#475569;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.internal-bubble.mine .internal-bubble-reply{background:rgba(255,255,255,.16);border-left-color:rgba(255,255,255,.70)}
.internal-bubble.mine .internal-bubble-reply strong,.internal-bubble.mine .internal-bubble-reply span{color:#fff}
.internal-chat-msg-meta .internal-reply-btn.compact{
  padding:2px 6px;
  font-size:.72rem;
  line-height:1;
}
.internal-chat-reply-preview .internal-reply-preview-card{padding:8px 9px;border-radius:12px;margin:2px 0 6px}
.internal-chat-reply-preview .internal-reply-preview-card p{font-size:.78rem;max-height:32px}
.internal-chat-msg .internal-bubble-reply{margin:5px 0 6px;padding:6px 8px}
.internal-chat-msg .internal-bubble-reply strong{font-size:.68rem}
.internal-chat-msg .internal-bubble-reply span{font-size:.76rem}
@media (max-width:640px){
  .internal-reply-btn{font-size:.68rem;padding:3px 7px}
  .internal-reply-preview-card{border-radius:12px;padding:8px 9px}
}

/* AZALYS V5.69 — droits globaux collaborateurs */
.collab-pro-rights-panel{margin-top:16px;overflow:visible!important;}
.collab-selected-profile{display:flex;align-items:center;gap:12px;min-width:0;}
.collab-selected-profile h3{margin:0;color:#0f2544;}
#collab-dirty{display:none;}
#collab-dirty.show{display:inline-flex;}
.collab-global-modules-zone{padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#fff;}
.global-modules-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;}
.global-modules-head strong{color:#0f2544;}
.global-modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.global-module-card{display:grid!important;grid-template-columns:auto 34px 1fr auto;gap:10px;align-items:center;margin:0!important;padding:11px 12px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;cursor:pointer;transition:.14s ease;}
.global-module-card:hover{border-color:#bfdbfe;background:#eff6ff;}
.global-module-card.checked{background:#ecfeff;border-color:#99f6e4;box-shadow:0 8px 20px rgba(15,118,110,.08);}
.global-module-card.locked{cursor:not-allowed;opacity:.92;}
.global-module-card input{width:17px;height:17px;margin:0;}
.global-module-icon{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;}
.global-module-text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.global-module-text strong{color:#0f2544;font-size:13px;}
.global-module-text small{color:#64748b;font-size:11px;line-height:1.25;}
.collab-rights-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc;}
.collab-rights-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;}
.collab-rights-summary strong{display:block;color:#0f2544;font-size:22px;line-height:1;font-variant-numeric:tabular-nums;}
.collab-rights-summary span{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.collab-pro-filterbar:has(#search-collab-dossiers){grid-template-columns:1fr auto auto;}
.collab-templates-zone{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:14px 18px;background:#fff;border-top:1px solid #e2e8f0;}
.collab-template-card{border:1px solid #e2e8f0;border-radius:15px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px;}
.collab-template-card h4{margin:0;color:#0f2544;}
.collab-template-card p{margin:0;color:#64748b;font-size:12px;line-height:1.35;}
.collab-template-tags{display:flex;flex-wrap:wrap;gap:5px;}
.collab-template-tags span{font-size:10px;font-weight:800;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 7px;}
.collab-preview-card.wide{grid-column:1/-1;}
@media(max-width:900px){.global-modules-head{align-items:flex-start;flex-direction:column}.collab-rights-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.collab-pro-filterbar:has(#search-collab-dossiers){grid-template-columns:1fr}.global-modules-grid{grid-template-columns:1fr}.collab-templates-zone{grid-template-columns:1fr}}

/* AZALYS V5.72 — UX/Product reorganisation : menus par rôle, pilotage et libellés métier */
.ux-role-nav{
  gap: 6px;
}
.nav-section-label{
  margin: 14px 10px 4px;
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(100,116,139,.86);
  font-weight: 800;
}
.side-nav .nav-section-label:first-child{
  margin-top: 4px;
}
body.role-client-dossier .cabinet-nav-section{
  display: none !important;
}
body:not(.role-client-dossier) .client-nav-section{
  display: none !important;
}
body.role-collaborateur .admin-only.nav-section-label,
body.role-collaborateur .admin-technical-only{
  display: none !important;
}
body.role-admin .admin-technical-only{
  display: none !important;
}
.ux-maintenance-only{
  display: none !important;
}
#btn-import-json.admin-technical-only,
#btn-export.admin-technical-only,
#btn-health.admin-technical-only{
  display:none !important;
}
.inbox-head-actions{
  align-items:center;
  flex-wrap:wrap;
}
#btn-validate-clean-workbox{
  white-space:nowrap;
}
.pilotage-cabinet-layout{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.pilotage-today-panel{
  padding:20px;
}
.pilotage-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.pilotage-stat{
  border:1px solid rgba(148,163,184,.28);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:132px;
}
.pilotage-stat small{
  color:#64748b;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:10px;
}
.pilotage-stat strong{
  font-size:30px;
  line-height:1;
  color:#0f172a;
}
.pilotage-stat span{
  color:#64748b;
  font-size:12px;
  min-height:30px;
}
.pilotage-stat .btn{
  margin-top:auto;
  align-self:flex-start;
}
.pilotage-stat.danger{border-color:rgba(239,68,68,.25);background:linear-gradient(180deg,#fff,#fff7f7)}
.pilotage-stat.warning{border-color:rgba(245,158,11,.28);background:linear-gradient(180deg,#fff,#fffbeb)}
.pilotage-stat.success{border-color:rgba(34,197,94,.24);background:linear-gradient(180deg,#fff,#f0fdf4)}
.pilotage-grid{
  align-items:start;
}
.pilotage-settings-card{
  padding:0;
  overflow:hidden;
}
.pilotage-settings-card > summary{
  cursor:pointer;
  list-style:none;
  padding:18px 20px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.pilotage-settings-card > summary::-webkit-details-marker{display:none}
.pilotage-settings-card > summary strong{
  font-size:16px;
  color:#0f172a;
}
.pilotage-settings-card > summary span{
  color:#64748b;
  font-size:12px;
}
.pilotage-settings-grid{
  border-top:1px solid rgba(148,163,184,.2);
  padding:16px;
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);
  gap:14px;
}
.supervision-owners li{
  gap:10px;
}
.supervision-owners li .btn{
  margin-left:auto;
}
@media (max-width: 980px){
  .pilotage-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pilotage-settings-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .pilotage-stats-grid{grid-template-columns:1fr;}
  .pilotage-stat{min-height:auto;}
  .nav-section-label{margin-left:8px;}
}

/* AZALYS v5.73 — Appels audio intégrés */
.audio-meetings-view,
.audio-meetings-shell{width:100%;}
.audio-meetings-shell{display:flex;flex-direction:column;gap:18px;}
.audio-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;overflow:hidden;position:relative;}
.audio-hero:before{content:"";position:absolute;inset:-80px auto auto -60px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(20,184,166,.15), transparent 68%);pointer-events:none;}
.audio-hero h2{margin:4px 0 6px;font-size:1.45rem;letter-spacing:-.02em;}
.audio-hero-kpis{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1;}
.audio-hero-kpis span{min-width:94px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.82);border-radius:18px;padding:12px 14px;text-align:center;box-shadow:0 10px 24px rgba(15,23,42,.06);}
.audio-hero-kpis strong{display:block;font-size:1.45rem;line-height:1;color:#0f766e;}
.audio-hero-kpis small{display:block;margin-top:4px;color:#64748b;font-size:.78rem;}
.audio-layout{display:grid;grid-template-columns:minmax(290px,.86fr) minmax(360px,1.25fr);gap:18px;align-items:start;}
.audio-create-card,.audio-room-card,.audio-list-card,.audio-notes-card{padding:18px;}
.audio-create-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.audio-create-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#334155;font-size:.88rem;}
.audio-create-form .wide{grid-column:1/-1;}
.audio-form-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.audio-form-info span{border:1px solid rgba(15,118,110,.15);background:rgba(240,253,250,.82);color:#0f766e;border-radius:999px;padding:7px 10px;font-weight:700;font-size:.78rem;}
.audio-room-box{border:1px solid rgba(15,23,42,.08);border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#f8fafc,#fff);min-height:420px;display:flex;flex-direction:column;}
.audio-room-empty{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#64748b;gap:8px;}
.audio-room-empty strong{color:#0f172a;font-size:1.05rem;}
.audio-room-empty span{max-width:360px;line-height:1.5;}
.audio-room-visual{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;font-size:2rem;background:linear-gradient(135deg,#ccfbf1,#dbeafe);box-shadow:0 18px 40px rgba(13,148,136,.18);margin-bottom:8px;}
.audio-room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08);background:#fff;}
.audio-room-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.audio-room-frame{height:420px;min-height:420px;background:#111827;}
.audio-room-frame iframe{border:0!important;width:100%!important;height:100%!important;display:block;border-radius:0;}
.audio-room-loading,.audio-room-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;gap:8px;padding:24px;}
.audio-room-error span{max-width:440px;color:#fecaca;}
.audio-meeting-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.audio-meeting-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:13px;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
.audio-meeting-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.07);}
.audio-meeting-card.selected{border-color:rgba(13,148,136,.55);box-shadow:0 0 0 3px rgba(13,148,136,.12);}
.audio-meeting-card.status-live{background:linear-gradient(90deg, rgba(240,253,250,.85), #fff);}
.audio-meeting-main{display:flex;align-items:center;gap:12px;min-width:0;}
.audio-meeting-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#ecfeff;font-size:1.25rem;flex:0 0 auto;}
.audio-meeting-main h3{margin:0;font-size:1rem;line-height:1.2;color:#0f172a;}
.audio-meeting-main p{margin:3px 0 0;color:#64748b;font-size:.86rem;}
.audio-meeting-main small{display:block;margin-top:2px;color:#94a3b8;font-size:.76rem;}
.audio-meeting-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.audio-notes-card{display:flex;flex-direction:column;gap:10px;}
.audio-notes-card textarea{min-height:92px;}
.danger-text{color:#dc2626!important;}
.client-audio-shell .audio-layout{grid-template-columns:1fr;}
.client-audio-shell .audio-hero{padding:18px;}
@media (max-width: 980px){
  .audio-hero{align-items:flex-start;flex-direction:column;}
  .audio-hero-kpis{justify-content:flex-start;width:100%;}
  .audio-layout{grid-template-columns:1fr;}
  .audio-create-form{grid-template-columns:1fr;}
  .audio-meeting-card{align-items:flex-start;flex-direction:column;}
  .audio-meeting-actions{justify-content:flex-start;width:100%;}
  .audio-room-frame,.audio-room-empty,.audio-room-box{min-height:360px;}
  .audio-room-frame{height:360px;}
}
@media (max-width: 560px){
  .audio-hero-kpis span{min-width:0;flex:1 1 30%;}
  .audio-create-card,.audio-room-card,.audio-list-card,.audio-notes-card{padding:14px;}
  .audio-room-frame,.audio-room-empty,.audio-room-box{min-height:320px;}
  .audio-room-frame{height:320px;}
  .audio-meeting-actions .btn{width:100%;justify-content:center;}
}

/* V5.74 — Flux collaborateur automatisé */
.inbox-owner{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 8px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-size:11px;
  font-weight:800;
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inbox-owner::before{content:'👤';font-size:10px;}
.inbox-kind.workflow{background:#ecfeff;color:#0e7490;border-color:#a5f3fc;}
.inbox-kind.alert{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}
.workbox-main-tab[data-workbox-simple-filter="flux"] span::before{content:'🧭 ';}

/* V5.75 — Mes flux calculés : synthèse sans création de tâches supplémentaires */
.flow-digest-expand{padding:14px 16px;background:#f8fafc;border-top:1px solid rgba(15,23,42,.08)}
.flow-digest-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;margin-bottom:12px}
.flow-digest-head h4{margin:0 0 4px;font-size:15px;color:#0f172a}
.flow-digest-head p{margin:0;color:#64748b;font-size:13px;line-height:1.45}
.flow-digest-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:360px}
.flow-digest-chips span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(15,23,42,.09);background:#fff;border-radius:999px;padding:5px 8px;font-size:12px;color:#475569;white-space:nowrap}
.flow-digest-chips b{color:#0f172a}
.flow-digest-list{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:14px;padding:12px}
.flow-digest-list>strong{display:block;margin-bottom:8px;font-size:13px;color:#0f172a}
.flow-digest-list ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.flow-digest-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(15,23,42,.06);border-radius:12px;padding:8px 10px;background:#fbfdff}
.flow-digest-list li strong{display:block;font-size:13px;color:#0f172a}
.flow-digest-list li small{display:block;color:#64748b;font-size:12px;margin-top:2px}
@media (max-width: 760px){.flow-digest-head{grid-template-columns:1fr}.flow-digest-chips{justify-content:flex-start;max-width:none}.flow-digest-list li{align-items:flex-start;flex-direction:column}}

/* V5.76 — action de relance réellement cliquable dans la ligne du poste */
.workbox-inline-action{
  appearance:none;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.workbox-inline-action:hover{background:#ffedd5;border-color:#fdba74;color:#7c2d12;}

/* V5.78 — éditeurs structurés TVA / Stock dans le poste de traitement */
.wb-lines-editor{width:100%;display:flex;flex-direction:column;gap:6px}
.wb-lines-head,.wb-lines-row{display:grid;grid-template-columns:1fr 0.7fr 0.7fr auto;gap:6px;align-items:center}
.wb-stock-head,.wb-stock-row{grid-template-columns:1.4fr .55fr .45fr .7fr .85fr .75fr auto auto}
.wb-lines-head{font-size:11px;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.wb-lines-row .control{min-width:0;width:100%}
@media(max-width:800px){.wb-lines-head{display:none}.wb-lines-row,.wb-stock-row{grid-template-columns:1fr}.wb-lines-row .btn{width:100%}}

/* V5.80 — traitement pièce : TVA/stock lisibles et stock masqué si non suivi */
.inline-fields-grid .inline-field.is-wide{grid-column:1 / -1;}
.inline-field.is-stock-hidden,[data-wb-stock-dependent][hidden]{display:none!important;}
.wb-lines-editor{width:100%;border:1px solid rgba(148,163,184,.28);background:#fff;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:10px;overflow:hidden;}
.wb-lines-head,.wb-lines-row{display:grid;gap:8px;align-items:center;}
.wb-tva-head,.wb-tva-row{grid-template-columns:minmax(130px,1fr) minmax(110px,.65fr) minmax(130px,.75fr) auto;}
.wb-stock-head,.wb-stock-row{grid-template-columns:minmax(260px,2fr) minmax(80px,.55fr) minmax(80px,.5fr) minmax(100px,.65fr) minmax(135px,.8fr) minmax(105px,.7fr) auto;}
.wb-lines-head{font-size:11px;color:#475569;font-weight:900;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid rgba(148,163,184,.22);padding-bottom:6px;}
.wb-lines-body{display:flex;flex-direction:column;gap:8px;}
.wb-lines-row .control{min-width:0;width:100%;}
.wb-stock-article-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;}
.wb-stock-article-cell .btn{white-space:nowrap;}
.wb-lines-actions{display:flex;justify-content:flex-start;gap:8px;}
.wb-tva-control{border:1px solid rgba(59,130,246,.18);background:#eff6ff;border-radius:12px;padding:8px 10px;color:#1e3a8a;font-size:12px;font-weight:800;line-height:1.35;}
.wb-tva-control.is-ok{border-color:rgba(34,197,94,.25);background:#f0fdf4;color:#166534;}
.wb-tva-control.is-error{border-color:rgba(239,68,68,.25);background:#fef2f2;color:#991b1b;}
.wb-stock-mode-notice{margin-top:8px;border:1px solid rgba(148,163,184,.24);background:#f8fafc;border-radius:14px;padding:9px 11px;color:#334155;font-size:12px;line-height:1.35;font-weight:700;}
.wb-stock-mode-notice.non_suivi{border-color:rgba(34,197,94,.22);background:#f0fdf4;color:#166534;}
.wb-stock-mode-notice.a_controler{border-color:rgba(245,158,11,.28);background:#fffbeb;color:#92400e;}
.wb-stock-mode-notice.entree_stock,.wb-stock-mode-notice.sortie_stock{border-color:rgba(37,99,235,.22);background:#eff6ff;color:#1d4ed8;}
.btn.danger-soft{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
.btn.danger-soft:hover{background:#ffedd5;border-color:#fdba74;color:#7c2d12;}
@media(max-width:1050px){
  .wb-tva-head,.wb-tva-row,.wb-stock-head,.wb-stock-row{grid-template-columns:1fr;}
  .wb-lines-head{display:none;}
  .wb-stock-article-cell{grid-template-columns:1fr;}
  .wb-lines-row .btn,.wb-stock-article-cell .btn{width:100%;}
}

/* V5.81 — visibilité Maintenance / Reset all */
#maintenance-card.maintenance-focus{outline:3px solid rgba(245,158,11,.45); box-shadow:0 0 0 8px rgba(245,158,11,.12), var(--shadow, 0 12px 30px rgba(15,23,42,.08));}
#btn-reset-all{font-weight:900;}

/* V5.84 — Charge temps / compteur tâche */
.work-timer-box{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:10px 0 12px; padding:12px 14px; border:1px solid rgba(59,130,246,.22);
  border-radius:16px; background:linear-gradient(135deg, rgba(239,246,255,.95), rgba(255,255,255,.95));
}
.work-timer-box strong{display:block;font-size:13px;color:#0f1f44;letter-spacing:.02em}
.work-timer-box small{display:block;margin-top:3px;color:#64748b;font-size:12px;line-height:1.35}
.work-timer-box>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.workload-list li.workload-owner{display:flex;flex-direction:column;gap:3px;border-left:4px solid rgba(59,130,246,.35);padding-left:10px}
.workload-list li.workload-owner.ok{border-left-color:#22c55e}
.workload-list li.workload-owner.normal{border-left-color:#3b82f6}
.workload-list li.workload-owner.warning{border-left-color:#f59e0b}
.workload-list li.workload-owner.danger{border-left-color:#ef4444}
.workload-list li.workload-owner em{font-style:normal;color:#64748b;font-size:12px}


/* V5.86 — curseur menu gauche + volet rentabilité collaborateurs */
.side-nav{position:relative;}
.side-nav .nav-cursor{position:absolute;left:4px;top:0;width:5px;height:42px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,#93c5fd,#2563eb);box-shadow:0 0 0 4px rgba(59,130,246,.12),0 12px 26px rgba(37,99,235,.35);transition:transform .22s ease,height .22s ease,opacity .18s ease;z-index:0;pointer-events:none;}
.side-nav .nav-cursor.hidden{opacity:0;}
.side-nav .nav-btn{position:relative;z-index:1;}
.side-nav .nav-btn.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 32px rgba(15,23,42,.12);}
.profitability-view{display:none;}
.profitability-view.active{display:block;}
.profitability-head{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#ffffff,#f8fbff);}
.profitability-head h1{margin:4px 0 8px;color:var(--navy);font-size:30px;letter-spacing:-.04em;}
.profitability-actions{display:flex;gap:10px;align-items:center;}
.profitability-root{display:flex;flex-direction:column;gap:16px;}
.profitability-layout{display:flex;flex-direction:column;gap:16px;}
.profitability-filter-card{padding:18px;}
.profitability-filter-grid{display:grid;grid-template-columns:180px minmax(220px,1fr) minmax(260px,1.2fr) auto;gap:12px;align-items:end;}
.profitability-filter-grid label{font-size:12px;font-weight:900;color:#475569;display:flex;flex-direction:column;gap:6px;}
.profitability-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.profitability-kpi{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:18px;box-shadow:0 16px 42px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:6px;}
.profitability-kpi small{color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:900;}
.profitability-kpi strong{font-size:28px;color:#0f172a;letter-spacing:-.04em;}
.profitability-kpi span{font-size:12px;color:#64748b;}
.profitability-kpi.success{border-color:rgba(34,197,94,.25);background:linear-gradient(135deg,#fff,#f0fdf4);}
.profitability-kpi.warning{border-color:rgba(245,158,11,.28);background:linear-gradient(135deg,#fff,#fffbeb);}
.profitability-kpi.danger{border-color:rgba(239,68,68,.28);background:linear-gradient(135deg,#fff,#fef2f2);}
.profitability-panel{padding:0;overflow:hidden;}
.profitability-panel.wide{width:100%;}
.profitability-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.profitability-table td strong{display:block;color:#0f172a;}
.profitability-table td small{display:block;color:#64748b;margin-top:2px;}
.profitability-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-weight:900;font-size:11px;white-space:nowrap;background:#f1f5f9;color:#475569;}
.profitability-badge.ok{background:#dcfce7;color:#166534;}
.profitability-badge.warning{background:#fef3c7;color:#92400e;}
.profitability-badge.danger{background:#fee2e2;color:#991b1b;}
.profitability-badge.neutral{background:#f1f5f9;color:#475569;}
.profitability-mini-bar{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden;min-width:120px;margin-bottom:4px;}
.profitability-mini-bar span{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:999px;}
.profitability-loading{padding:24px;}
@media(max-width:1100px){.profitability-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.profitability-split{grid-template-columns:1fr;}.profitability-filter-grid{grid-template-columns:1fr 1fr;}.profitability-filter-grid .btn{grid-column:1/-1;}}
@media(max-width:700px){.profitability-head{flex-direction:column;align-items:flex-start;}.profitability-kpi-grid,.profitability-filter-grid{grid-template-columns:1fr;}.side-nav .nav-cursor{display:none;}}

/* ==========================================================================
   AZALYS V5.89 — Permissions collaborateurs : lecture claire et anti-ambiguïté
   ========================================================================== */
.collab-right-row.is-ambiguous{border-color:#fed7aa!important;background:linear-gradient(180deg,#fff,#fff7ed)!important;}
.collab-right-row.is-ambiguous:before{background:#f97316!important;}
.collab-right-row.is-invalid{border-color:#fecaca!important;background:linear-gradient(180deg,#fff,#fef2f2)!important;}
.collab-right-row.is-invalid:before{background:#dc2626!important;}
.badge.warning{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important;}
.badge.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;}
.collab-permission-warning{margin:0 14px 10px 18px;padding:9px 11px;border:1px solid #fdba74;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:750;line-height:1.35;}
.collab-permission-warning.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.collab-scope-alert{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #fdba74;border-radius:13px;background:#fff7ed;color:#9a3412;}
.collab-scope-alert strong{font-size:13px!important;color:#9a3412!important;}
.collab-scope-alert span{font-size:11px!important;margin:0!important;color:#9a3412!important;}
#collab-rights-zone .collab-right-row.is-ambiguous .collab-row-options,
#collab-rights-zone .collab-right-row.is-invalid .collab-row-options{background:#fff!important;}
#collab-rights-zone .collab-right-row.is-ambiguous .collab-module-pill.checked{background:#ffedd5!important;border-color:#fdba74!important;color:#9a3412!important;}
