/* Un élément [hidden] doit toujours rester masqué, même si une classe lui donne un display (corrige la page blanche de Studio HTML : overlay plein écran non masqué). */
[hidden]{display:none!important}

/* =========================================================================
   SÉSAME — Feuille de style « WorkEase »
   Ivoire chaud · bento · glassmorphism léger · accents pastel · corail
   ========================================================================= */

:root{
  --bg:#eef3fa; --bg2:#e6eef8; --ink:#12243f; --ink-soft:#5c6b82; --line:#dde7f3;
  --card:#ffffff; --card-glass:rgba(255,255,255,.72); --shadow:0 12px 32px rgba(16,36,64,.10);
  --shadow-sm:0 4px 14px rgba(16,36,64,.08); --radius:22px; --radius-sm:14px;
  --coral:#1b4f9c; --coral-ink:#153f7d; --action:#f0785a; --action-ink:#d65a3c;
  /* teintes pastel (fonds d'icônes) */
  --t-lav:#e8e3fb;   --t-lav-ink:#6a54c9;
  --t-rose:#fbe1e8;  --t-rose-ink:#c2496e;
  --t-coral:#fde0d6; --t-coral-ink:#c9502f;
  --t-sky:#dcecfb;   --t-sky-ink:#2f6fb0;
  --t-amber:#fbeccf; --t-amber-ink:#b07d1e;
  --t-sage:#dff0e2;  --t-sage-ink:#3d8a56;
  --t-teal:#d3efec;  --t-teal-ink:#1f8378;
  --t-blue:#dde3fb;  --t-blue-ink:#3f52c4;
  --t-violet:#ece0fb;--t-violet-ink:#7a44c2;
  --t-peach:#fce9d8; --t-peach-ink:#c07629;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:
    radial-gradient(1100px 600px at 88% -8%, #fbeee2 0%, transparent 55%),
    radial-gradient(900px 500px at -6% 12%, #f6ebf4 0%, transparent 50%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
}
.svg-sprite{position:absolute;width:0;height:0}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}
a{color:inherit;text-decoration:none}

/* ---------------- Layout ---------------- */
.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}
.rail{
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;
  padding:20px 16px;background:var(--card-glass);backdrop-filter:blur(14px);
  border-right:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 16px}
.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(135deg,#f7a58c,var(--coral));color:#fff;box-shadow:var(--shadow-sm)}
.brand-mark .ic{width:24px;height:24px;stroke-width:2}
.brand-mark.lg{width:60px;height:60px;border-radius:18px}
.brand-mark.lg .ic{width:32px;height:32px}
.brand-txt b{display:block;font-size:17px;letter-spacing:.2px}
.brand-txt small{color:var(--ink-soft);font-size:11.5px}
.nav{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;
  color:var(--ink-soft);font-size:14.5px;font-weight:600}
.nav a .ic{width:20px;height:20px}
.nav a:hover{background:rgba(240,120,90,.08);color:var(--ink)}
.nav a.active{background:#fff;color:var(--coral-ink);box-shadow:var(--shadow-sm)}
.rail-spacer{flex:1}
.rail-user{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:14px;border:1px solid var(--line)}
.rail-user:hover{background:#fff}
.rail-user .ic{width:18px;height:18px;color:var(--ink-soft);margin-left:auto}
.ru-txt b{display:block;font-size:13.5px}
.ru-txt small{color:var(--ink-soft);font-size:11.5px}
.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f7c59a,#f0785a);
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}
.avatar.sm{width:34px;height:34px;border-radius:11px;font-size:14px}

.content{display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;
  padding:16px 30px;background:rgba(244,239,231,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.search{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;padding:11px 16px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.search .ic{width:19px;height:19px;color:var(--ink-soft)}
.search input{border:0;outline:0;background:transparent;flex:1;font-size:14px;color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.icon-btn{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--card);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink-soft)}
.user{display:flex;align-items:center;gap:10px}
.user-txt b{display:block;font-size:13.5px}
.user-txt small{color:var(--ink-soft);font-size:11.5px}

.scroll{padding:30px;overflow:auto}

/* ---------------- Hero ---------------- */
.hero{border-radius:var(--radius);padding:38px 40px;margin-bottom:28px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#fff6ee 0%,#fdeee6 45%,#f6ecf6 100%);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-in{position:relative;z-index:1;max-width:640px}
.hello{display:inline-block;font-size:13px;font-weight:700;color:var(--coral-ink);
  background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:20px;margin-bottom:14px}
.hero h1{font-size:34px;line-height:1.12;letter-spacing:-.5px}
.hero h1 em{font-style:normal;color:var(--coral-ink);display:block}
.hero p{margin-top:12px;color:var(--ink-soft);font-size:15px;max-width:480px}

/* ---------------- Familles & cartes ---------------- */
.fam{margin-bottom:30px}
.fam-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.fam-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}
.fam-ic .ic{width:20px;height:20px}
.fam-h h2{font-size:18px;letter-spacing:-.2px}

.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease;min-height:150px}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ic-wrap{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:4px}
.ic-wrap.sm{width:40px;height:40px;border-radius:12px}
.ic-wrap .ic{width:24px;height:24px}
.card h3{font-size:16px;letter-spacing:-.2px}
.card p{font-size:13px;color:var(--ink-soft);line-height:1.4;flex:1}
.go{position:absolute;right:16px;bottom:16px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  background:var(--bg2);color:var(--ink-soft);opacity:0;transition:opacity .16s ease}
.go .ic{width:17px;height:17px}
.card:hover .go{opacity:1}
.badge{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:20px;
  background:var(--bg2);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}
.badge.on{background:var(--t-sage);color:var(--t-sage-ink)}
.badge.beta{background:var(--t-amber);color:var(--t-amber-ink)}

/* teintes appliquées aux icônes (fam-ic / ic-wrap) */
.t-lav .ic-wrap,.t-lav.fam-ic,.t-lav .msg-ic{background:var(--t-lav);color:var(--t-lav-ink)}
.t-rose .ic-wrap,.t-rose.fam-ic{background:var(--t-rose);color:var(--t-rose-ink)}
.t-coral .ic-wrap,.t-coral.fam-ic,.t-coral .msg-ic,.msg-ic.t-coral{background:var(--t-coral);color:var(--t-coral-ink)}
.t-sky .ic-wrap,.t-sky.fam-ic{background:var(--t-sky);color:var(--t-sky-ink)}
.t-amber .ic-wrap,.t-amber.fam-ic{background:var(--t-amber);color:var(--t-amber-ink)}
.t-sage .ic-wrap,.t-sage.fam-ic{background:var(--t-sage);color:var(--t-sage-ink)}
.t-teal .ic-wrap,.t-teal.fam-ic{background:var(--t-teal);color:var(--t-teal-ink)}
.t-blue .ic-wrap,.t-blue.fam-ic{background:var(--t-blue);color:var(--t-blue-ink)}
.t-violet .ic-wrap,.t-violet.fam-ic,.msg-ic.t-violet{background:var(--t-violet);color:var(--t-violet-ink)}
.t-peach .ic-wrap,.t-peach.fam-ic{background:var(--t-peach);color:var(--t-peach-ink)}
.fam-ic.t-lav{background:var(--t-lav);color:var(--t-lav-ink)}

.empty{padding:40px;text-align:center;color:var(--ink-soft);background:var(--card);
  border:1px dashed var(--line);border-radius:var(--radius)}

/* ---------------- Centre de pilotage ---------------- */
.page-h{margin-bottom:22px}
.page-h h1{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:-.3px}
.page-h h1 .ic{width:24px;height:24px;color:var(--coral-ink)}
.page-h p{margin-top:8px;color:var(--ink-soft);font-size:14px;max-width:680px}
.pilot-list{display:flex;flex-direction:column;gap:14px}
.pilot-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:16px 18px;box-shadow:var(--shadow-sm)}
.pc-head{display:flex;align-items:center;gap:13px}
.pc-title{flex:1;min-width:0}
.pc-title b{font-size:15px}
.pc-title small{display:block;color:var(--ink-soft);font-size:12px}
.status-form{display:flex;align-items:center;gap:8px}
.sel{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;color:var(--ink)}
.btn-sm{padding:8px 13px;border:0;border-radius:10px;background:var(--coral);color:#fff;font-weight:600;font-size:13px;cursor:pointer}
.btn-sm:hover{background:var(--coral-ink)}
.pc-access{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:20px;
  background:var(--t-blue);color:var(--t-blue-ink);font-size:12.5px;font-weight:600}
.chip small{font-weight:500;opacity:.8}
.inline{display:inline}
.chip-x{border:0;background:rgba(0,0,0,.08);color:inherit;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:11px;line-height:1}
.chip-x:hover{background:rgba(0,0,0,.18)}
.muted{color:var(--ink-soft);font-size:13px}
.add-access{margin-top:12px}
.add-access summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--coral-ink);width:max-content}
.add-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ag{display:flex;align-items:center;gap:6px}

.msg{max-width:520px;margin:60px auto;text-align:center;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:44px 34px;box-shadow:var(--shadow)}
.msg-ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 18px}
.msg-ic .ic{width:32px;height:32px}
.msg h1{font-size:26px;margin-bottom:8px}
.msg p{color:var(--ink-soft);margin-bottom:6px}
.btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:11px 18px;border-radius:12px;
  background:var(--coral);color:#fff;font-weight:600}
.btn .ic{width:18px;height:18px}
.btn:hover{background:var(--coral-ink)}

/* ---------------- Connexion ---------------- */
.login-body{display:grid;place-items:center;min-height:100vh;padding:24px}
.login-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:26px;
  padding:38px 32px;box-shadow:var(--shadow);text-align:center}
.login-card h1{font-size:28px;margin-top:16px}
.login-card .sub{color:var(--ink-soft);font-size:14px;margin-bottom:22px}
.dev-note{font-size:12px;color:var(--t-amber-ink);background:var(--t-amber);padding:8px 12px;border-radius:10px;margin-bottom:16px}
.login-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:10px;
  background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;text-align:left;box-shadow:var(--shadow-sm)}
.login-btn:hover{border-color:var(--coral);transform:translateY(-1px)}
.login-btn .ic{width:18px;height:18px;color:var(--ink-soft);margin-left:auto}
.lb-txt b{display:block;font-size:14px}
.lb-txt small{color:var(--ink-soft);font-size:12px}
.login-btn.sso{justify-content:center;background:var(--coral);color:#fff;border:0}
.login-btn.sso .ic{color:#fff}

/* ---------------- Responsive ---------------- */
/* Bouton menu (hamburger) + fond assombri du tiroir. [resp-shell-v1] */
.rail-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;flex:none;
  border:1px solid var(--line);background:var(--card);border-radius:13px;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm)}
.rail-burger:hover{color:var(--coral-ink);border-color:var(--coral)}
.rail-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:55;border:0}
@media(max-width:860px){
  .app{grid-template-columns:1fr}
  .rail{position:fixed;left:-280px;z-index:60;transition:left .2s}
  body.rail-open .rail{left:0}
  .rail-burger{display:inline-flex}
  .scroll{padding:18px}
  .topbar{padding:12px 14px;gap:10px}
  .hero{padding:26px 22px}
  .hero h1{font-size:26px}
}
@media(min-width:861px){ .rail-backdrop{display:none !important} }


/* ================= Module Transfert (WorkEase) ================= */
.ic-wrap.t-coral{background:var(--t-coral);color:var(--t-coral-ink)}
.ic-wrap.t-sky{background:var(--t-sky);color:var(--t-sky-ink)}
.ic-wrap.t-sage{background:var(--t-sage);color:var(--t-sage-ink)}

/* Bandeau quota */
.quota-card{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow-sm);margin-bottom:20px}
.quota-card .ic-wrap{flex:none}
.quota-body{flex:1;min-width:0}
.quota-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px}
.quota-top b{font-size:15px}
.quota-top small{color:var(--ink-soft);font-size:12.5px}
.quota-bar{height:10px;border-radius:20px;background:var(--bg2);overflow:hidden}
.quota-fill{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#f7a98f,var(--coral));transition:width .5s ease}

/* Alertes */
.alert{border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:20px;font-size:14px}
.alert.err{background:var(--t-rose);color:var(--t-rose-ink)}
.alert.ok{background:var(--t-sage);color:var(--t-sage-ink)}
.alert.ok b{color:var(--t-sage-ink)}

/* Grille bento */
.tr-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:stretch}
.tr-grid>.pane{display:flex;flex-direction:column}
.tr-grid>.pane .empty.sm{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:200px}
.pane{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow-sm)}
.pane h2{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:9px}
.pane h2 .ic{width:17px;height:17px;color:var(--coral-ink)}

/* Zone de dépôt */
.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
  padding:30px 22px;border:2px dashed var(--line);border-radius:18px;background:var(--bg);
  transition:border-color .18s,background .18s,transform .18s;margin-bottom:18px}
.dropzone.drag{border-color:var(--coral);background:var(--t-coral);transform:scale(1.01)}
.dropzone .ic-wrap{width:56px;height:56px;border-radius:18px}
.dropzone .ic-wrap .ic{width:26px;height:26px}
.dz-title{font-weight:700;font-size:15px}
.dz-hint{color:var(--ink-soft);font-size:12.5px}
.dz-btn{margin-top:4px;display:inline-block;padding:9px 18px;border-radius:20px;background:#fff;
  border:1.5px solid var(--coral);color:var(--coral-ink);font-weight:600;font-size:13px;cursor:pointer;transition:.15s}
.dz-btn:hover{background:var(--coral);color:#fff}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dz-files{list-style:none;display:flex;flex-direction:column;gap:7px;margin-top:6px;width:100%}
.dz-files li{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:8px 12px;font-size:12.5px;text-align:left}
.dz-files .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.dz-files .fs{color:var(--ink-soft);font-size:11.5px;flex:none}

/* Champs */
.field{display:block;margin-bottom:15px}
.field>span{display:block;font-size:12.5px;color:var(--ink-soft);font-weight:600;margin-bottom:6px}
.field input,.field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;
  background:#fff;font-size:14px;color:var(--ink);font-family:inherit;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--t-coral)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.btn-primary{width:100%;padding:13px;border:0;border-radius:14px;background:var(--action);color:#fff;
  font-weight:700;font-size:14.5px;cursor:pointer;margin-top:6px;transition:background .15s,transform .1s;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--action-ink)}
.btn-primary:active{transform:translateY(1px)}

/* Boîte lien + copie */
.link-box{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.link-box input{flex:1;min-width:130px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;
  background:var(--bg);font-size:12.5px;color:var(--ink-soft)}
.send-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:11px;padding:0 14px;
  background:var(--coral);color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;
  text-decoration:none;transition:background .15s}
.send-btn:hover{background:var(--coral-ink)}
.send-btn .ic{width:14px;height:14px}
.copy{border:1.5px solid var(--coral);background:#fff;border-radius:11px;padding:0 14px;font-size:12.5px;
  font-weight:600;cursor:pointer;color:var(--coral-ink);white-space:nowrap;transition:.15s}
.copy:hover{background:var(--coral);color:#fff}

/* Liste des transferts */
.tr-item{display:flex;align-items:flex-start;gap:13px;padding:15px;border:1px solid var(--line);
  border-radius:var(--radius-sm);background:var(--bg);margin-bottom:12px;transition:box-shadow .15s,transform .15s}
.tr-item:last-child{margin-bottom:0}
.tr-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.tr-item .ic-wrap{flex:none}
.tr-body{flex:1;min-width:0}
.tr-body>b{font-size:14px}
.tr-meta{display:block;color:var(--ink-soft);font-size:12px;margin:2px 0 2px}
.tr-del{flex:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:30px;height:30px;
  cursor:pointer;color:var(--ink-soft);font-size:12px;line-height:1;transition:.15s}
.tr-del:hover{border-color:var(--t-rose-ink);color:var(--t-rose-ink);background:var(--t-rose)}
.empty.sm{padding:30px 20px;font-size:13px;border-radius:var(--radius-sm)}

/* Note sécurité */
.tr-note{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--ink-soft)}
.tr-note .ic{width:14px;height:14px;color:var(--t-sage-ink)}

/* Pages publiques de téléchargement */
.dl-card{width:100%;max-width:470px;background:var(--card);border:1px solid var(--line);border-radius:26px;
  padding:36px 32px;box-shadow:var(--shadow);text-align:center}
.dl-card .brand-mark{margin:0 auto 16px}
.dl-card h1{font-size:22px;letter-spacing:-.3px}
.dl-card .sub{color:var(--ink-soft);font-size:14px;margin-top:6px}
.dl-card .muted{color:var(--ink-soft);font-size:12.5px;margin-top:6px}
.dl-card form{text-align:left;margin-top:20px}
.dl-files{display:flex;flex-direction:column;gap:11px;margin:22px 0 8px;text-align:left}
.dl-file{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);
  border-radius:15px;background:var(--bg);transition:.15s}
.dl-file:hover{border-color:var(--coral);background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.dl-file .ic-wrap{margin:0;flex:none}
.dl-meta{flex:1;min-width:0}
.dl-meta b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-meta small{color:var(--ink-soft);font-size:12px}
.dl-file>.ic{width:18px;height:18px;color:var(--coral-ink);flex:none}
.dl-foot{margin-top:20px;font-size:12px;color:var(--ink-soft)}
@media(max-width:900px){.tr-grid{grid-template-columns:1fr}}

/* Phase 2 — sections invités */
.sub-h{margin-top:36px}
.sub-h h2{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.3px}
.sub-h h2 .ic{width:20px;height:20px;color:var(--coral-ink)}
.sub-lbl{font-size:11.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 10px}
.sub-lbl:first-child{margin-top:0}

/* ===== Transfert — tableau de bord (refonte) ===== */
.tr-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.tr-head .tile-lg{width:58px;height:58px;border-radius:18px;flex:none}
.tile-lg .ic{width:28px;height:28px}
.tr-head-txt h1{font-size:25px;letter-spacing:-.5px}
.tr-head-txt p{color:var(--ink-soft);font-size:13.5px;margin-top:3px;max-width:660px}

.stat-row{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:14px;margin-bottom:24px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 18px;box-shadow:var(--shadow-sm)}
.stat-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}
.stat-value{display:block;font-size:16px;font-weight:700;margin-top:7px}
.stat-value.big{font-size:27px;letter-spacing:-.5px;line-height:1}
.stat-value em{color:var(--ink-soft);font-style:normal;font-weight:500;font-size:13px}
.stat.wide .quota-bar{margin-top:11px}

.seg{display:inline-flex;gap:4px;background:var(--bg2);border-radius:14px;padding:4px;margin-bottom:22px}
.seg-btn{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:11px;
  padding:9px 20px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:.15s}
.seg-btn .ic{width:16px;height:16px}
.seg-btn.is-on{background:var(--card);color:var(--coral-ink);box-shadow:var(--shadow-sm)}
.seg-btn:not(.is-on):hover{color:var(--ink)}

.panel{display:none}
.panel.is-active{display:block;animation:fadein .25s ease}
@keyframes fadein{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

@media(max-width:900px){.stat-row{grid-template-columns:1fr 1fr}.seg{width:100%}.seg-btn{flex:1;justify-content:center}}

/* Upload par morceaux — progression */
.up-prog{margin-top:12px}
.up-bar{height:10px;border-radius:20px;background:var(--bg2);overflow:hidden}
.up-bar span{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#f7a98f,var(--coral));transition:width .2s}
.up-txt{font-size:12.5px;color:var(--ink-soft);margin-top:7px}

/* ===================== Studio HTML (constructeur) ===================== */
.t-amber{background:linear-gradient(145deg,#ffd9a3,#f5a623)}
.tile-sm{width:38px;height:38px;border-radius:12px;flex:none}
.tile-sm .ic{width:20px;height:20px}
.btn-primary.sm,.btn-ghost.sm{padding:9px 16px;font-size:13.5px;width:auto;margin:0}
.btn-ghost{display:inline-block;border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:12px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none}
.btn-ghost:hover{border-color:var(--coral);color:var(--coral-ink)}

.sb-app{display:flex;flex-direction:column;gap:0}
.sb-toolbar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:12px 14px;box-shadow:var(--shadow-sm);position:sticky;top:10px;z-index:20}
.sb-title-input{flex:1;border:0;background:transparent;font-size:16px;font-weight:700;font-family:inherit;color:var(--ink);padding:6px 4px;min-width:120px}
.sb-title-input:focus{outline:none;border-bottom:2px solid var(--coral)}
.sb-tb-right{display:flex;align-items:center;gap:10px}
.sb-device{display:inline-flex;gap:3px;background:var(--bg2);border-radius:11px;padding:3px}
.sb-dev{border:0;background:transparent;border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit}
.sb-dev.is-on{background:var(--card);color:var(--coral-ink);box-shadow:var(--shadow-sm)}
.sb-status{font-size:12px;font-weight:600;color:var(--ink-soft);min-width:96px;text-align:right}
.sb-status.ok{color:#3c9a5f}.sb-status.warn{color:#c9603f}

.sb-main{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:16px;margin-top:16px;align-items:start}
.sb-side-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin:4px 4px 10px}
.sb-pages,.sb-panel{position:sticky;top:86px}
.sb-pages{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow-sm)}
.sb-page-new{display:block;text-align:center;border:1px dashed var(--coral);color:var(--coral-ink);border-radius:11px;padding:9px;font-weight:700;font-size:13px;text-decoration:none;margin-bottom:10px}
.sb-page-new:hover{background:var(--coral-tint)}
.sb-page-item{display:flex;align-items:center;border-radius:10px;margin-bottom:3px}
.sb-page-item.is-on{background:var(--coral-tint)}
.sb-page-item:hover{background:var(--bg2)}
.pg-t{flex:1;padding:9px 10px;font-size:13.5px;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-page-item.is-on .pg-t{color:var(--coral-ink);font-weight:600}
.pg-del{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;padding:6px 9px;border-radius:8px;font-size:12px}
.pg-del:hover{color:#c9603f}

.sb-canvaswrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);min-height:420px;overflow:hidden;position:relative}
.sb-canvaswrap.is-mobile .sb-canvas{max-width:390px;margin:0 auto;box-shadow:0 0 0 1px var(--line)}
.sb-canvas{min-height:420px;background:#fff}
.sb-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-soft);font-size:14px;padding:30px;pointer-events:none}

.sb-block{position:relative;outline:2px solid transparent;transition:outline-color .12s;cursor:pointer}
.sb-block:hover{outline-color:#f2c9bd}
.sb-block.is-sel{outline-color:var(--coral)}
.sb-block-inner{pointer-events:none}
.sb-block-inner a{pointer-events:none}
.sb-ctrls{position:absolute;top:6px;right:6px;display:none;gap:2px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:9px;padding:2px;z-index:5;box-shadow:var(--shadow-sm)}
.sb-block:hover .sb-ctrls,.sb-block.is-sel .sb-ctrls{display:flex}
.sb-ctrls button{border:0;background:transparent;cursor:pointer;padding:5px 7px;border-radius:6px;font-size:12px;color:var(--ink-soft)}
.sb-ctrls button:hover{background:var(--bg2);color:var(--ink)}

.sb-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow-sm)}
.sb-palette{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}
.sb-add{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 8px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;text-align:left}
.sb-add:hover{border-color:var(--coral);color:var(--coral-ink);background:var(--coral-tint)}
.sb-add-ico{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;background:var(--bg2);border-radius:6px;font-size:12px;flex:none}
.sb-hint{font-size:13px;color:var(--ink-soft);padding:6px 2px}
.sb-insp-head{font-weight:700;font-size:14px;margin-bottom:10px;color:var(--coral-ink)}
.sb-f{display:block;margin-bottom:11px}
.sb-f>span{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}
.sb-f input[type=text],.sb-f input[type=number],.sb-f textarea,.sb-f select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink)}
.sb-f textarea{resize:vertical}
.sb-f input[type=color]{width:44px;height:30px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--card);cursor:pointer}
.sb-seg-mini{display:inline-flex;gap:3px;background:var(--bg2);border-radius:9px;padding:3px}
.sb-seg-mini button{border:0;background:transparent;border-radius:7px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--ink-soft)}
.sb-seg-mini button.on{background:var(--card);color:var(--coral-ink);box-shadow:var(--shadow-sm)}

@media(max-width:1000px){.sb-main{grid-template-columns:1fr}.sb-pages,.sb-panel{position:static}}

/* ===================== Studio HTML v2 (premium) ===================== */
.sb-main{grid-template-columns:238px minmax(0,1fr) 300px}
.sb-left{position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow-sm)}
.sb-themes{display:flex;gap:6px;flex-wrap:wrap}
.sb-theme{width:34px;height:26px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0}
.sb-theme.is-on{border-color:var(--ink);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.sb-font{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink)}
.sb-pagelist{display:grid;gap:2px}
.sb-pg{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:9px;cursor:pointer;font-size:13px}
.sb-pg:hover{background:var(--bg2)}
.sb-pg.is-on{background:var(--coral-tint)}.sb-pg.is-on .sb-pg-n{color:var(--coral-ink);font-weight:600}
.sb-pg-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-pg-a{display:none;gap:1px;flex:none}.sb-pg:hover .sb-pg-a{display:flex}
.sb-pg-a button{border:0;background:transparent;cursor:pointer;color:var(--ink-soft);padding:3px 6px;border-radius:6px;font-size:11px}
.sb-pg-a button:hover{background:var(--card);color:var(--ink)}
.sb-templates{display:grid;gap:6px}
.sb-tpl{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 11px;text-align:left;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--ink)}
.sb-tpl:hover{border-color:var(--coral);color:var(--coral-ink);background:var(--coral-tint)}
.sb-doc-new{display:block;text-align:center;border:1px dashed var(--coral);color:var(--coral-ink);border-radius:10px;padding:8px;font-weight:700;font-size:12.5px;text-decoration:none;margin-bottom:6px}
.sb-doc-item{display:flex;align-items:center;border-radius:9px}
.sb-doc-item.is-on{background:var(--coral-tint)}.sb-doc-item:hover{background:var(--bg2)}

.sb-stage{padding:0}
.sb-canvaswrap.dv-tablet .sb-canvas{max-width:768px;margin:0 auto;box-shadow:0 0 0 1px var(--line)}
.sb-canvaswrap.dv-mobile .sb-canvas{max-width:390px;margin:0 auto;box-shadow:0 0 0 1px var(--line)}
.sb-bi{pointer-events:none}
.sb-block[draggable=true]{cursor:grab}
.sb-block.dragging{opacity:.45}

.sb-panel-tabs{display:flex;gap:4px;margin-bottom:12px;background:var(--bg2);border-radius:11px;padding:3px}
.sb-pt{flex:1;border:0;background:transparent;border-radius:9px;padding:8px;font-weight:600;font-size:13px;color:var(--ink-soft);cursor:pointer;font-family:inherit}
.sb-pt.is-on{background:var(--card);color:var(--coral-ink);box-shadow:var(--shadow-sm)}
.sb-tabpane{display:none}.sb-tabpane.is-active{display:block}
.sb-cat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin:12px 2px 6px}
.sb-cat-g{display:grid;grid-template-columns:1fr 1fr;gap:6px}

.sb-device .sb-dev{font-size:15px;padding:7px 11px}

.sb-present{position:fixed;inset:0;z-index:1000;background:#0b0e14;display:flex;flex-direction:column}
.sb-present-stage{flex:1;overflow:auto;background:#fff}
.sb-present-bar{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;background:#0b0e14;color:#fff}
.sb-present-bar button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:10px;padding:9px 18px;cursor:pointer;font-size:16px;font-family:inherit}
.sb-present-bar button:hover{background:rgba(255,255,255,.22)}
#spNum{font-weight:700;min-width:64px;text-align:center}

@media(max-width:1000px){.sb-left{position:static;max-height:none}}

/* Transfert — liste des fichiers sélectionnés (avec retrait ✕) */
.dz-files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.dz-files li{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:13px}
.dz-ic{width:34px;height:34px;flex:none;border-radius:8px;background:var(--coral-tint);color:var(--coral-ink);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.dz-files .fn{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.dz-files .fs{color:var(--ink-soft);font-size:12px;white-space:nowrap}
.dz-x{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;padding:5px 9px;border-radius:7px;font-size:13px;flex:none}
.dz-x:hover{background:#fdeae4;color:#c9603f}
.dz-total{background:transparent!important;border:0!important;justify-content:flex-end;padding:2px 4px!important}
.dz-total b{font-size:12.5px;font-weight:700;color:var(--ink-soft)}

/* ===================== Page d'accueil — thème AGS (premium) ===================== */
.theme-ags{--ags-blue:#1b4f9c;--ags-blue-ink:#153f7d;--ags-blue-tint:#e8f0fb;--ags-orange:#f0785a;--ags-orange-ink:#d65a3c;--ags-hero:linear-gradient(135deg,#0b2e5e,#1b4f9c 55%,#2f6fc9);--ags-line:#e3e9f2}
.theme-ags .brand-mark{background:var(--ags-hero);color:#fff}
.theme-ags .nav a.active,.theme-ags .nav a:hover{background:var(--ags-blue-tint);color:var(--ags-blue-ink)}
.theme-ags .avatar{background:var(--ags-blue)}
.theme-ags .rail-user .avatar,.theme-ags .topbar .avatar{background:var(--ags-blue)}

.h-hero{background:var(--ags-hero);border-radius:26px;padding:40px 44px;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 46px rgba(16,36,64,.16);margin-bottom:26px}
.h-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.12)}
.h-hero:before{content:"";position:absolute;right:130px;bottom:-150px;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.07)}
.h-hero-in{position:relative;z-index:1;max-width:600px}
.h-hello{font-size:13px;font-weight:700;letter-spacing:.4px;opacity:.85}
.h-hero h1{font-size:38px;font-weight:900;letter-spacing:-1.3px;line-height:1.06;margin:10px 0 12px}
.h-hero h1 em{font-style:normal;color:#ffd7cb}
.h-hero p{font-size:15.5px;opacity:.92;max-width:520px}
.h-hero-a{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.h-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:12px;font-weight:800;font-size:14px;text-decoration:none;cursor:pointer;border:0}
.h-btn-orange{background:var(--ags-orange);color:#fff}
.h-btn-orange:hover{filter:brightness(1.05)}
.h-btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28)}
.h-hero-chips{position:absolute;right:40px;top:40px;z-index:1;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.h-chip{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);border-radius:14px;padding:11px 16px;font-size:12px;min-width:150px;color:#fff}
.h-chip b{font-size:22px;display:block;letter-spacing:-.5px}

.h-sec{margin-bottom:32px}
.h-sec-h{display:flex;align-items:baseline;gap:12px;margin-bottom:15px}
.h-sec-h .t{font-size:18px;font-weight:800;letter-spacing:-.3px}
.h-sec-h .s{font-size:13px;color:var(--ink-soft)}

.h-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:166px;gap:15px}
.h-fcard{background:var(--card);border:1px solid var(--ags-line);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .17s,box-shadow .17s}
.h-fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.h-fcard .ic-wrap{width:46px;height:46px;margin-bottom:12px}
.h-fcard h3{font-size:16px;letter-spacing:-.2px;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.h-fcard p{font-size:12.5px;color:var(--ink-soft);flex:1;margin:0}
.h-fcard .go{margin-top:10px;font-size:12.5px;font-weight:800;color:var(--ags-blue-ink)}
.h-fcard.big{grid-column:span 2;grid-row:span 2;background:var(--ags-hero);color:#fff;border:0}
.h-fcard.big .ic-wrap{width:58px;height:58px;background:rgba(255,255,255,.18)}
.h-fcard.big .ic-wrap .ic{color:#fff}
.h-fcard.big h3{font-size:24px;font-weight:900}
.h-fcard.big p{color:rgba(255,255,255,.9);font-size:14px}
.h-fcard.big .go{color:#fff}
.h-chip-on{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px;background:#e7f7ee;color:#1c8a54}
.h-fcard.big .h-chip-on{background:rgba(255,255,255,.22);color:#fff}

.h-qa{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.h-qa a{background:var(--card);border:1px solid var(--ags-line);border-radius:15px;padding:15px 10px;text-align:center;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .15s,border-color .15s}
.h-qa a:hover{transform:translateY(-3px);border-color:var(--ags-blue)}
.h-qa .ic-wrap{width:42px;height:42px;margin:0 auto 8px}
.h-qa b{font-size:12px;font-weight:700}

.h-cat{margin-bottom:24px}
.h-cat-h{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.h-cat-h .ic-wrap{width:34px;height:34px}
.h-cat-h b{font-size:15px;letter-spacing:-.2px}
.h-cat-h .n{font-size:11.5px;color:var(--ink-soft);background:var(--bg2);padding:2px 9px;border-radius:999px;font-weight:700}
.h-appgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.h-app{background:var(--card);border:1px solid var(--ags-line);border-radius:15px;padding:15px;box-shadow:var(--shadow-sm);display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s;position:relative}
.h-app:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.h-app .ic-wrap{width:42px;height:42px;flex:none}
.h-app .b{flex:1;min-width:0}
.h-app .n{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px}
.h-app .d{font-size:12px;color:var(--ink-soft);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.h-app.soon{opacity:.74;background:linear-gradient(180deg,var(--card),var(--bg2))}
.h-app.soon .ic-wrap{filter:grayscale(.4)}
.h-soon-tag{position:absolute;right:11px;top:11px;font-size:10px;font-weight:800;color:var(--ink-soft);background:var(--bg2);border:1px solid var(--ags-line);padding:3px 8px;border-radius:999px}
@media(max-width:1180px){.h-bento,.h-appgrid{grid-template-columns:repeat(2,1fr)}.h-qa{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.h-bento{grid-template-columns:1fr}.h-fcard.big{grid-column:span 1;grid-row:span 1}.h-qa{grid-template-columns:repeat(2,1fr)}.h-appgrid{grid-template-columns:1fr}.h-hero-chips{display:none}}

/* ===== Accueil AGS — recomposition (bento maîtrisé + catalogue filtrable) ===== */
.h-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:134px;gap:14px}
.h-fcard.med{grid-column:span 2}
.h-fcard.sm{grid-column:span 1}
.h-fcard .ic-wrap{margin-bottom:10px}
.h-fcard.sm h3{font-size:14px}
.h-fcard.sm p{display:none}
.h-fcard.sm .go{margin-top:auto}
/* tuiles contrôlées : bleu = actif, neutre = bientôt */
.h-ta{background:var(--ags-blue-tint);color:var(--ags-blue)}
.h-ts{background:#eef1f6;color:#9aa6b6}

/* Accès rapides : pastilles compactes */
.h-qa{display:flex;flex-wrap:wrap;gap:10px}
.h-qa a{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--ags-line);border-radius:999px;padding:7px 15px 7px 7px;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .14s,border-color .14s}
.h-qa a:hover{transform:translateY(-2px);border-color:var(--ags-blue)}
.h-qa .ic-wrap{width:30px;height:30px;margin:0;border-radius:9px}
.h-qa .ic-wrap .ic{width:16px;height:16px}
.h-qa b{font-size:12.5px;font-weight:700}

/* Catalogue filtrable */
.h-cat-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.h-filters{display:flex;gap:7px;flex-wrap:wrap}
.h-fb{border:1px solid var(--ags-line);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:.14s}
.h-fb:hover{border-color:var(--ags-blue);color:var(--ags-blue-ink)}
.h-fb.is-on{background:var(--ags-blue);border-color:var(--ags-blue);color:#fff}
.h-cxgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.h-cx{background:var(--card);border:1px solid var(--ags-line);border-radius:14px;padding:14px;display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .14s,box-shadow .14s;position:relative}
.h-cx:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.h-cx .ic-wrap{width:40px;height:40px;flex:none;margin:0}
.h-cx-b{flex:1;min-width:0}
.h-cx-n{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px}
.h-cx-d{font-size:11.5px;color:var(--ink-soft);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.h-cx.is-soon{opacity:.64}
.h-cx-tag{font-size:9.5px;font-weight:800;color:var(--ink-soft);background:var(--bg2);border:1px solid var(--ags-line);padding:2px 7px;border-radius:999px;white-space:nowrap;flex:none}
.h-dot{width:8px;height:8px;border-radius:50%;background:#22a05b;flex:none}
.h-hidden{display:none!important}
@media(max-width:1180px){.h-cxgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.h-cxgrid{grid-template-columns:1fr}.h-fcard.med{grid-column:span 1}}

/* ===== Enquêtes & Campagnes ===== */
.enq-phase{background:var(--coral-tint);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:13px;color:var(--ink);margin-bottom:20px}
.enq-item{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;background:var(--card)}
.enq-body{flex:1;min-width:0}
.enq-top{display:flex;align-items:center;gap:10px}
.enq-top b{font-size:14.5px}
.enq-desc{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:3px}
.enq-meta{display:block;color:var(--ink-soft);font-size:12px;margin-top:4px}
.enq-badge{font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}
.enq-badge.s-draft{background:#eef1f5;color:#7c8896}
.enq-badge.s-scheduled{background:#e8f0fb;color:#1b4f9c}
.enq-badge.s-open{background:#e7f7ee;color:#1c8a54}
.enq-badge.s-closed{background:#fdeee9;color:#c9603f}
.enq-badge.s-archived{background:#eef1f5;color:#9aa6b6}
.enq-actions{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.enq-actions form{margin:0}
.enq-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.enq-btn:hover{border-color:var(--coral);color:var(--coral-ink)}
.enq-btn.on{background:var(--coral);border-color:var(--coral);color:#fff}
.enq-btn.on:hover{filter:brightness(1.05);color:#fff}
.enq-btn.ghost{color:var(--ink-soft)}

/* ===== Enquêtes — éditeur de questionnaire (Phase 2) ===== */
.enq-name{font-weight:700;color:var(--ink);text-decoration:none}
.enq-name:hover{color:var(--coral);text-decoration:underline}
.enq-back{margin-left:auto;align-self:center}
.enq-count{display:inline-block;min-width:22px;padding:1px 8px;border-radius:999px;background:var(--bg2);color:var(--ink-soft);font-size:12px;font-weight:800;margin-left:6px}
.enq-qgrid{align-items:start}
.enq-q{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.enq-q:last-child{border-bottom:0}
.enq-q-num{width:26px;height:26px;flex:none;border-radius:8px;background:var(--bg2);color:var(--ink-soft);font-weight:800;font-size:12.5px;display:grid;place-items:center;margin-top:2px}
.enq-q-main{flex:1;min-width:0}
.enq-q-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.enq-q-type{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--t-blue-ink);background:var(--t-blue);padding:2px 8px;border-radius:999px}
.enq-q-req{font-size:10.5px;font-weight:800;color:#b23c17;background:#fdece6;padding:2px 8px;border-radius:999px}
.enq-q-label{font-size:14px;font-weight:600}
.enq-q-opts{font-size:12px;color:var(--ink-soft);margin-top:2px}
.enq-q-actions{display:flex;gap:4px;align-items:center;flex:none}
.enq-ic{width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:9px;display:grid;place-items:center;cursor:pointer;color:var(--ink-soft);font-size:13px;text-decoration:none;font-family:inherit;padding:0}
.enq-ic:hover{border-color:var(--coral);color:var(--coral)}
.enq-ic:disabled{opacity:.35;cursor:not-allowed}
.enq-ic.danger:hover{border-color:#e0563b;color:#e0563b}
.enq-ic .ic{width:15px;height:15px}
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;margin:4px 0 12px;cursor:pointer}
.check input{width:17px;height:17px;accent-color:var(--coral)}

/* ===================== Centre de pilotage — refonte AGS premium (glass) ===================== */
.pl-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}
.pl-head .ic-wrap{width:52px;height:52px;flex:none;background:var(--ags-hero);color:#fff}
.pl-head .ic-wrap .ic{color:#fff}
.pl-head h1{font-size:24px;font-weight:900;letter-spacing:-.5px;margin:0}
.pl-head p{font-size:13.5px;color:var(--ink-soft);margin:4px 0 0;max-width:640px}
.pl-stats{display:flex;gap:10px;margin-left:auto;flex:none}
.pl-stat{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid var(--ags-line);border-radius:14px;padding:10px 16px;text-align:center;box-shadow:var(--shadow-sm)}
.pl-stat b{display:block;font-size:20px;font-weight:900;letter-spacing:-.5px;color:var(--ags-blue-ink)}
.pl-stat span{font-size:11px;color:var(--ink-soft);font-weight:700}

.pl-fam{margin-bottom:26px}
.pl-fam-h{display:flex;align-items:center;gap:10px;margin:0 2px 12px}
.pl-fam-h .ic-wrap{width:30px;height:30px;background:var(--ags-blue-tint);color:var(--ags-blue)}
.pl-fam-h .ic-wrap .ic{width:15px;height:15px}
.pl-fam-h b{font-size:14.5px;letter-spacing:-.2px}
.pl-fam-h .n{font-size:11px;font-weight:800;color:var(--ink-soft);background:var(--bg2);padding:2px 9px;border-radius:999px}
.pl-fam-h .ln{flex:1;height:1px;background:var(--ags-line)}

.pl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pl-card{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.66));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 32px rgba(16,36,64,.09);border-radius:18px;padding:18px;outline:1px solid var(--ags-line);outline-offset:-1px}
.pl-top{display:flex;align-items:flex-start;gap:13px}
.pl-top .ic-wrap{width:44px;height:44px;flex:none}
.pl-ti{flex:1;min-width:0}
.pl-ti b{font-size:15px;font-weight:800;letter-spacing:-.2px;display:block}
.pl-ti small{font-size:11.5px;color:var(--ink-soft)}
.pl-badge{font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap;align-self:center}
.pl-badge.s-active{background:#e7f7ee;color:#1c8a54}
.pl-badge.s-beta{background:var(--ags-blue-tint);color:var(--ags-blue-ink)}
.pl-badge.s-soon{background:var(--bg2);color:var(--ink-soft)}
.pl-badge.s-disabled{background:#fdece9;color:#c0442a}

.pl-status{display:flex;gap:8px;margin-top:14px}
.pl-status .sel{flex:1}
.pl-sel{width:100%;border:1px solid var(--ags-line);background:#fff;border-radius:10px;padding:9px 11px;font-size:13px;font-family:inherit;color:var(--ink)}
.pl-btn{border:0;border-radius:10px;padding:9px 15px;font-size:12.5px;font-weight:800;font-family:inherit;cursor:pointer;background:var(--ags-blue);color:#fff;white-space:nowrap}
.pl-btn:hover{filter:brightness(1.06)}
.pl-btn.ghost{background:#fff;color:var(--ags-blue-ink);border:1px solid var(--ags-line)}
.pl-btn.orange{background:var(--ags-orange)}

.pl-access{margin-top:14px;border-top:1px dashed var(--ags-line);padding-top:12px}
.pl-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.pl-chip{display:inline-flex;align-items:center;gap:6px;background:var(--ags-blue-tint);color:var(--ags-blue-ink);border:1px solid #d5e3f6;border-radius:999px;padding:4px 6px 4px 12px;font-size:12px;font-weight:700}
.pl-chip small{font-weight:600;opacity:.8}
.pl-chip .inline{display:inline;margin:0}
.pl-chip-x{width:18px;height:18px;border:0;border-radius:50%;background:rgba(21,63,125,.12);color:var(--ags-blue-ink);cursor:pointer;font-size:11px;line-height:1;display:grid;place-items:center;padding:0}
.pl-chip-x:hover{background:#c0442a;color:#fff}
.pl-none{font-size:12.5px;color:var(--ink-soft);font-style:italic}
.pl-add{margin-top:11px}
.pl-add summary{font-size:12.5px;font-weight:800;color:var(--ags-blue-ink);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px}
.pl-add summary::-webkit-details-marker{display:none}
.pl-add summary::before{content:"＋";font-size:14px}
.pl-add[open] summary::before{content:"－"}
.pl-add-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pl-add-grid .ag{display:flex;gap:6px;align-items:center;background:var(--bg2);border:1px solid var(--ags-line);border-radius:12px;padding:6px}
.pl-add-grid .ag .pl-sel{width:auto;min-width:120px;padding:7px 9px;background:#fff}
.pl-add-grid .ag .pl-btn{padding:7px 12px}
@media(max-width:900px){.pl-grid{grid-template-columns:1fr}.pl-stats{display:none}}

/* ===================== Accueil — glassmorphism léger (cartes translucides) ===================== */
/* Fond AGS subtil pour que le verre dépoli se voie */
body.is-home::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1100px 520px at 82% -8%, rgba(47,111,201,.12), transparent 60%),
    radial-gradient(820px 480px at -6% 16%, rgba(240,120,90,.07), transparent 55%),
    linear-gradient(180deg, #f6f9fd, var(--bg));}
/* Cartes à la une */
.h-fcard{background:rgba(255,255,255,.60);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border:1px solid rgba(255,255,255,.7);box-shadow:0 16px 38px rgba(16,36,64,.10)}
.h-fcard.big{background:var(--ags-hero);border:0}          /* la grande carte garde son dégradé */
/* Cartes catalogue + pastilles accès rapides */
.h-cx{background:rgba(255,255,255,.56);backdrop-filter:blur(13px) saturate(1.08);-webkit-backdrop-filter:blur(13px) saturate(1.08);border:1px solid rgba(255,255,255,.66)}
.h-qa a{background:rgba(255,255,255,.6);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);border:1px solid rgba(255,255,255,.66)}
/* Barre de filtres translucide */
.h-fb{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.h-fb.is-on{background:var(--ags-blue)}

/* ===================== Accueil — glassmorphism léger ===================== */
body.is-home{
  background:
    radial-gradient(1000px 520px at 10% -8%, rgba(47,111,201,.11), transparent 60%),
    radial-gradient(820px 460px at 102% -2%, rgba(240,120,90,.08), transparent 55%),
    var(--bg);
}
.theme-ags .h-fcard:not(.big),
.theme-ags .h-cx,
.theme-ags .h-qa a{
  background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.58));
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.75);
  outline:1px solid var(--ags-line); outline-offset:-1px;
  box-shadow:0 12px 30px rgba(16,36,64,.09);
}
.theme-ags .h-fcard:not(.big):hover,
.theme-ags .h-cx:hover,
.theme-ags .h-qa a:hover{ box-shadow:0 18px 40px rgba(16,36,64,.14); }

/* Studio — bouton d'upload d'image interne */
.sb-upl{margin-top:6px;width:100%;border:1px dashed var(--line);background:var(--bg2);color:var(--ink-soft);border-radius:10px;padding:9px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.sb-upl:hover{border-color:var(--coral);color:var(--coral)}
.sb-img-prev{margin-top:8px;width:100%;border-radius:10px;border:1px solid var(--line);display:block}

/* ===================== Rail rétractable premium ===================== */
.rail-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:var(--card);border-radius:12px;color:var(--ink-soft);cursor:pointer;flex:none;transition:background .15s,border-color .15s,color .15s}
.rail-toggle:hover{color:var(--coral-ink);border-color:var(--coral);background:var(--coral-tint)}
.rail-toggle .ic,.rail-toggle svg{width:20px;height:20px}
.app{transition:grid-template-columns .26s cubic-bezier(.4,0,.2,1)}
.rail{transition:padding .26s ease, left .2s ease}
.nav-lbl{white-space:nowrap}
@media(min-width:861px){
  .app.rail-collapsed{grid-template-columns:78px 1fr}
  .app.rail-collapsed .brand{justify-content:center;padding:8px 0 16px}
  .app.rail-collapsed .brand-txt{display:none}
  .app.rail-collapsed .nav a{justify-content:center;padding:11px 0;gap:0}
  .app.rail-collapsed .nav-lbl{display:none}
  .app.rail-collapsed .rail-user{justify-content:center;padding:10px 0}
  .app.rail-collapsed .rail-user .ru-txt,.app.rail-collapsed .rail-user>.ic{display:none}
  .app.rail-collapsed .nav a{position:relative}
  .app.rail-collapsed .nav a::after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:40;box-shadow:var(--shadow)}
  .app.rail-collapsed .nav a:hover::after{opacity:1}
}
@media(max-width:860px){
  .app.rail-open .rail{left:0;box-shadow:0 20px 60px rgba(16,24,40,.3)}
  .rail-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.42);z-index:19;backdrop-filter:blur(2px)}
}

/* ===================== Studio HTML — finition premium ===================== */
/* Barre d'outils */
.sb-toolbar{padding:12px 16px;border-radius:16px;gap:14px;box-shadow:var(--shadow-sm)}
.sb-title-input{font-size:16.5px}
.sb-device{padding:4px;border-radius:12px}
.sb-dev{min-width:40px;text-align:center;padding:7px 10px}
/* Panneaux : coins plus doux, cohérents */
.sb-left,.sb-panel,.sb-canvaswrap{border-radius:18px}
.sb-left{padding:16px}
.sb-panel{padding:16px}
/* En-têtes de section */
.sb-side-h{font-size:10.5px;letter-spacing:.6px;color:var(--ink-soft);margin:2px 2px 9px}
.sb-side-h:not(:first-child){margin-top:18px}
/* Thèmes : pastilles plus grandes + sélection nette */
.sb-themes{gap:7px}
.sb-theme{width:38px;height:30px;border-radius:9px}
.sb-theme.is-on{border-color:transparent;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--coral)}
/* Modèles : items premium avec chevron */
.sb-tpl{position:relative;padding:11px 30px 11px 12px;border-radius:12px;background:var(--card);transition:.14s}
.sb-tpl::after{content:'›';position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:17px;font-weight:700;transition:.14s}
.sb-tpl:hover{transform:translateX(2px);box-shadow:var(--shadow-sm)}
.sb-tpl:hover::after{color:var(--coral);right:10px}
/* Onglets Bibliothèque/Réglages */
.sb-panel-tabs{padding:4px;border-radius:13px}
.sb-pt{padding:9px}
/* Catégories de la palette */
.sb-cat{font-size:10.5px;letter-spacing:.6px;margin:16px 2px 8px}
.sb-cat:first-child{margin-top:2px}
.sb-cat-g{gap:8px}
/* Cartes de blocs — hauteur UNIFORME, icône en tuile, label dessous */
.sb-add{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;min-height:66px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:12px;font-size:12px;line-height:1.25;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s}
.sb-add:hover{border-color:var(--coral);background:var(--coral-tint);color:var(--coral-ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.sb-add-ico{width:32px;height:32px;border-radius:10px;font-size:16px;background:var(--bg2)}
.sb-add:hover .sb-add-ico{background:#fff}
/* État vide : message centré premium */
.sb-empty{flex-direction:column;gap:10px}
.sb-empty::before{content:'✦';font-size:30px;color:var(--line);display:block}
/* Inspecteur : titre */
.sb-insp-head{color:var(--coral-ink)}

/* ===================== Studio HTML — premium v2 ===================== */
:root{--sb-shadow:0 1px 2px rgba(16,24,40,.05),0 10px 30px rgba(16,24,40,.07);--sb-shadow-h:0 2px 6px rgba(16,24,40,.06),0 18px 44px rgba(16,24,40,.13)}
.sb-toolbar,.sb-left,.sb-panel,.sb-canvaswrap{box-shadow:var(--sb-shadow);border-color:#e6edf6}
.sb-toolbar{background:linear-gradient(180deg,#fff,#fbfdff)}
#sbSave.btn-primary{box-shadow:0 6px 16px rgba(240,120,90,.32)}
#sbSave.btn-primary:hover{box-shadow:0 8px 22px rgba(240,120,90,.44)}
.sb-tb-right .btn-ghost.sm{border-radius:11px}
.sb-device{background:#eef2f8;border:1px solid #e6edf6}
.sb-dev.is-on{box-shadow:0 2px 6px rgba(16,24,40,.12)}
/* En-têtes de section avec point d'accent */
.sb-side-h{display:flex;align-items:center;gap:7px}
.sb-side-h::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--coral);flex:none;opacity:.85}
/* Cartes de blocs premium (tuile icône dégradée) */
.sb-add{background:#fff;border:1px solid #e8eef7;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.sb-add-ico{background:linear-gradient(135deg,var(--coral-tint),#fff);color:var(--coral-ink);box-shadow:inset 0 0 0 1px rgba(27,79,156,.08)}
.sb-add:hover{border-color:var(--coral);box-shadow:var(--sb-shadow-h);transform:translateY(-3px)}
.sb-add:hover .sb-add-ico{background:var(--coral);color:#fff}
/* Modèles premium */
.sb-tpl{background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #e8eef7}
.sb-tpl:hover{border-color:var(--coral);box-shadow:var(--sb-shadow)}
/* Onglets */
.sb-panel-tabs{background:#eef2f8}
.sb-pt.is-on{box-shadow:0 2px 6px rgba(16,24,40,.10)}
/* Canvas façon atelier : page blanche qui flotte */
.sb-canvaswrap{background:linear-gradient(180deg,#f6f9fe,#eef3fa)}
.sb-stage{padding:20px}
.sb-canvas{border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 14px 44px rgba(16,24,40,.10);overflow:hidden}
/* État vide premium */
.sb-empty{font-size:14.5px;font-weight:500;color:#7c8aa0}
.sb-empty::before{content:'✦';font-size:34px;color:#c7d4e6;text-shadow:0 4px 12px rgba(27,79,156,.15)}
/* Thèmes : ring premium */
.sb-theme{box-shadow:0 2px 6px rgba(16,24,40,.12)}
.sb-theme.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--coral),0 4px 10px rgba(27,79,156,.3)}
/* Scrollbars fines */
.sb-left::-webkit-scrollbar,.sb-panel::-webkit-scrollbar,.sb-canvaswrap::-webkit-scrollbar{width:8px;height:8px}
.sb-left::-webkit-scrollbar-thumb,.sb-panel::-webkit-scrollbar-thumb,.sb-canvaswrap::-webkit-scrollbar-thumb{background:#d6e0ef;border-radius:8px}
.sb-left::-webkit-scrollbar-thumb:hover,.sb-panel::-webkit-scrollbar-thumb:hover{background:#c0cfe4}

/* ═══════════════ SOCLE PREMIUM PARTAGÉ (toutes les apps) ═══════════════ */
:root{--shadow-1:0 1px 2px rgba(16,24,40,.05),0 10px 30px rgba(16,24,40,.07);--shadow-2:0 2px 6px rgba(16,24,40,.06),0 18px 44px rgba(16,24,40,.13);--line-soft:#e6edf6}
/* Topbar : verre froid AGS (corrige le beige résiduel) */
.topbar{background:rgba(238,243,250,.82)}
.theme-ags .topbar{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(238,243,250,.78));backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.search{border-color:var(--line-soft)}
.search:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px rgba(27,79,156,.12)}
.icon-btn{border:1px solid var(--line-soft);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.icon-btn:hover{border-color:var(--coral);color:var(--coral-ink)}
/* Cartes / panneaux / stats : ombres en couches + bordure fine */
.card,.pane,.stat{border-color:var(--line-soft);box-shadow:var(--shadow-1)}
.card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.pane h2 .ic{color:var(--coral-ink)}
/* Boutons premium */
.btn-primary{box-shadow:0 6px 16px rgba(240,120,90,.30)}
.btn-primary:hover{box-shadow:0 8px 22px rgba(240,120,90,.42)}
.btn-ghost{border-color:var(--line-soft);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.btn-ghost:hover{border-color:var(--coral);color:var(--coral-ink);box-shadow:var(--shadow-1)}
/* Segmented control */
.seg{background:#eef2f8;border:1px solid var(--line-soft)}
.seg-btn.is-on{box-shadow:0 2px 6px rgba(16,24,40,.12)}
/* Tuiles d'icône : léger relief */
.ic-wrap{box-shadow:inset 0 0 0 1px rgba(16,24,40,.05)}

/* ═══════════════ Transfert — premium (aligné Studio) ═══════════════ */
.quota-card{border-radius:18px}
.quota-fill{background:linear-gradient(90deg,#2f6fc9,var(--coral))}
.dropzone{border-radius:16px}
.dropzone.drag{background:var(--coral-tint)}
.dz-btn{box-shadow:0 1px 2px rgba(16,24,40,.05)}
.dz-btn:hover{box-shadow:0 6px 16px rgba(27,79,156,.28)}
.dz-files li{border-color:var(--line-soft);border-radius:12px}
.dz-ic{background:linear-gradient(135deg,var(--coral-tint),#fff);color:var(--coral-ink)}
.tr-item{border-color:var(--line-soft);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.tr-item:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:var(--coral)}
.tr-head .tile-lg{box-shadow:var(--shadow-1)}
.send-btn{box-shadow:0 6px 16px rgba(27,79,156,.25)}
.send-btn:hover{box-shadow:0 8px 22px rgba(27,79,156,.38)}

/* ═══════════════ Enquête publique (/s/token) — premium ═══════════════ */
.sv-body{margin:0;background:
  radial-gradient(1100px 560px at 12% -8%, rgba(47,111,201,.12), transparent 60%),
  radial-gradient(900px 500px at 100% 0%, rgba(240,120,90,.07), transparent 55%),
  var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif)}
.sv-shell{max-width:760px;margin:0 auto;padding:30px 20px 60px}
.sv-brand{font-weight:800;font-size:15px;color:var(--coral-ink);display:flex;align-items:center;gap:8px;margin-bottom:18px}
.sv-key{color:var(--coral)}
.sv-card{background:#fff;border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow-1);padding:30px 32px;margin-bottom:18px}
.sv-head h1{font-size:27px;letter-spacing:-.5px;margin:0 0 6px}
.sv-desc{color:var(--ink-soft);font-size:15px;line-height:1.5;margin:0 0 14px}
.sv-who{font-size:13px;color:var(--ink-soft);background:var(--coral-tint);border:1px solid var(--line-soft);border-radius:12px;padding:11px 14px;margin:0}
.sv-who b{color:var(--coral-ink)}
.sv-err{background:#fdecec;border:1px solid #f5c2c2;color:#b23b3b;border-radius:12px;padding:12px 16px;font-size:13.5px;font-weight:600;margin-bottom:16px}
.sv-form{display:flex;flex-direction:column;gap:16px}
.sv-q{background:#fff;border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow-1);padding:24px 26px;margin:0}
.sv-q legend{font-weight:700;font-size:17px;line-height:1.4;padding:0;display:flex;gap:11px;align-items:flex-start;margin-bottom:16px}
.sv-qn{flex:none;width:28px;height:28px;border-radius:9px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}
.sv-req{color:var(--action-ink);font-weight:800}
.sv-opt{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;cursor:pointer;margin-bottom:9px;transition:.14s;font-size:15px}
.sv-opt:last-child{margin-bottom:0}
.sv-opt:hover{border-color:var(--coral);background:var(--coral-tint)}
.sv-opt input{position:absolute;opacity:0;width:0;height:0}
.sv-mark{flex:none;width:22px;height:22px;border:2px solid #cbd6e6;border-radius:50%;display:grid;place-items:center;transition:.14s}
.sv-multi .sv-mark{border-radius:7px}
.sv-opt input:checked~.sv-mark{border-color:var(--coral);background:var(--coral)}
.sv-opt input:checked~.sv-mark::after{content:'';width:9px;height:9px;border-radius:50%;background:#fff}
.sv-multi input:checked~.sv-mark::after{border-radius:2px;width:8px;height:8px}
.sv-opt:has(input:checked){border-color:var(--coral);background:var(--coral-tint)}
.sv-text{width:100%;border:1px solid var(--line-soft);border-radius:12px;padding:13px 15px;font-size:15px;font-family:inherit;resize:vertical;color:var(--ink)}
.sv-text:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(27,79,156,.12)}
.sv-score{display:flex;gap:8px;flex-wrap:wrap}
.sv-scoreb{flex:1;min-width:44px}
.sv-scoreb input{position:absolute;opacity:0}
.sv-scoreb span{display:grid;place-items:center;height:48px;border:1px solid var(--line-soft);border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:.14s}
.sv-scoreb:hover span{border-color:var(--coral);color:var(--coral-ink)}
.sv-scoreb input:checked~span{background:var(--coral);color:#fff;border-color:var(--coral)}
.sv-score-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft);margin-top:8px}
.sv-matrix-wrap{overflow-x:auto}
.sv-matrix{width:100%;border-collapse:collapse}
.sv-matrix th{font-size:12.5px;font-weight:700;color:var(--ink-soft);padding:8px;text-align:center}
.sv-matrix td{padding:10px 8px;text-align:center;border-top:1px solid var(--line-soft)}
.sv-mrow{text-align:left!important;font-weight:600;font-size:14px}
.sv-mradio{display:inline-grid;place-items:center;cursor:pointer}
.sv-mradio input{position:absolute;opacity:0}
.sv-mradio .sv-mark{width:22px;height:22px}
.sv-actions{text-align:center;padding:8px 0 0}
.sv-submit{border:0;background:var(--action);color:#fff;font-weight:800;font-size:16px;padding:15px 40px;border-radius:14px;cursor:pointer;box-shadow:0 8px 20px rgba(240,120,90,.34);transition:.14s;font-family:inherit}
.sv-submit:hover{background:var(--action-ink);box-shadow:0 10px 26px rgba(240,120,90,.46)}
.sv-note{font-size:12px;color:var(--ink-soft);margin-top:10px}
.sv-msg{text-align:center;padding:44px 32px}
.sv-emoji{font-size:46px;margin-bottom:10px}
.sv-msg h1{font-size:23px;margin:0 0 8px}
.sv-msg p{color:var(--ink-soft);font-size:15px;margin:0;line-height:1.5}
.sv-foot{text-align:center;color:var(--ink-soft);font-size:12px;margin-top:20px}

/* ═══════════════ Enquêtes — destinataires & résultats ═══════════════ */
.enq-sec{margin-top:22px}
.enq-rstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.enq-rstats .stat{text-align:center}
.enq-rstats .stat b{display:block;font-size:22px;color:var(--coral-ink)}
.enq-rstats .stat span{font-size:12px;color:var(--ink-soft)}
.enq-diff-note{font-size:13px;color:var(--ink-soft);background:var(--coral-tint);border:1px solid var(--line-soft);border-radius:12px;padding:11px 14px;margin-bottom:14px}
.enq-radd{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.enq-radd input{flex:1;min-width:130px;border:1px solid var(--line-soft);border-radius:10px;padding:9px 12px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--card)}
.enq-radd input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(27,79,156,.12)}
.enq-import{margin-bottom:14px}
.enq-import summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--coral-ink)}
.enq-import textarea{width:100%;border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;font-size:13px;font-family:inherit;margin:8px 0;resize:vertical}
.enq-hint{font-size:12px;color:var(--ink-soft)}
.enq-hint code{background:var(--bg2);padding:1px 6px;border-radius:6px}
.enq-empty{font-size:13.5px;color:var(--ink-soft);text-align:center;padding:18px}
.enq-rlist{display:flex;flex-direction:column;gap:8px}
.enq-rrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line-soft);border-radius:12px;padding:11px 14px;background:var(--card);box-shadow:var(--shadow-1)}
.enq-rmain{flex:1;min-width:180px;display:flex;flex-direction:column;gap:1px}
.enq-rmain b{font-size:14px}
.enq-rmeta{font-size:12px;color:var(--ink-soft)}
.enq-link{width:210px;max-width:38vw;border:1px solid var(--line-soft);border-radius:9px;padding:6px 9px;font-size:11.5px;color:var(--ink-soft);background:var(--bg2)}
.enq-ractions{display:flex;gap:5px}
.enq-ractions form{display:inline}
.enq-ricon{border:1px solid var(--line-soft);background:var(--card);border-radius:9px;width:30px;height:30px;cursor:pointer;color:var(--ink-soft);font-size:14px}
.enq-ricon:hover{border-color:var(--coral);color:var(--coral-ink)}
.enq-ricon.danger:hover{border-color:#c0492e;color:#c0492e;background:#fdeee9}
.enq-resbar{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:18px}
.enq-restot b{font-size:26px;color:var(--coral-ink)}
.enq-resrate{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}
.enq-gauge{width:160px;height:10px;border-radius:20px;background:var(--bg2);overflow:hidden}
.enq-gauge>span{display:block;height:100%;background:linear-gradient(90deg,#2f6fc9,var(--coral))}
.enq-resq{border-top:1px solid var(--line-soft);padding:16px 0}
.enq-resq-h{font-weight:700;font-size:14.5px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px}
.enq-resq-n{font-weight:600;font-size:12px;color:var(--ink-soft)}
.enq-barline{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.enq-barlbl{width:180px;max-width:34%;font-size:13px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.enq-bartrack{flex:1;height:22px;background:var(--bg2);border-radius:8px;overflow:hidden}
.enq-barfill{display:block;height:100%;background:linear-gradient(90deg,var(--coral),#2f6fc9);border-radius:8px;min-width:2px;transition:width .5s}
.enq-barval{width:90px;text-align:right;font-size:12.5px;color:var(--ink-soft);flex:none}
.enq-scorebig{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.enq-scorebig b{font-size:34px;color:var(--coral-ink)}
.enq-scorebig span{color:var(--ink-soft);font-size:13px}
.enq-scoredist{display:flex;align-items:flex-end;gap:6px;height:90px}
.enq-scorecol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}
.enq-scorecolfill{width:100%;background:linear-gradient(180deg,var(--coral),#2f6fc9);border-radius:6px 6px 0 0;min-height:2px}
.enq-scorecol em{font-size:11px;color:var(--ink-soft);font-style:normal}
.enq-mtx-wrap{overflow-x:auto}
.enq-mtx{width:100%;border-collapse:collapse;font-size:13px}
.enq-mtx th{font-size:12px;color:var(--ink-soft);padding:7px;text-align:center}
.enq-mtx td{padding:8px;text-align:center;border-top:1px solid var(--line-soft)}
.enq-mtx td:first-child{text-align:left;font-weight:600}
.enq-verbatims{display:flex;flex-direction:column;gap:7px}
.enq-verb{background:var(--bg2);border-radius:10px;padding:9px 13px;font-size:13.5px;font-style:italic;color:var(--ink)}

/* Pilotage premium (aligné socle) */
.pl-card{border-color:var(--line-soft);box-shadow:var(--shadow-1)}
.pl-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}

/* Enquêtes — outils résultats (export/filtre/NPS) */
.enq-restools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.enq-restools-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--ink-soft)}
.enq-restools-filter select{border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink)}
.enq-nps{margin-left:16px;font-size:13px;color:var(--ink-soft)}
.enq-nps b{color:var(--coral-ink);font-size:17px}
/* Impression / PDF — rapport propre */
@media print{
  .rail,.topbar,.rail-toggle{display:none!important}
  .app{display:block!important}
  .scroll{padding:0!important}
  .btn-ghost,.btn-primary,.enq-radd,.enq-import,.enq-restools,.enq-restools-filter,.enq-ractions,.enq-copy,.enq-link,.enq-back,.enq-btn,.sb-app{display:none!important}
  .pane,.card,.stat{box-shadow:none!important;border:1px solid #d8d8d8!important;break-inside:avoid}
  body{background:#fff!important}
}

/* Enquêtes — envois & relances */
.enq-flash{background:#e7f4ec;border:1px solid #b8e0c8;color:#2b7a4b;border-radius:12px;padding:11px 15px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.enq-warn{background:#fff7e6;border:1px solid #f2dca0;color:#8a6d1e;border-radius:12px;padding:12px 15px;font-size:13px;line-height:1.5;margin-bottom:10px}
.enq-warn code{background:#fdf1d0;padding:1px 6px;border-radius:6px}
.enq-sendrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.enq-sendrow form{display:inline}
.enq-sendrow button[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}

/* Enquêtes — participation liste + suppression + IRIS */
.enq-partline{display:flex;align-items:center;gap:10px;margin-top:9px}
.enq-parttrack{flex:1;max-width:220px;height:7px;background:var(--bg2);border-radius:20px;overflow:hidden}
.enq-partfill{display:block;height:100%;background:linear-gradient(90deg,#2f6fc9,var(--coral));border-radius:20px;transition:width .5s}
.enq-partval{font-size:12px;color:var(--ink-soft);font-weight:600}
.enq-btn.danger{color:#c0492e;border-color:#f0d2c8}
.enq-btn.danger:hover{background:#fdeee9;border-color:#c0492e;color:#c0492e}
.enq-iris{margin:12px 0 6px}
.enq-iris-note{font-size:12.5px;color:#8a6d1e;background:#fff7e6;border:1px solid #f2dca0;border-radius:12px;padding:11px 14px;line-height:1.5}
/* Enquête publique — accueil + progression */
.sv-welcome{text-align:center;padding:40px 34px}
.sv-wtag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--coral-ink);background:var(--coral-tint);padding:6px 13px;border-radius:20px;margin-bottom:14px}
.sv-welcome h1{font-size:29px;letter-spacing:-.5px;margin:0 0 10px}
.sv-welcome .sv-desc{margin-left:auto;margin-right:auto;max-width:460px}
.sv-welcome .sv-who{text-align:left}
.sv-wmeta{font-size:12.5px;color:var(--ink-soft);margin:16px 0 22px}
.sv-progress{height:8px;background:#e6edf6;border-radius:20px;overflow:hidden;margin-bottom:20px;position:sticky;top:10px;z-index:5}
.sv-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2f6fc9,var(--coral));border-radius:20px;transition:width .35s}

/* Enquêtes — tunnel de suivi (envoyé/ouvert/cliqué/répondu) */
.enq-funnel{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.enq-fn{background:var(--bg2);border:1px solid var(--line-soft);border-radius:12px;padding:10px 16px;text-align:center;min-width:80px}
.enq-fn b{display:block;font-size:20px;color:var(--coral-ink);line-height:1.1}
.enq-fn span{font-size:11.5px;color:var(--ink-soft)}
.enq-fn.done{background:linear-gradient(135deg,#eaf5ee,#f6f9fe);border-color:#cfe6d8}
.enq-fn.done b{color:#2b7a4b}
.enq-fnarrow{color:var(--ink-soft);font-size:15px}

/* ═══════════════ Enquêtes — coquille applicative (onglets + modales) ═══════════════ */
.ed{max-width:1080px;margin:0 auto}
.ed-head{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#fff, #f6f9fe);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow-1);padding:20px 24px;margin-bottom:16px}
.ed-back{flex:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-soft);background:var(--card);display:grid;place-items:center;color:var(--ink-soft);text-decoration:none;transition:.14s}
.ed-back:hover{border-color:var(--coral);color:var(--coral-ink);transform:translateX(-2px)}
.ed-back svg{width:18px;height:18px}
.ed-head-main{flex:1;min-width:0}
.ed-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ed-title-row h1{margin:0;font-size:23px;letter-spacing:-.4px}
.ed-sub{color:var(--ink-soft);font-size:13.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:640px}
.ed-head-kpi{display:flex;gap:10px;flex:none}
.ed-kpi{text-align:center;min-width:78px;padding:8px 14px;border-radius:13px;background:var(--bg2);border:1px solid var(--line-soft)}
.ed-kpi b{display:block;font-size:20px;color:var(--ink);line-height:1.1}
.ed-kpi span{font-size:11px;color:var(--ink-soft)}
.ed-kpi.accent{background:linear-gradient(135deg,#eaf1fb,#f3f7fd);border-color:#d5e3f6}
.ed-kpi.accent b{color:var(--coral-ink)}

.ed-tabs{position:sticky;top:0;z-index:20;display:flex;gap:4px;padding:6px;margin-bottom:20px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-soft);border-radius:15px;box-shadow:var(--shadow-1);overflow-x:auto}
.ed-tab{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--ink-soft);font-weight:600;font-size:13.5px;font-family:inherit;padding:11px 16px;border-radius:11px;cursor:pointer;transition:.14s;white-space:nowrap}
.ed-tab svg{width:16px;height:16px;opacity:.8}
.ed-tab:hover{background:var(--bg2);color:var(--ink)}
.ed-tab.active{background:var(--coral);color:#fff;box-shadow:0 6px 16px rgba(27,79,156,.28)}
.ed-tab.active svg{opacity:1}
.ed-tabn{font-size:11px;font-weight:800;background:rgba(0,0,0,.08);padding:1px 7px;border-radius:20px;font-style:normal}
.ed-tab.active .ed-tabn{background:rgba(255,255,255,.28)}

.ed-panel{display:none;animation:edfade .25s ease}
.ed-panel.active{display:block}
@keyframes edfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.ed-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ed-panel-head h2{margin:0;font-size:19px;letter-spacing:-.3px}
.ed-panel-sub{color:var(--ink-soft);font-size:13px;margin:4px 0 0}
.ed-panel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ed-inline{display:inline-flex;gap:8px;margin:0}
.ed-inline select{border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink)}

.ed-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}
.ed-card{background:var(--card);border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow-1);padding:22px 24px}
.ed-card-h{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:16px}
.ed-card-h svg{width:17px;height:17px;color:var(--coral)}
.ed-bigstat{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.ed-bigstat b{font-size:34px;color:var(--coral-ink);letter-spacing:-1px;line-height:1}
.ed-bigstat span{font-size:12.5px;color:var(--ink-soft)}
.enq-gauge.lg{width:100%;height:12px}
.enq-funnel.sm .enq-fn{min-width:64px;padding:8px 10px}
.enq-funnel.sm .enq-fn b{font-size:17px}
.ed-lifecycle{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ed-lc-form{display:inline;margin:0}
.ed-hint{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:8px 0 0}
.ed-hint code{background:var(--bg2);padding:1px 6px;border-radius:6px}
.btn-ghost.danger,.btn-ghost.sm.danger{color:#c0492e;border-color:#f0d2c9}
.btn-ghost.danger:hover{background:#fdeee9;border-color:#c0492e}

.ed-empty{text-align:center;padding:44px 24px;background:var(--card);border:1px dashed var(--line);border-radius:18px}
.ed-empty-ic{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:var(--bg2);display:grid;place-items:center;color:var(--coral)}
.ed-empty-ic svg{width:26px;height:26px}
.ed-empty p{color:var(--ink-soft);font-size:14.5px;margin:0 0 16px}
.enq-qlist{display:flex;flex-direction:column;gap:10px}

/* Modales */
.modal-ov{position:fixed;inset:0;z-index:120;display:none;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;background:rgba(16,24,40,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-ov.open{display:flex}
.modal-box{width:100%;max-width:520px;background:var(--card);border-radius:20px;box-shadow:0 30px 70px rgba(16,24,40,.28);overflow:hidden;animation:modalpop .22s ease}
@keyframes modalpop{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.modal-title{font-weight:700;font-size:16px}
.modal-close{border:0;background:var(--bg2);width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--ink-soft);font-size:14px;line-height:1}
.modal-close:hover{background:#f0d2c9;color:#c0492e}
.modal-body{padding:22px}
.modal-body .field{margin-bottom:14px}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft)}
/* [2026-10-13] Bug remonté par Trésor (capture "Créer un compte") : .btn-primary{width:100%} plus
   haut est pensé pour un bouton de formulaire pleine largeur, mais s'applique aussi au bouton
   principal d'une modale posé à côté d'« Annuler » — il prenait alors presque toute la largeur de
   .modal-foot et écrasait "Annuler" à ~32px (texte tronqué, zone cliquable minuscule). Les deux
   boutons d'une barre de modale gardent leur taille naturelle, jamais 100% du conteneur flex. */
.modal-foot .btn-primary,.modal-foot .btn-ghost{width:auto;margin-top:0}

/* impression : ne garder que le panneau résultats */
@media print{
  .ed-head,.ed-tabs,.ed-panel-actions,.modal-ov{display:none!important}
  .ed{max-width:none}
}

/* Enquêtes — index : en-tête liste + grille de cartes campagnes */
.enq-listhead{margin:22px 0 16px}
.enq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.enq-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow-1);padding:20px 22px;transition:.16s}
.enq-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);border-color:#d5e3f6}
.enq-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.enq-card-del{display:inline;margin:0;opacity:0;transition:.14s}
.enq-card:hover .enq-card-del{opacity:1}
.enq-card-name{font-size:16.5px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.3px;line-height:1.25}
.enq-card-name:hover{color:var(--coral-ink)}
.enq-card-desc{font-size:12.5px;color:var(--ink-soft);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.enq-card-meta{font-size:11.5px;color:var(--ink-soft);margin-top:8px}
.enq-card-meta.muted{opacity:.7;font-style:italic}
.enq-card .enq-partline{margin-top:12px}
.enq-card-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.enq-card-foot form{display:inline;margin:0}

/* Enquêtes — galerie de modèles */
.modal-box.wide{max-width:880px}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}
.tpl-card{display:flex;flex-direction:column;border:1px solid var(--line-soft);border-radius:15px;padding:16px 18px;background:var(--card);box-shadow:var(--shadow-1);transition:.15s}
.tpl-card:hover{box-shadow:var(--shadow-2);border-color:#d5e3f6;transform:translateY(-2px)}
.tpl-cat{align-self:flex-start;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--coral-ink);background:var(--coral-tint);border:1px solid var(--line-soft);padding:2px 9px;border-radius:20px;margin-bottom:9px}
.tpl-name{font-weight:700;font-size:14.5px;line-height:1.25;letter-spacing:-.2px}
.tpl-desc{font-size:12px;color:var(--ink-soft);line-height:1.45;margin-top:5px;flex:1}
.tpl-meta{font-size:11px;color:var(--ink-soft);margin:10px 0 12px;font-weight:600}
.tpl-use{display:flex;gap:6px;margin:0}
.tpl-use input{flex:1;min-width:0;border:1px solid var(--line-soft);border-radius:9px;padding:7px 10px;font-size:12px;font-family:inherit;color:var(--ink)}
.tpl-use input:focus{outline:none;border-color:var(--coral)}

/* Enquêtes — banque de questions (générateur) */
.bank-filter{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.bank-fbtn{border:1px solid var(--line-soft);background:var(--card);color:var(--ink-soft);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:.14s}
.bank-fbtn:hover{border-color:var(--coral);color:var(--coral-ink)}
.bank-fbtn.active{background:var(--coral);color:#fff;border-color:var(--coral)}
.bank-list{max-height:46vh;overflow-y:auto;padding-right:4px}
.bank-group{margin-bottom:16px}
.bank-group-h{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.bank-group-h span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--coral-ink);background:var(--coral-tint);padding:1px 8px;border-radius:20px}
.bank-q{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:11px;margin-bottom:6px;cursor:pointer;transition:.14s}
.bank-q:hover{border-color:var(--coral);background:var(--coral-tint)}
.bank-q:has(input:checked){border-color:var(--coral);background:var(--coral-tint)}
.bank-q input{margin-top:2px;flex:none}
.bank-qt{flex:none;font-size:10.5px;font-weight:700;color:var(--ink-soft);background:var(--bg2);padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}
.bank-ql{font-size:13.5px;line-height:1.4}

/* Enquêtes — générateur IA */
.ai-btn{position:relative}
.ai-badge{font-size:12px;color:var(--ink-soft);margin-top:10px;background:var(--bg2);border:1px solid var(--line-soft);border-radius:9px;padding:8px 12px}
.ai-badge b{color:var(--coral-ink)}
.ai-note{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink);background:linear-gradient(135deg,#eef4fd,#f6f9fe);border:1px solid #d5e3f6;border-radius:11px;padding:11px 14px;margin-bottom:14px}
.ai-dot{width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(27,79,156,.14);flex:none}
.bank-ql em{color:var(--ink-soft);font-style:normal;font-size:12px}

/* ═══════════════ Accueil — familles en tuiles → modale d'apps ═══════════════ */
.h-fam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.h-fam{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;background:var(--card);border:1px solid var(--line-soft);border-radius:18px;box-shadow:var(--shadow-1);padding:22px;cursor:pointer;font-family:inherit;transition:.16s}
.theme-ags .h-fam{background:rgba(255,255,255,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.h-fam:hover{box-shadow:var(--shadow-2);transform:translateY(-3px);border-color:#d5e3f6}
.h-fam-ic{width:46px;height:46px;border-radius:13px;margin-bottom:8px}
.h-fam-ic svg{width:22px;height:22px}
.h-fam-t{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.3px}
.h-fam-preview{font-size:12px;color:var(--ink-soft);line-height:1.4;min-height:2.5em}
.h-fam-n{font-size:11.5px;font-weight:600;color:var(--coral-ink);background:var(--coral-tint);border:1px solid var(--line-soft);padding:2px 10px;border-radius:20px;margin-top:4px}
.modal-title-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;vertical-align:middle;margin-right:6px}
.modal-title-ic svg{width:16px;height:16px}
.h-fam-list{display:flex;flex-direction:column;gap:8px}
.h-fam-app{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line-soft);border-radius:13px;text-decoration:none;color:var(--ink);transition:.14s}
a.h-fam-app:hover{border-color:var(--coral);background:var(--coral-tint);transform:translateX(3px)}
.h-fam-app .ic-wrap{width:42px;height:42px;border-radius:12px;flex:none}
.h-fam-app .ic-wrap svg{width:20px;height:20px}
.h-fam-app-b{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.h-fam-app-n{font-weight:700;font-size:14.5px}
.h-fam-app-d{font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-fam-go{font-size:12.5px;font-weight:700;color:var(--coral-ink);flex:none}
.h-fam-app.is-soon{opacity:.6}

/* ═══════════════ Centre de pilotage — cartes propres + filtre + modale ═══════════════ */
.pl-filter{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 16px}
.pl-fb{border:1px solid var(--line-soft);background:var(--card);color:var(--ink-soft);border-radius:20px;padding:7px 15px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:.14s}
.pl-fb:hover{border-color:var(--coral);color:var(--coral-ink)}
.pl-fb.is-on{background:var(--coral);color:#fff;border-color:var(--coral)}
.pl-grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.pl-c{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-1);padding:18px}
.pl-c:hover{box-shadow:var(--shadow-2);border-color:#d5e3f6}
.pl-c-top{display:flex;align-items:center;gap:12px}
.pl-c-top .ic-wrap{width:44px;height:44px;border-radius:12px;flex:none}
.pl-c-ti{flex:1;min-width:0;display:flex;flex-direction:column}
.pl-c-ti b{font-size:15px;letter-spacing:-.2px}
.pl-c-ti small{font-size:11.5px;color:var(--ink-soft)}
.pl-c-sum{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}
.pl-sdot{width:8px;height:8px;border-radius:50%;flex:none}
.pl-sdot.ok{background:#2f9e57}.pl-sdot.part{background:#e0a63c}.pl-sdot.none{background:#c6cfdc}
.pl-manage{align-self:flex-start}
.pl-sec{margin-bottom:18px}
.pl-sec-l{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;margin-bottom:9px}
.pl-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.pl-row .sel{flex:1}
.pl-chips{display:flex;flex-wrap:wrap;gap:7px}
.pl-none{font-size:12.5px;color:var(--ink-soft);font-style:italic}
.pl-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg2);border:1px solid var(--line-soft);border-radius:20px;padding:4px 6px 4px 12px;font-size:12.5px;font-weight:600}
.pl-chip small{color:var(--ink-soft);font-weight:500}
.pl-chip-x{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:6px}
.pl-chip-x:hover{background:#f0d2c9;color:#c0492e}
.pl-chip .inline{display:inline;margin:0}

/* Centre de pilotage — barre d'outils + cartes premium */
.pl-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 18px}
.pl-search{flex:1;min-width:220px;display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line-soft);border-radius:12px;padding:0 14px;box-shadow:var(--shadow-1)}
.pl-search svg{width:16px;height:16px;color:var(--ink-soft);flex:none}
.pl-search input{flex:1;border:0;background:transparent;padding:11px 0;font-size:14px;font-family:inherit;color:var(--ink);outline:none}
.pl-seg{flex:none}
.pl-famsel{border:1px solid var(--line-soft);border-radius:11px;padding:10px 14px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}
.pl-grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pl-c{background:var(--card);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-1);padding:18px 20px;transition:.15s}
.pl-c:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:#d5e3f6}
.pl-c-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pl-c-top .ic-wrap{width:44px;height:44px;border-radius:12px;flex:none}
.pl-c-ti{flex:1;min-width:0;display:flex;flex-direction:column}
.pl-c-ti b{font-size:15px;letter-spacing:-.2px}
.pl-c-ti small{font-size:11.5px;color:var(--ink-soft)}
.pl-c-sum{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.pl-sdot{width:9px;height:9px;border-radius:50%;flex:none;background:#cbd6e6}
.pl-sdot.ok{background:#2e9e5b}.pl-sdot.part{background:#e0a030}.pl-sdot.none{background:#cbd6e6}
.pl-manage{width:100%;justify-content:center}
.pl-sec{margin-bottom:18px}
.pl-sec-l{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);margin-bottom:9px}
.pl-row{display:flex;gap:8px;margin-bottom:8px}
.pl-row .sel{flex:1}
.pl-chips{display:flex;flex-wrap:wrap;gap:7px}
.pl-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--line-soft);border-radius:20px;padding:5px 6px 5px 12px;font-size:12.5px}
.pl-chip-x{border:0;background:#e9edf4;width:20px;height:20px;border-radius:50%;cursor:pointer;color:var(--ink-soft);font-size:11px}
.pl-chip-x:hover{background:#f0d2c9;color:#c0492e}
.pl-none{font-size:12.5px;color:var(--ink-soft);font-style:italic}

/* Formulaire public — nouveaux types (étoiles / oui-non / date) */
.sv-rating{display:inline-flex;flex-direction:row-reverse;gap:6px}
.sv-star{cursor:pointer}
.sv-star input{position:absolute;opacity:0;width:0;height:0}
.sv-star span{font-size:38px;line-height:1;color:#d7deea;transition:.12s}
.sv-star:hover span,.sv-star:hover ~ .sv-star span{color:#f5b301}
.sv-star:has(input:checked) span,.sv-star:has(input:checked) ~ .sv-star span{color:#f5b301}
.sv-yesno{display:flex;gap:12px}
.sv-yn{flex:1;cursor:pointer}
.sv-yn input{position:absolute;opacity:0}
.sv-yn span{display:grid;place-items:center;height:56px;border:2px solid var(--line-soft);border-radius:14px;font-weight:700;font-size:17px;transition:.14s}
.sv-yn:hover span{border-color:var(--coral);color:var(--coral-ink)}
.sv-yn input:checked~span{background:var(--coral);color:#fff;border-color:var(--coral)}
.sv-date{border:1px solid var(--line-soft);border-radius:12px;padding:13px 15px;font-size:15px;font-family:inherit;color:var(--ink)}
.sv-date:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(27,79,156,.12)}
.enq-numchip{display:inline-block;background:var(--bg2);border:1px solid var(--line-soft);border-radius:8px;padding:4px 10px;font-size:13px;margin:0 6px 6px 0;font-weight:600;color:var(--ink)}
/* Enquêtes — glisser-déposer des questions */
.enq-q[draggable]{cursor:default}
.enq-q-grip{cursor:grab;color:var(--ink-soft);font-size:16px;line-height:1;padding:0 2px;user-select:none;flex:none;align-self:center}
.enq-q-grip:active{cursor:grabbing}
.enq-q.dragging{opacity:.5;box-shadow:var(--shadow-2);border-color:var(--coral)}
/* Enquêtes — analyse IA des commentaires */
.enq-ai-analysis{border:1px solid #d5e3f6;background:linear-gradient(135deg,#f4f8fe,#fbfcfe);border-radius:16px;padding:18px 20px;margin-bottom:20px}
.enq-ai-h{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;margin-bottom:14px}
.enq-ai-sub{font-weight:600;font-size:12px;color:var(--ink-soft)}
.enq-ai-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.enq-ai-col h4{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.enq-ai-col.pos h4{color:#2b7a4b}.enq-ai-col.neg h4{color:#c0492e}.enq-ai-col.reco h4{color:var(--coral-ink)}
.enq-ai-item{font-size:12.5px;line-height:1.4;background:#fff;border:1px solid var(--line-soft);border-radius:9px;padding:8px 11px;margin-bottom:6px}
.enq-ai-col.pos .enq-ai-item{border-left:3px solid #2b7a4b}.enq-ai-col.neg .enq-ai-item{border-left:3px solid #c0492e}.enq-ai-col.reco .enq-ai-item{border-left:3px solid var(--coral)}
.enq-ai-none{font-size:12px;color:var(--ink-soft);font-style:italic}
@media(max-width:720px){.enq-ai-cols{grid-template-columns:1fr}}
.sv-hidden{display:none!important}
.cond-field small{color:var(--ink-soft);font-weight:400}
.cond-row{display:grid;grid-template-columns:1.4fr .9fr 1fr;gap:8px}
.cond-row select,.cond-row input{border:1px solid var(--line-soft);border-radius:10px;padding:9px 11px;font-size:13px;font-family:inherit;background:var(--card);color:var(--ink);min-width:0}
@media(max-width:560px){.cond-row{grid-template-columns:1fr}}

/* Enquêtes — comparaison de campagnes */
.cmp-picker{background:var(--card);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-1);padding:18px 20px;margin-bottom:20px}
.cmp-picklist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cmp-pick{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-soft);border-radius:20px;padding:7px 14px;font-size:13px;cursor:pointer;transition:.14s}
.cmp-pick:hover{border-color:var(--coral)}
.cmp-pick.on{background:var(--coral-tint);border-color:var(--coral)}
.cmp-pick small{color:var(--ink-soft);font-weight:600}
.cmp-table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-1)}
.cmp-table{width:100%;border-collapse:collapse;font-size:13.5px}
.cmp-table th,.cmp-table td{padding:13px 16px;text-align:center;border-bottom:1px solid var(--line-soft)}
.cmp-table thead th{background:var(--bg2);font-size:13px;position:sticky;top:0}
.cmp-table th small{display:block;font-weight:600;color:var(--ink-soft);font-size:11px}
.cmp-table td:first-child,.cmp-table th:first-child{text-align:left;font-weight:600;position:sticky;left:0;background:var(--card)}
.cmp-table thead th:first-child{background:var(--bg2)}
.cmp-table td small{color:var(--ink-soft)}
.cmp-nps td{font-weight:700;color:var(--coral-ink)}
.cmp-sep td{background:var(--bg2);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);text-align:left!important}

/* Enquêtes — programmation automatique des envois */
.sched-card{margin-top:16px}
.sched-form{display:flex;flex-direction:column;gap:12px}
.sched-row{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;cursor:pointer;transition:.14s}
.sched-row:hover{border-color:var(--coral);background:var(--coral-tint)}
.sched-row:has(input:checked){border-color:var(--coral);background:var(--coral-tint)}
.sched-row input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--coral)}
.sched-row span{display:flex;flex-direction:column;gap:3px}
.sched-row b{font-size:14px}
.sched-row small{font-size:12px;color:var(--ink-soft);line-height:1.4}
.sched-nums{display:flex;gap:20px;flex-wrap:wrap;padding:4px 4px 4px 2px;font-size:13.5px;color:var(--ink)}
.sched-nums label{display:inline-flex;align-items:center;gap:8px}
.sched-nums input{width:64px;border:1px solid var(--line-soft);border-radius:9px;padding:8px 10px;font-size:14px;font-family:inherit;text-align:center}
.sched-foot{display:flex;align-items:center;gap:14px}
.sched-ok{color:#2b7a4b;font-weight:700;font-size:13px}
/* Journal d'activité */
.jrn-table td{text-align:left}
.jrn-date{white-space:nowrap;color:var(--ink-soft);font-size:12.5px}
.jrn-target{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink-soft)}
.jrn-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700;white-space:nowrap}
.jrn-ok{background:#e6f4ec;color:#2b7a4b}.jrn-no{background:#fdeee9;color:#c0492e}.jrn-nt{background:var(--bg2);color:var(--ink-soft)}
.pl-roles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pl-rolechk{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-soft);border-radius:10px;padding:7px 12px;font-size:13px;cursor:pointer}
.pl-rolechk:has(input:checked){background:var(--coral-tint);border-color:var(--coral)}

/* Collaborateurs (annuaire + import) */
.col-table td{text-align:left}
.col-st{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11.5px;font-weight:700}
.col-st.on{background:#e6f4ec;color:#2b7a4b}.col-st.off{background:var(--bg2);color:var(--ink-soft)}
.col-info{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:18px}
.col-info>div{display:flex;flex-direction:column;gap:2px}
.col-info span{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.3px}
.col-info b{font-size:14px}
.imp-counts{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}
.imp-k{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700}
.imp-k.ok{background:#e6f4ec;color:#2b7a4b}.imp-k.nt{background:#eef4fd;color:#2f5fb0}.imp-k.no{background:#fdeee9;color:#c0492e}
.imp-table td{text-align:left;font-size:13px}
.imp-actions{display:flex;align-items:center;gap:14px;margin-top:18px}
@media(max-width:560px){.col-info{grid-template-columns:1fr}}
/* Groupes */
.grp-new{display:flex;gap:8px;flex:1;min-width:0}
.grp-new input[type=text]{flex:1;min-width:0;border:1px solid var(--line-soft);border-radius:10px;padding:9px 13px;font-size:14px;font-family:inherit}

/* ===== Centre de pilotage — tableau de bord ===== */
.dash-head{position:relative}
.dash-perso{position:absolute;top:0;right:0}
.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}
.kpi{display:flex;align-items:center;gap:14px;background:var(--card-glass);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:var(--shadow-sm)}
.kpi-ic{width:46px;height:46px;flex:none;border-radius:13px;display:grid;place-items:center}
.kpi-ic svg{width:22px;height:22px}
.kpi-b{display:flex;flex-direction:column;gap:1px;min-width:0}
.kpi-l{font-size:12.5px;color:var(--ink-soft);font-weight:600}
.kpi-v{font-size:30px;font-weight:800;color:var(--ink);line-height:1.05}
.kpi-s{font-size:11.5px;color:var(--t-sage-ink);font-weight:600}

.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:stretch}
.span3{grid-column:span 3}.span4{grid-column:span 4}.span5{grid-column:span 5}.span6{grid-column:span 6}.span8{grid-column:span 8}
.dcard{background:var(--card-glass);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.dcard-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.dcard-h h2{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:0;color:var(--ink)}
.dcard-h h2 svg{width:17px;height:17px;color:var(--ags-blue)}
.dcard-link{font-size:12.5px;color:var(--ags-blue);font-weight:600;text-decoration:none}
.dchip{font-size:11.5px;color:var(--ink-soft);border:1px solid var(--line);border-radius:20px;padding:4px 11px;background:var(--card)}
.dcard-f{margin-top:12px;font-size:12px;color:var(--ink-soft)}

/* tuiles teintées */
.t-blue{background:var(--ags-blue-tint);color:var(--ags-blue)}
.t-sky{background:#e6f0fa;color:var(--t-sky-ink)}
.t-sage{background:#e7f4ec;color:var(--t-sage-ink)}
.t-violet{background:#efe9fb;color:var(--t-violet-ink)}
.t-peach{background:#fbeee0;color:var(--t-peach-ink)}
.t-rose{background:#fce8ee;color:var(--t-rose-ink)}
.ic-wrap.sm{width:34px;height:34px;border-radius:10px}.ic-wrap.sm svg{width:16px;height:16px}

/* table applications */
.dtable-hd,.dtable-row{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) 78px 92px 28px;align-items:center;gap:10px}
.dt-last{font-size:12px;color:var(--ink-soft);white-space:nowrap;text-align:right}
.dtable-hd{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);padding:0 4px 8px;border-bottom:1px solid var(--line)}
.dtable-row{padding:11px 4px;border-bottom:1px solid var(--line)}
.dtable-row:last-child{border-bottom:0}
.dt-app{display:flex;align-items:center;gap:11px;min-width:0}
.dt-app .ic-wrap{width:38px;height:38px;flex:none}
.dt-name{display:flex;flex-direction:column;min-width:0}.dt-name b{font-size:14px}.dt-name small{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-cat{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-manage{border:0;background:transparent;font-size:20px;color:var(--ink-soft);cursor:pointer;line-height:1;border-radius:8px;width:28px;height:28px}
.dt-manage:hover{background:var(--bg2);color:var(--ink)}

/* graphique */
.dchart{width:100%;height:auto;min-height:160px;flex:1;overflow:visible}
.dchart-grid{stroke:var(--line);stroke-width:1}
.dchart-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dchart-x{font-size:11px;fill:var(--ink-soft)}
.tone-blue{stroke:#2f6fb0}.tone-blue.dchart-dot,.dchart-dot.tone-blue{fill:#2f6fb0}
.tone-sage{stroke:#3d8a56}.dchart-dot.tone-sage{fill:#3d8a56}
.tone-peach{stroke:#d68a2e}.dchart-dot.tone-peach{fill:#d68a2e}
.tone-violet{stroke:#7a44c2}.dchart-dot.tone-violet{fill:#7a44c2}
.dchart-dot{stroke:none}
.dlegend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;justify-content:center}
.dleg{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft)}
.dleg i{width:10px;height:10px;border-radius:3px}
.dleg.tone-blue i{background:#2f6fb0}.dleg.tone-sage i{background:#3d8a56}.dleg.tone-peach i{background:#d68a2e}.dleg.tone-violet i{background:#7a44c2}

/* accès rapides */
.dquick{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;align-content:stretch;grid-auto-rows:1fr}
.dq{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:14px 8px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:600;transition:.14s}
.dq:hover{border-color:var(--ags-blue);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.dq-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.dq-ic svg{width:18px;height:18px}

/* familles */
.dfams{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;flex:1;align-content:start}
.dfam{border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.dfam-t{display:flex;align-items:center;gap:9px}.dfam-t b{font-size:13px}.dfam-t small{display:block;font-size:11.5px;color:var(--ink-soft)}
.dring{position:relative;--p:0;width:60px;height:60px;border-radius:50%;background:conic-gradient(var(--ags-blue) calc(var(--p)*1%),var(--bg2) 0);display:grid;place-items:center;margin:2px auto}
.dring::before{content:"";position:absolute;width:44px;height:44px;border-radius:50%;background:var(--card)}
.dring span{position:relative;font-size:13px;font-weight:800;color:var(--ink)}

/* notifications */
.dnotifs,.dsvcs,.dacts{display:flex;flex-direction:column;gap:2px;flex:1}
.dnotif{display:flex;align-items:flex-start;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
.dnotif:last-child{border-bottom:0}
.dnotif>div{flex:1;min-width:0}.dnotif b{font-size:13px}.dnotif small{display:block;font-size:11.5px;color:var(--ink-soft)}
.dnotif-w{font-size:11px;color:var(--ink-soft);white-space:nowrap}
.ddot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none}
.ddot.tone-sage{background:#3d8a56}.ddot.tone-blue{background:#2f6fb0}.ddot.tone-peach{background:#d68a2e}.ddot.tone-violet{background:#7a44c2}

/* assistant IA */
.dai{background:linear-gradient(150deg,#efe9fb,#e6f0fa);border-color:#e0d8f5}
.dai-ic{width:44px;height:44px;border-radius:13px;background:#fff;display:grid;place-items:center;color:var(--t-violet-ink);box-shadow:var(--shadow-sm);margin-bottom:10px}
.dai h2{font-size:15px;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.dai-beta{font-size:10px;font-weight:700;background:var(--t-violet-ink);color:#fff;padding:2px 8px;border-radius:20px}
.dai p{font-size:12.5px;color:var(--ink-soft);margin:0 0 12px;line-height:1.5}

/* statut services */
.dsvc{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;border-bottom:1px solid var(--line);font-size:13px}
.dsvc:last-child{border-bottom:0}
.dsvc-b{font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:20px}
.dsvc-b.ok{background:#e7f4ec;color:#2b7a4b}.dsvc-b.maint{background:#fbeede;color:#b06a1e}.dsvc-b.down{background:#fdeae6;color:#c0392b}

/* transferts */
.dtransf-top{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.dtransf-v{font-size:30px;font-weight:800;color:var(--ink)}
.dtransf-tr{font-size:12px;color:var(--t-sage-ink);font-weight:600}
.dbar{height:9px;border-radius:20px;background:var(--bg2);overflow:hidden;margin-bottom:12px}
.dbar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--ags-blue),#4a80d0)}
.dtransf-split{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-soft)}
.dtransf-split b{color:var(--ink)}

/* activités */
.dact{display:flex;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}
.dact:last-child{border-bottom:0}
.dact-w{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;min-width:64px}
.dact b{font-size:13px}.dact small{display:block;font-size:11.5px;color:var(--ink-soft)}

@media(max-width:1150px){
  .dash-kpis{grid-template-columns:repeat(2,1fr)}
  .span3,.span4,.span5{grid-column:span 6}.span6,.span8{grid-column:span 12}
}
@media(max-width:680px){
  .dash-kpis{grid-template-columns:1fr}
  .span3,.span4,.span5,.span6,.span8{grid-column:span 12}
  .dtable-hd,.dtable-row{grid-template-columns:1fr 74px 26px}.dt-cat,.dt-last{display:none}
  .dash-perso{position:static;margin-top:10px;display:inline-flex}
}

/* Barre latérale enrichie (Mes outils / Autres outils + Assistant IA) */
.rail-mid{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}
.rail-mid::-webkit-scrollbar{width:6px}.rail-mid::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.rail-sect{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-weight:700;padding:16px 16px 6px}
.nav a.rail-soft{opacity:.72}.nav a.rail-soft:hover{opacity:1}
.rail-more{font-size:13px;color:var(--ags-blue)!important;font-weight:600}
.rail-ai{display:flex;align-items:center;gap:10px;margin:10px 12px;padding:12px 13px;border-radius:16px;background:linear-gradient(150deg,#efe9fb,#e6f0fa);border:1px solid #e2daf5;text-decoration:none;color:var(--ink);flex:none}
.rail-ai:hover{box-shadow:var(--shadow-sm)}
.rail-ai-ic{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;color:var(--t-violet-ink);flex:none}
.rail-ai-ic svg{width:19px;height:19px}
.rail-ai-txt{min-width:0}.rail-ai-txt b{font-size:13px;display:block;line-height:1.2}.rail-ai-txt small{font-size:11px;color:var(--ink-soft);display:block;line-height:1.3}
.app.rail-collapsed .rail-sect{display:none}
.app.rail-collapsed .rail-ai{justify-content:center;padding:10px 0;margin:10px 8px}
.app.rail-collapsed .rail-ai-txt{display:none}
/* remplissage vertical des cartes du dashboard (évite les zones vides) */
.dtable,.dtransf{flex:1}
.dtransf{display:flex;flex-direction:column;justify-content:center}
.dsvcs .dsvc{flex:1;align-items:center}
.dacts .dact{align-items:flex-start}
.dcard>.dtable-hd{flex:none}

/* Studio HTML — bande de modèles + IA Assist (refonte maquette) */
.sb-tplbar{display:flex;align-items:center;gap:14px;padding:11px 16px;margin:0 0 12px;background:var(--card-glass);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}
.sb-tplbar-intro{flex:none;display:flex;flex-direction:column;gap:1px;padding-right:12px;border-right:1px solid var(--line)}
.sb-tplbar-intro b{font-size:13.5px}.sb-tplbar-intro small{font-size:11.5px;color:var(--ink-soft)}
.sb-tplbar-list{display:flex;gap:10px;overflow-x:auto;flex:1;padding:2px}
.sb-tplcard{flex:none;text-align:left;border:1px solid var(--line);border-radius:12px;padding:9px 13px;background:var(--card);cursor:pointer;transition:.14s;min-width:150px;font-family:inherit}
.sb-tplcard:hover{border-color:var(--ags-blue);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.sb-tplcard b{display:block;font-size:13px;color:var(--ink)}.sb-tplcard small{font-size:11px;color:var(--ink-soft)}
.sb-tplbar-all{flex:none;white-space:nowrap}
.sb-ai{margin-top:14px;padding:14px;border-radius:14px;background:linear-gradient(150deg,#efe9fb,#e6f0fa);border:1px solid #e0d8f5}
.sb-ai-h{display:flex;align-items:center;gap:6px;font-size:13.5px;margin-bottom:6px;color:var(--ink)}
.sb-ai-beta{font-size:9.5px;font-weight:700;background:var(--t-violet-ink);color:#fff;padding:2px 7px;border-radius:20px}
.sb-ai p{font-size:12px;color:var(--ink-soft);margin:0 0 10px;line-height:1.5}
@media(max-width:900px){.sb-tplbar{flex-wrap:wrap}.sb-tplbar-intro{border-right:0}}

/* ===== Studio HTML — restyle fidèle maquette ===== */
.sb-back{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-size:22px;line-height:1;flex:none}
.sb-back:hover{border-color:var(--ags-blue);color:var(--ags-blue)}
.sb-save-btn{border:0;border-radius:11px;padding:9px 18px;font-size:13px;font-weight:700;font-family:inherit;color:#fff;cursor:pointer;background:linear-gradient(135deg,#f0663f,#e8502f);box-shadow:0 4px 12px rgba(232,80,47,.28)}
.sb-save-btn:hover{filter:brightness(1.05)}
/* recherche de blocs */
.sb-search{width:100%;border:1px solid var(--line);border-radius:11px;padding:9px 13px;font-size:13px;font-family:inherit;margin-bottom:12px;background:var(--card);color:var(--ink)}
.sb-search:focus{outline:none;border-color:var(--ags-blue)}
/* palette en grille d'icônes */
.sb-cat{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-weight:700;margin:16px 2px 9px}
.sb-cat:first-child{margin-top:2px}
.sb-cat-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:4px}
.sb-add{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:1px solid var(--line);border-radius:13px;background:var(--card);cursor:pointer;font-size:10px;line-height:1.15;text-align:center;color:var(--ink);transition:.14s;font-family:inherit}
.sb-add:hover{border-color:var(--ags-blue);background:var(--ags-blue-tint);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.sb-add-ico{width:30px;height:30px;display:grid;place-items:center;font-size:15px;color:var(--ags-blue)}
.sb-add-ico svg{width:18px;height:18px}
/* vignettes de pages */
.sb-pg{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:13px;margin-bottom:8px;cursor:pointer;background:var(--card);transition:.14s}
.sb-pg:hover{border-color:var(--ags-blue)}
.sb-pg.is-on{border-color:var(--ags-blue);box-shadow:0 0 0 2px var(--ags-blue-tint)}
.sb-pg-thumb{width:56px;height:40px;flex:none;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line);position:relative}
.sb-pg-mini{position:absolute;top:0;left:0;width:900px;transform:scale(.0622);transform-origin:top left;pointer-events:none;background:#fff}
.sb-pg-num{font-size:12px;font-weight:700;color:var(--ink-soft);min-width:16px;text-align:center}
.pb-mini-ph{height:120px;background:linear-gradient(135deg,#e7edfb,#efe9fb);margin:8px;border-radius:8px}
.sb-pg-n{flex:1;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-pg-a{display:flex;gap:2px;opacity:0;transition:.14s}
.sb-pg:hover .sb-pg-a{opacity:1}
.sb-pg-a button{border:0;background:transparent;cursor:pointer;color:var(--ink-soft);font-size:12px;width:22px;height:22px;border-radius:6px}
.sb-pg-a button:hover{background:var(--bg2);color:var(--ink)}
/* modèles avec miniatures */
.sb-tplcard{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;min-width:210px}
.sb-tplcard-th{width:56px;height:38px;flex:none;border-radius:8px}
.sb-tplcard-th.th0{background:linear-gradient(135deg,#3b6fd4,#6a5cf0)}
.sb-tplcard-th.th1{background:linear-gradient(135deg,#e9a9c9,#a97ff0)}
.sb-tplcard-th.th2{background:linear-gradient(135deg,#2a3350,#4a5578)}
.sb-tplcard-th.th3{background:linear-gradient(135deg,#f3b98f,#ef7f6a)}
.sb-tplcard-tx{display:flex;flex-direction:column;text-align:left;gap:1px}

/* ============ Studio HTML — passe premium (layout, respiration, couleur) ============ */
.sb-main{grid-template-columns:206px minmax(0,1fr) 346px !important;gap:20px}
.sb-left,.sb-canvaswrap,.sb-panel{min-width:0}
.sb-panel{max-height:calc(100vh - 104px);overflow-y:auto;padding:16px}
.sb-left{max-height:calc(100vh - 104px)}
.sb-panel::-webkit-scrollbar,.sb-tplbar-list::-webkit-scrollbar,.sb-left::-webkit-scrollbar{height:7px;width:7px}
.sb-panel::-webkit-scrollbar-thumb,.sb-tplbar-list::-webkit-scrollbar-thumb,.sb-left::-webkit-scrollbar-thumb{background:#d3dbe8;border-radius:20px}
.sb-panel::-webkit-scrollbar-track,.sb-tplbar-list::-webkit-scrollbar-track{background:transparent}
/* bibliothèque : 2 colonnes lisibles */
.sb-cat-g{grid-template-columns:repeat(2,1fr) !important;gap:10px}
.sb-add{flex-direction:row !important;align-items:center;gap:10px;padding:13px 12px !important;font-size:12.5px !important;text-align:left;border-radius:12px;line-height:1.2}
.sb-add-ico{width:32px;height:32px;font-size:15px;background:var(--ags-blue-tint);color:var(--ags-blue);border-radius:9px;flex:none}
.sb-add:hover{border-color:var(--ags-blue);background:var(--ags-blue-tint);color:var(--ags-blue);transform:translateY(-1px)}
.sb-cat{margin:18px 2px 10px}
.sb-panel-tabs{gap:2px}.sb-pt{padding:9px 5px;font-size:11.5px}
/* barre de modèles premium */
.sb-tplbar{padding:15px 18px;gap:18px;margin-bottom:16px;background:linear-gradient(120deg,rgba(230,240,251,.75),rgba(239,233,251,.5))}
.sb-tplbar-intro{position:relative;padding-left:15px}
.sb-tplbar-intro::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:20px;background:linear-gradient(180deg,#1b4f9c,#6a5cf0)}
.sb-tplcard{min-width:230px;padding:11px 15px 11px 11px;border-radius:14px}
.sb-tplcard:hover{border-color:var(--ags-blue);transform:translateY(-2px);box-shadow:0 8px 22px rgba(27,79,156,.14)}
.sb-tplcard-th{width:66px;height:46px}
.sb-tplbar-list{gap:14px;padding-bottom:4px}
/* toolbar groupée */
.sb-tb-right{gap:7px;flex-wrap:wrap;justify-content:flex-end}
.sb-tb-sep{width:1px;height:26px;background:var(--line);margin:0 4px;flex:none}
/* contrôles Style */
.sb-color{display:flex;align-items:center;gap:9px}
.sb-clear{border:0;background:transparent;color:var(--ink-soft);font-size:11px;cursor:pointer;text-decoration:underline;font-family:inherit}
.sb-check{display:flex;align-items:center;gap:9px}.sb-check input{width:auto;margin:0}
.sb-f input[type=range]{width:100%;accent-color:var(--ags-blue)}
/* contrôles Animation */
.sb-anim-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sb-anim-op{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px;font-size:12.5px;font-family:inherit;cursor:pointer;color:var(--ink)}
.sb-anim-op:hover{border-color:var(--ags-blue)}
.sb-anim-op.on{border-color:var(--ags-blue);background:var(--ags-blue-tint);color:var(--ags-blue);font-weight:700}
/* assistant IA */
.sb-ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sb-ai-chips button{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:7px 14px;font-size:12.5px;font-family:inherit;cursor:pointer;color:var(--ink)}
.sb-ai-chips button:hover{border-color:#6a5cf0;color:#6a5cf0;background:#f3f0fe}
.sb-ai-prompt{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;font-family:inherit;resize:vertical;color:var(--ink)}
.sb-ai-prompt:focus{outline:none;border-color:#6a5cf0}
.sb-ai-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:12px}
.sb-ai-mode{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:7px}
.sb-ai-out:empty{display:none}
.sb-ai-ok{margin-top:12px;background:#e7f4ec;color:#2b7a4b;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}
@media(max-width:1100px){.sb-main{grid-template-columns:1fr !important}.sb-panel,.sb-left{max-height:none;position:static}}

/* ============ Studio HTML — correctifs débordement + tailles ============ */
/* le panneau ne déborde plus horizontalement */
.sb-panel{overflow:hidden auto !important}
/* blocs bibliothèque : compacts, 2 colonnes, aucun débordement */
.sb-cat-g{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:7px}
.sb-add{flex-direction:column !important;align-items:center;gap:5px;padding:9px 5px !important;font-size:10px !important;line-height:1.15;min-width:0;overflow:hidden;text-align:center;border-radius:10px;white-space:normal;word-break:break-word}
.sb-add-ico{width:26px !important;height:26px !important;font-size:13px !important}
.sb-cat{margin:14px 2px 8px;font-size:10.5px}
/* pages : moins d'espace vide */
.sb-left{align-self:start}
/* chiffres clés : plus compacts */
.pb-scope .pb-stat{padding:16px 14px}
.pb-scope .pb-stat-n{font-size:24px}
.pb-scope .pb-stat-l{font-size:11.5px}
.pb-scope .pb-stats{gap:12px}
/* hero un peu plus sobre */
.pb-scope .pb-lp-t{font-size:40px}
.pb-scope .pb-lp{margin:16px 18px;padding:30px 32px 34px}

/* ============ Sidebar : ouverture au survol (desktop) — POUSSE le contenu ============ */
@media(min-width:1001px){
  .app.rail-collapsed{transition:grid-template-columns .16s ease}
  .app.rail-collapsed:has(.rail:hover){grid-template-columns:238px 1fr}
  .app.rail-collapsed .rail{overflow:hidden}
  .app.rail-collapsed .rail:hover{overflow-y:auto}
  .app.rail-collapsed:has(.rail:hover) .brand{justify-content:flex-start;padding:8px 6px 16px}
  .app.rail-collapsed:has(.rail:hover) .brand-txt{display:block}
  .app.rail-collapsed:has(.rail:hover) .nav a{justify-content:flex-start;padding:10px 12px;gap:12px}
  .app.rail-collapsed:has(.rail:hover) .nav-lbl{display:inline}
  .app.rail-collapsed:has(.rail:hover) .rail-sect{display:block}
  .app.rail-collapsed:has(.rail:hover) .rail-user{justify-content:flex-start;padding:8px 6px}
  .app.rail-collapsed:has(.rail:hover) .rail-user .ru-txt,.app.rail-collapsed:has(.rail:hover) .rail-user>.ic{display:flex}
  .app.rail-collapsed:has(.rail:hover) .rail-ai{justify-content:flex-start;padding:12px;margin:10px 4px}
  .app.rail-collapsed:has(.rail:hover) .rail-ai-txt{display:block}
  .app.rail-collapsed:has(.rail:hover) .nav a::after{display:none}
}

/* ============ Prise en main (tutoriel) ============ */
.sb-tour-stage{display:flex;gap:24px;align-items:center;min-height:210px}
.sb-tour-vis{width:190px;height:190px;flex:none;border-radius:22px;display:grid;place-items:center;box-shadow:0 18px 40px rgba(20,20,60,.2)}
.sb-tour-vis span{font-size:62px;animation:tourpop .4s ease}
@keyframes tourpop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.sb-tour-tx{flex:1;min-width:0}
.sb-tour-tx h3{font-size:22px;margin:0 0 10px;color:var(--ink)}
.sb-tour-tx p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin:0 0 18px}
.sb-tour-act{background:var(--ags-blue);color:#fff;border:0;border-radius:11px;padding:11px 18px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.sb-tour-act:hover{filter:brightness(1.07)}
.sb-tour-nav{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.sb-tour-dots{display:flex;gap:7px}
.sb-tour-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:.2s}
.sb-tour-dots i.on{background:var(--ags-blue);width:22px;border-radius:20px}
@media(max-width:640px){.sb-tour-stage{flex-direction:column;text-align:center}.sb-tour-vis{width:140px;height:140px}}

/* ============ Studio HTML — colonne Pages compacte + blocs rangés ============ */
/* pages : compact, pas de défilement horizontal */
.sb-left{overflow-x:hidden}
.sb-pg{padding:6px !important;gap:8px !important;margin-bottom:7px !important;border-radius:11px !important}
.sb-pg-thumb{width:44px !important;height:31px !important}
.sb-pg-num{font-size:11px !important;min-width:14px}
.sb-pg-n{font-size:12px !important}
.sb-page-new{padding:8px !important;font-size:12px !important;margin-bottom:6px}
.sb-side-h{margin:2px 4px 8px}
/* bibliothèque : tuiles plus petites, catégories nettes, aucun débordement */
.sb-add{padding:8px 4px !important;font-size:9.5px !important;gap:4px !important;border-radius:9px}
.sb-add-ico{width:24px !important;height:24px !important;font-size:12px !important}
.sb-cat{margin:13px 2px 7px !important;font-size:10px !important;padding-bottom:5px;border-bottom:1px solid var(--line)}
.sb-cat-g{gap:6px !important;margin-bottom:2px}
.sb-palette{padding-right:2px}

/* ============ Studio HTML — vignettes de pages propres ============ */
.sb-pg-thumb{width:42px !important;height:30px !important;border-radius:8px !important;display:grid !important;place-items:center;overflow:hidden;border:0 !important;position:static !important;flex:none}
.sb-pg-thumb b{color:#fff;font-size:12px;font-weight:800}
.sb-pg-thumb.th0{background:linear-gradient(135deg,#3b6fd4,#6a5cf0)}
.sb-pg-thumb.th1{background:linear-gradient(135deg,#1b4f9c,#3b6fd4)}
.sb-pg-thumb.th2{background:linear-gradient(135deg,#e8763a,#e8502f)}
.sb-pg-thumb.th3{background:linear-gradient(135deg,#3d8a56,#2b7a4b)}
.sb-pg-thumb.th4{background:linear-gradient(135deg,#7a44c2,#6a5cf0)}
.sb-pg-num{display:none}

/* ============ Studio HTML — Mes projets (galerie) ============ */
.modal-box.wide{max-width:760px}
.sb-proj-new{display:inline-flex;align-items:center;gap:6px;border:1.5px dashed var(--ags-blue);color:var(--ags-blue);border-radius:12px;padding:10px 16px;font-weight:700;font-size:13px;text-decoration:none;margin-bottom:16px}
.sb-proj-new:hover{background:var(--ags-blue-tint)}
.sb-proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sb-proj{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--card);transition:.14s}
.sb-proj:hover{border-color:var(--ags-blue);box-shadow:var(--shadow-sm)}
.sb-proj.is-on{border-color:var(--ags-blue);box-shadow:0 0 0 2px var(--ags-blue-tint)}
.sb-proj-open{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.sb-proj-th{width:46px;height:38px;flex:none;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px}
.sb-proj-th.th0{background:linear-gradient(135deg,#3b6fd4,#6a5cf0)}.sb-proj-th.th1{background:linear-gradient(135deg,#1b4f9c,#3b6fd4)}.sb-proj-th.th2{background:linear-gradient(135deg,#e8763a,#e8502f)}.sb-proj-th.th3{background:linear-gradient(135deg,#3d8a56,#2b7a4b)}.sb-proj-th.th4{background:linear-gradient(135deg,#7a44c2,#6a5cf0)}
.sb-proj-tx{min-width:0}.sb-proj-tx b{font-size:14px;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-proj-tx small{font-size:11.5px;color:var(--ink-soft)}
.sb-proj-act{display:flex;align-items:center;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:9px}
.sb-proj-b{background:var(--ags-blue);color:#fff;border-radius:9px;padding:7px 14px;font-size:12.5px;font-weight:700;text-decoration:none}
.sb-proj-b:hover{filter:brightness(1.06)}
.sb-proj-del{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:6px 10px;cursor:pointer;font-size:13px}
.sb-proj-del:hover{border-color:#c0392b;background:#fdeae6}
@media(max-width:600px){.sb-proj-grid{grid-template-columns:1fr}}

/* ============ Studio HTML — toolbar homogène + titre visible + fermer présentation ============ */
.sb-toolbar{flex-wrap:wrap;row-gap:8px}
.sb-toolbar .btn-ghost.sm,.sb-tb-right .btn-ghost.sm{height:36px !important;padding:0 12px !important;display:inline-flex !important;align-items:center;gap:6px;font-size:12.5px !important;white-space:nowrap;flex-direction:row !important;line-height:1}
.sb-toolbar .btn-ghost svg,.sb-tb-right .btn-ghost svg{width:16px !important;height:16px !important;flex:none}
.sb-save-btn{height:36px;padding:0 16px}
.sb-title-input{flex:0 1 210px !important;min-width:140px;max-width:260px}
.sb-projbtn{flex:none}
.sb-tb-sep{height:22px}
/* fermer / quitter la présentation — bien visible */
.sb-present-close{position:fixed;top:18px;right:22px;z-index:10;background:rgba(255,255,255,.94);color:#1e2a44;border:0;border-radius:12px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.sb-present-close:hover{background:#fff;transform:translateY(-1px)}

/* ============ Studio HTML — statut projet + publication ============ */
.sb-proj-status{border:0;border-radius:20px;padding:5px 11px;font-size:10.5px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.sb-proj-status.draft{background:#fbeede;color:#b06a1e}
.sb-proj-status.done{background:#e7f4ec;color:#2b7a4b}
.sb-proj-status:hover{filter:brightness(.96)}
.sb-proj-act{flex-wrap:wrap;gap:6px}
.sb-pub-result:empty{display:none}
.sb-pub-link{display:flex;gap:8px}
.sb-pub-link input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:12.5px;font-family:inherit;background:var(--bg2);color:var(--ink)}
.sb-pub-qr{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:16px}
.sb-pub-qr img{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}
.sb-pub-err{margin-top:12px;background:#fdeae6;color:#c0392b;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}

/* ============ Studio HTML — Médiathèque + Historique ============ */
.sb-media-top{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.sb-media-hint{font-size:12px;color:var(--ink-soft)}
.sb-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:54vh;overflow-y:auto}
.sb-media-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);transition:.14s}
.sb-media-card:hover{border-color:var(--ags-blue);box-shadow:var(--shadow-sm)}
.sb-media-thumb{height:100px;background-size:cover;background-position:center;background-color:var(--bg2)}
.sb-media-nm{font-size:12px;padding:8px 10px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.sb-media-act{display:flex;gap:6px;padding:0 10px 10px}
.sb-media-use{flex:1;border:0;background:var(--ags-blue);color:#fff;border-radius:8px;padding:7px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.sb-media-use:hover{filter:brightness(1.06)}
.sb-media-del{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 10px;cursor:pointer}
.sb-media-del:hover{border-color:#c0392b;background:#fdeae6}
.sb-hist-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.sb-hist-item:last-child{border-bottom:0}
.sb-hist-tx b{font-size:13.5px;color:var(--ink);display:block}.sb-hist-tx small{font-size:11.5px;color:var(--ink-soft)}
.sb-hist-restore{border:1px solid var(--ags-blue);background:var(--ags-blue-tint);color:var(--ags-blue);border-radius:9px;padding:7px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit}
.sb-hist-restore:hover{background:var(--ags-blue);color:#fff}
.sb-hist-cur{font-size:11px;color:#2b7a4b;font-weight:700;background:#e7f4ec;padding:4px 10px;border-radius:20px}

/* ============ Accueil (maquette validée) ============ */
.acc{width:100%;max-width:none}
.acc-hero-row{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:20px}
.acc-hero{background:linear-gradient(120deg,#1b4fa8,#2f6ae0 60%,#3f7bf0);border-radius:20px;padding:36px 38px;color:#fff;position:relative;overflow:hidden}
.acc-hero h1{font-size:32px;font-weight:800;margin-bottom:12px}
.acc-hero p{font-size:15px;opacity:.92;max-width:430px;line-height:1.55;margin-bottom:22px}
.acc-hero-b{display:flex;gap:14px;flex-wrap:wrap}
.acc-btn-coral{background:#f0663f;color:#fff;border:0;border-radius:12px;padding:13px 24px;font-weight:750;font-size:14px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px -12px rgba(4,20,50,.6);transition:transform .15s,box-shadow .15s}
.acc-btn-coral:hover{transform:translateY(-1px);box-shadow:0 16px 32px -12px rgba(4,20,50,.7)}
.acc-btn-coral svg{width:16px;height:16px}
.acc-btn-ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:12px;padding:13px 22px;font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s,border-color .15s}
.acc-btn-ghost:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.7)}
.acc-hero-vis{position:absolute;right:26px;top:24px;bottom:24px;width:280px;opacity:.85;pointer-events:none}
.acc-hero-vis .hx{position:absolute;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;font-size:22px;color:#d6e6ff;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.acc-hero-vis .hx svg{width:26px;height:26px}
.hx.a{width:92px;height:92px;right:110px;top:2px}.hx.b{width:74px;height:74px;right:18px;top:30px}.hx.c{width:84px;height:84px;right:140px;top:110px}.hx.d{width:92px;height:92px;right:34px;top:118px}
.acc-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acc-kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 17px;box-shadow:var(--shadow-sm)}
.acc-kpi-t{display:flex;align-items:flex-start;gap:11px}
.acc-kpi-ic{width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff}
.acc-kpi-ic svg{width:19px;height:19px}
.b-blue{background:#2f6ae0}.b-coral{background:#f0663f}.b-cyan{background:#2aa3d6}.b-violet{background:#7a52e6}
.acc-kpi-l{font-size:12.5px;color:var(--ink-soft);font-weight:600;line-height:1.3}
.acc-kpi-v{font-size:28px;font-weight:800;margin-top:8px;color:var(--ink)}
.acc-kpi-up{font-size:12px;color:#22a06b;font-weight:700;margin-top:2px}
.acc-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-sm)}
.acc-card-h{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.acc-card-h h2{font-size:16px;font-weight:800;color:var(--ink);margin-right:auto}
.acc-card-h h2.sm{font-size:15px}
.acc-card-h a,.acc-card-h .acc-cardh-link{color:#2f6ae0;font-weight:700;font-size:13px;text-decoration:none;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;white-space:nowrap;transition:background .15s}
.acc-card-h .acc-cardh-link:hover{background:rgba(47,106,224,.08)}
.acc-card-h .acc-cardh-link svg{width:15px;height:15px}
.acc-dnd-hint{font-size:12px;color:var(--muted,#7a8aa0);order:5;flex-basis:100%;margin:0}
.acc-grid-2{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:20px;align-items:start}
.acc-col{display:flex;flex-direction:column;gap:20px}
.acc-qa{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.acc-qa a{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:12px 6px;border-radius:14px;text-decoration:none}
.acc-qa a:hover{background:#f4f8fd}
.acc-qa .ic{width:46px;height:46px;border-radius:14px;background:#eef4fd;display:grid;place-items:center;color:#2f6ae0}
.acc-qa .ic svg{width:19px;height:19px}
.acc-qa small{font-size:11.5px;color:#44506c;font-weight:600;line-height:1.25}
.acc-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:stretch} /* [resp-accueil-v1] repli auto, plus de debordement */
@media (max-width:1100px){.acc-apps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media (max-width:640px){.acc-apps{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
.acc-appc{border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center;text-decoration:none;transition:.15s;display:flex;flex-direction:column}
.acc-appc[draggable=true]{cursor:grab}
.acc-appc.acc-floating{position:fixed;z-index:1000;pointer-events:none;cursor:grabbing;box-shadow:0 18px 44px rgba(16,32,52,.28);transform:scale(1.03);opacity:.96;margin:0}
.acc-ph{border:2px dashed rgba(47,106,224,.45)!important;background:rgba(47,106,224,.06)!important;border-radius:16px}
.acc-appc:not(.acc-floating){touch-action:none}
.acc-appc.dragging{opacity:.45;cursor:grabbing;transform:scale(.97);box-shadow:0 12px 30px rgba(16,32,52,.18)}
.acc-apps.acc-dnd-over{outline:2px dashed rgba(47,106,224,.4);outline-offset:4px;border-radius:16px}
.acc-dnd-hint{font-size:12px;color:var(--muted,#7a8aa0);margin-left:auto;margin-right:14px;transition:color .2s}
.acc-dnd-hint.saved{color:#22a06b;font-weight:600}
/* Zone de dépôt en fin de grille (visible seulement pendant un glisser) */
.acc-dropzone{border:2px dashed rgba(47,106,224,.32);background:rgba(47,106,224,.03);align-items:center;justify-content:center;color:#8296b4;gap:6px;display:none;pointer-events:none;transition:border-color .15s,background .15s}
.acc-dropzone em{font-style:normal;font-size:12.5px}
.acc-dropzone .acc-dz-ic{width:34px;height:34px;display:flex;align-items:center;justify-content:center;opacity:.6}
.acc-apps.acc-dnd-over .acc-dropzone{display:flex;pointer-events:auto}
.acc-dropzone.acc-dz-active{border-color:rgba(47,106,224,.7);background:rgba(47,106,224,.1);color:#2f6ae0}
/* Modale « Mes applications à la une » */
.acc-fav-box{max-width:560px}
.acc-fav-intro{font-size:13px;color:#5a6b85;margin-bottom:14px}
.acc-fav-count{display:flex;align-items:center;gap:12px;padding:12px 14px;background:rgba(47,106,224,.06);border-radius:12px;margin-bottom:16px}
.acc-fav-count label{font-weight:600;color:#0f2a50;font-size:13.5px}
.acc-fav-count select{margin-left:auto;padding:7px 12px;border:1px solid var(--line,#d8e0ec);border-radius:9px;background:#fff;font-size:14px}
.acc-fav-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding-right:4px}
.acc-fav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--line,#e2e8f2);border-radius:12px;cursor:pointer;transition:.14s}
.acc-fav-item:hover{border-color:rgba(47,106,224,.4);background:rgba(47,106,224,.03)}
.acc-fav-item.on{border-color:rgba(47,106,224,.6);background:rgba(47,106,224,.07)}
.acc-fav-item input{position:absolute;opacity:0;pointer-events:none}
.acc-fav-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(47,106,224,.1);color:#2f6ae0;flex:none}
.acc-fav-ic svg{width:20px;height:20px}
.acc-fav-nm{flex:1;min-width:0}
.acc-fav-nm b{display:block;font-size:14px;color:#0f2a50}
.acc-fav-nm small{color:#7a8aa0;font-size:12px}
.acc-fav-chk{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line,#d8e0ec);display:flex;align-items:center;justify-content:center;color:transparent;flex:none;transition:.14s}
.acc-fav-chk svg{width:15px;height:15px}
.acc-fav-item.on .acc-fav-chk{background:#2f6ae0;border-color:#2f6ae0;color:#fff}
.acc-fav-foot{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid rgba(15,42,80,.08)}
.acc-fav-msg{flex:1;font-size:12.5px;color:#22a06b;font-weight:600}
.acc-appc .acc-rate{margin-top:auto}
.acc-appc:hover{box-shadow:var(--shadow-sm);border-color:#d8e2f2;transform:translateY(-2px)}
.acc-lg{width:50px;height:50px;margin:2px auto 12px;border-radius:14px;display:grid;place-items:center;color:#fff}
.acc-lg svg{width:24px;height:24px}
.acc-appc b{font-size:14px;display:block;color:var(--ink)}
.acc-appc p{font-size:11.5px;color:var(--ink-soft);margin:6px 0 12px;line-height:1.4;min-height:32px}
.acc-rate{font-size:11.5px;font-weight:700;color:#2b7a4b;background:#e7f4ec;padding:4px 12px;border-radius:20px}
.acc-notif{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.acc-notif:last-child{border-bottom:0}
.acc-notif .ic{width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center}
.acc-notif .ic svg{width:16px;height:16px}
.n-amber{background:#fdf1e1;color:#e6a23c}.n-blue{background:#e8f1fd;color:#2f6ae0}.n-green{background:#e5f5ec;color:#22a06b}
.acc-notif b{font-size:13.5px;color:var(--ink)}.acc-notif p{font-size:12px;color:var(--ink-soft);margin-top:2px}
.acc-notif .t{margin-left:auto;font-size:11px;color:var(--ink-soft);white-space:nowrap}
.acc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}
.acc-li{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}
.acc-li:last-child{border-bottom:0}
.acc-li .ic{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;color:#fff}
.acc-li .ic svg{width:15px;height:15px}
.acc-li .nm{font-size:13px;font-weight:600;flex:1;min-width:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-li .t{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}
.acc-li.act .av{width:34px;height:34px;border-radius:50%;background:#cdd8ea;flex:none}
.acc-li.act .nm{white-space:normal;font-weight:500;line-height:1.4}
.acc-li.svc .dot{width:9px;height:9px;border-radius:50%;background:#22a06b}
.acc-li.svc .dot.am{background:#e6a23c}
.acc-li.svc .st{margin-left:auto;font-size:12.5px;font-weight:600;color:#22a06b;display:flex;align-items:center;gap:6px}
.acc-li.svc .st.maint{color:#e6a23c}
.acc-li.svc .st .d{width:8px;height:8px;border-radius:50%;background:currentColor}
.acc-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:center}
.acc-catc{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px 15px}
.acc-catc:hover{box-shadow:var(--shadow-sm)}
.acc-catc .ic{width:42px;height:42px;border-radius:12px;background:#eef4fd;display:grid;place-items:center;color:#2f6ae0;flex:none}
.acc-catc .ic svg{width:18px;height:18px}
.acc-catc b{font-size:13.5px;display:block;color:var(--ink)}.acc-catc small{font-size:11.5px;color:var(--ink-soft)}
.acc-cats .more{color:#2f6ae0;font-weight:700;font-size:13px;text-align:right;text-decoration:none}
.acc-empty{font-size:13px;color:var(--ink-soft);padding:8px 0}
@media(max-width:1100px){.acc-hero-row,.acc-grid-2{grid-template-columns:1fr}.acc-grid-4{grid-template-columns:1fr 1fr}.acc-cats{grid-template-columns:1fr 1fr}.acc-qa{grid-template-columns:repeat(3,1fr)}}

/* ============ Centre de pilotage (maquette validée) ============ */
.pil{width:100%}
.pil-h1{font-size:26px;font-weight:800;margin-bottom:5px}
.pil-sub{font-size:14px;color:var(--ink-soft);margin-bottom:22px}
.pil-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.pil-kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:15px;position:relative;text-decoration:none;color:inherit}
.pil-kpi:hover{border-color:#d8e2f2}
.pil-kpi-ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center}
.pil-kpi-ic svg{width:21px;height:21px}
.k-blue{background:#e8f1fd;color:#2f6ae0}.k-green{background:#e5f5ec;color:#22a06b}.k-violet{background:#efeafc;color:#7a52e6}.k-coral{background:#fdeede;color:#e8763a}
.pil-kpi .l{font-size:12.5px;color:var(--ink-soft);font-weight:600}
.pil-kpi .v{font-size:27px;font-weight:800;line-height:1.15;margin:2px 0;color:var(--ink)}
.pil-kpi .s{font-size:11.5px;color:var(--ink-soft)}.pil-kpi .s.up{color:#22a06b;font-weight:700}
.pil-kpi .chev{position:absolute;right:16px;top:16px;color:var(--muted)}
.pil-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.pil-card-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}
.pil-card-h h2{font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;color:var(--ink)}
.pil-card-h h2 svg{width:17px;height:17px;color:var(--ink-soft)}
.pil-card-h .see{color:#2f6ae0;font-weight:700;font-size:13px;text-decoration:none}
.pil-card-h .pill{font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:9px;padding:6px 11px;background:#fbfcfe}
.pil-row1{display:grid;grid-template-columns:1.25fr 1.2fr .85fr;gap:16px;margin-bottom:18px}
.pil-row2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pil-tbl{width:100%;border-collapse:collapse;margin-top:8px}
.pil-tbl th{text-align:left;font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:10px 20px}
.pil-tbl td{padding:11px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
.pil-tbl .app-c{display:flex;align-items:center;gap:11px}
.pil-tbl .app-c .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff}
.pil-tbl .app-c .ic svg{width:16px;height:16px}
.pil-tbl .app-c b{font-size:13px}.pil-tbl .app-c small{font-size:11px;color:var(--ink-soft);display:block}
.st{font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}
.st.on{background:#e5f5ec;color:#22a06b}.st.off{background:#fdecea;color:#e5533c}
.st .d{width:7px;height:7px;border-radius:50%;background:currentColor}
.pil-tbl-f{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--line)}
.pil-tbl-f small{color:var(--ink-soft);font-size:12.5px}.pil-tbl-f a{color:#2f6ae0;font-weight:700;font-size:13px;text-decoration:none}
.pil-cstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:6px 20px 18px}
.pil-cstats .s .n{font-size:17px;font-weight:800;color:var(--ink)}
.pil-cstats .s .kk{font-size:10.5px;color:var(--ink-soft)}
.pil-cstats .s .u{font-size:10.5px;color:#22a06b;font-weight:700}
.pil-qa{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 8px}
.pil-qa a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px;font-size:12.5px;font-weight:600;color:#3b465f;text-decoration:none}
.pil-qa a:hover{border-color:#cfe0fb;background:#f7faff}
.pil-qa .ic{width:30px;height:30px;border-radius:9px;background:#eef4fd;display:grid;place-items:center;color:#2f6ae0;flex:none}
.pil-qa .ic svg{width:15px;height:15px}
.pil-notif{display:flex;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}
.pil-notif .ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center}
.pil-notif .ic svg{width:15px;height:15px}
.n-red{background:#fdecea;color:#e5533c}.n-blue{background:#e8f1fd;color:#2f6ae0}.n-green{background:#e5f5ec;color:#22a06b}
.pil-notif b{font-size:13px;color:var(--ink)}.pil-notif p{font-size:11.5px;color:var(--ink-soft);margin-top:2px}
.pil-notif .t{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.pil-donuts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:18px 20px}
.pil-donuts .donut{text-align:center}
.pil-donuts .lbl{font-size:11px;font-weight:700;margin-top:8px;color:var(--ink)}
.pil-donuts .sub{font-size:10.5px;color:var(--ink-soft)}
.detail{display:block;padding:2px 20px 18px;font-size:12.5px;color:#2f6ae0;font-weight:700;text-decoration:none}
.pil-svc{display:flex;align-items:center;gap:11px;padding:11px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
.pil-svc:first-of-type{border-top:0}
.pil-svc .ic{color:var(--ink-soft)}.pil-svc .ic svg{width:15px;height:15px}
.pil-svc .st2{margin-left:auto;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:6px;color:#22a06b}
.pil-svc .st2.deg{color:#e6a23c}
.pil-svc .st2 .d{width:8px;height:8px;border-radius:50%;background:currentColor}
.pil-svc-ok{margin:6px 20px 18px;background:#e9f7ef;color:#1f8a5b;border-radius:12px;padding:11px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px;justify-content:center}
.pil-big{font-size:24px;font-weight:800;padding:14px 20px 2px;color:var(--ink)}
.pil-big .up{font-size:11.5px;color:#22a06b;font-weight:700;margin-left:8px}
.pil-bars{display:flex;align-items:flex-end;gap:4px;height:66px;padding:6px 20px 12px}
.pil-bars i{flex:1;background:linear-gradient(180deg,#7fb0f2,#c9def9);border-radius:3px}
.pil-er{display:flex;gap:24px;padding:2px 20px 10px;font-size:12px}
.pil-er b{font-size:15px;display:block;color:var(--ink)}.pil-er span{color:var(--ink-soft)}
.pil-act{display:flex;align-items:center;gap:11px;padding:11px 20px;border-top:1px solid var(--line)}
.pil-act:first-of-type{border-top:0}
.pil-act .av{width:34px;height:34px;border-radius:50%;background:#cdd8ea;flex:none}
.pil-act .nm{font-size:12.5px;line-height:1.4;color:var(--ink)}.pil-act .nm b{font-weight:700}
.pil-act .aic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none}
.pil-act .aic svg{width:13px;height:13px}
.pil-empty{font-size:13px;color:var(--ink-soft);padding:10px 20px}
@media(max-width:1200px){.pil-row1,.pil-row2{grid-template-columns:1fr 1fr}.pil-kpis{grid-template-columns:1fr 1fr}}

/* ============ Gérer les applications ============ */
.appadm{width:100%;max-width:none}
.aa-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}
.aa-head{display:flex;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.aa-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:none}
.aa-ic svg{width:20px;height:20px}
.aa-tt b{font-size:15px;color:var(--ink);display:block}.aa-tt small{font-size:12px;color:var(--ink-soft)}
.aa-badge{margin-left:auto;font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}
.aa-badge.on{background:#e5f5ec;color:#22a06b}.aa-badge.off{background:#fdecea;color:#e5533c}
.aa-badge .d{width:7px;height:7px;border-radius:50%;background:currentColor}
.aa-mode{font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px}
.aa-mode.m-all{background:#e8f1fd;color:#2f6ae0}.aa-mode.m-desig{background:#efeafc;color:#7a52e6}.aa-mode.m-none{background:#f1f3f7;color:#66708a}
.aa-body{display:grid;grid-template-columns:260px 1fr;gap:22px;padding:18px 20px}
.aa-col.wide{min-width:0}
.aa-lbl{font-size:12px;font-weight:700;color:#44506c;margin-bottom:10px}
.aa-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.aa-row select,.aa-add select{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--ink)}
.aa-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700;color:#3b465f;cursor:pointer;white-space:nowrap;font-family:inherit}
.aa-btn:hover{border-color:#cfe0fb;background:#f7faff}
.aa-btn.pri{background:var(--ags-blue,#1b4f9c);color:#fff;border-color:var(--ags-blue,#1b4f9c)}
.aa-btn.all{background:#e8f1fd;color:#2f6ae0;border-color:#cfe0fb;margin-bottom:8px}
.aa-grants{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:10px}
.aa-none{font-size:13px;color:var(--ink-soft)}
.aa-grant{display:inline-flex;align-items:center;gap:6px;background:#eef2f8;border-radius:20px;padding:5px 6px 5px 13px;font-size:12.5px;font-weight:600;color:var(--ink)}
.aa-grant.all{background:#e8f1fd;color:#2f6ae0}
.aa-xx{border:0;background:rgba(0,0,0,.06);border-radius:50%;width:20px;height:20px;cursor:pointer;color:#66708a;font-size:11px;line-height:1}
.aa-xx:hover{background:#fdecea;color:#e5533c}
.aa-add{display:flex;flex-direction:column;gap:0}
.aa-hint{font-size:11.5px;color:var(--ink-soft);margin-top:8px;line-height:1.4}
@media(max-width:820px){.aa-body{grid-template-columns:1fr}}

/* niveau de droit sur les accès (Gérer les applications) */
.aa-lvl{display:inline-block;margin-left:7px;font-style:normal;font-size:10px;font-weight:700;background:rgba(27,79,156,.1);color:#1b4f9c;border-radius:6px;padding:1px 7px;vertical-align:middle}
.aa-add select[name=access_level]{max-width:150px}

/* ============ Gérer les applications — barre import ============ */
.aa-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;flex-wrap:wrap}
.aa-count{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft)}
.aa-count svg{width:17px;height:17px}.aa-count b{color:var(--ink);font-size:15px}
.aa-tools{display:flex;gap:10px;flex-wrap:wrap}
.imp-counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.imp-k{font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;background:#eef2f8;color:var(--ink-soft)}
.imp-k.ok{background:#e5f5ec;color:#2b7a4b}.imp-k.nt{background:#e8f1fd;color:#2f6ae0}.imp-k.no{background:#f3f4f7;color:#8a93a5}

/* recherche dans Gérer les applications */
.aa-search{position:relative;flex:1;min-width:220px;max-width:420px}
.aa-search input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 14px 10px 38px;font-size:13.5px;font-family:inherit;background:#fff;color:var(--ink)}
.aa-search input:focus{outline:none;border-color:var(--ags-blue,#1b4f9c)}
.aa-sic{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}
.aa-toolbar{align-items:center}

/* ============ Gérer les applications — recherche ============ */
.aa-search{position:relative;display:flex;align-items:center;margin:0 0 18px}
.aa-search-ic{position:absolute;left:16px;font-size:15px;color:var(--muted);pointer-events:none}
.aa-search input{width:100%;max-width:440px;border:1px solid var(--line);border-radius:12px;padding:11px 14px 11px 42px;font-size:14px;font-family:inherit;color:var(--ink);background:var(--card);box-shadow:var(--shadow-sm)}
.aa-search input:focus{outline:none;border-color:var(--ags-blue)}
.aa-search-none{margin-left:14px;font-size:13px;color:var(--ink-soft)}

/* ============ Gérer les applications — recherche + groupes ============ */
.aa-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.aa-search span{color:var(--ink-soft)}
.aa-search input{flex:1;border:0;outline:none;font-size:14px;font-family:inherit;background:transparent;color:var(--ink)}
.aa-groups .aa-gbody{padding:16px 20px}
.aa-gnew{margin-bottom:14px}
.aa-gnew input[type=text]{flex:1;min-width:220px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13.5px;font-family:inherit}
.aa-glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.aa-grp{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfcfe}
.aa-grp-h{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.aa-grp-h b{font-size:14px;color:var(--ink)}
.aa-grp-h em{font-size:11.5px;color:var(--ink-soft);font-style:normal;background:#eef2f8;padding:2px 9px;border-radius:20px}
.aa-grp-del{margin-left:auto}
.aa-grp .aa-row{gap:6px}
.aa-grp select{flex:1;min-width:0}

/* groupes : modale */
.aa-grp-ren input[type=text]{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13.5px;font-weight:600}
.aa-grp-n{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}
.aa-btn.aa-del{color:#c0392b;border-color:#f0d0cc}
.aa-btn.aa-del:hover{background:#fdecea}

/* Studio HTML : mise en page figée — seule la colonne centrale défile (desktop, page Studio uniquement) */
@media(min-width:1000px){
  .app:has(.sb-app){height:100vh;overflow:hidden}
  .content:has(.sb-app){min-height:0;height:100%}
  .scroll:has(.sb-app){flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  .sb-app{flex:1;min-height:0;display:flex;flex-direction:column}
  .sb-main{flex:1;min-height:0;overflow:hidden;align-items:stretch}
  .sb-canvaswrap{max-height:100%;overflow-y:auto}
  .sb-left,.sb-panel{max-height:100%;overflow-y:auto;position:static!important;top:auto!important}
}

/* Studio HTML : tableau des résultats de quiz */
.sb-res-tbl{width:100%;border-collapse:collapse;font-size:14px}
.sb-res-tbl th{text-align:left;padding:8px 10px;border-bottom:2px solid rgba(20,30,60,.1);color:#556;font-weight:700}
.sb-res-tbl td{padding:8px 10px;border-bottom:1px solid rgba(20,30,60,.07)}
.sb-res-h{margin:20px 0 8px;font-size:15px;font-weight:800}
.sb-res-h:first-child{margin-top:0}
#spAuto.on{background:var(--pb-accent,#3b6fd4);color:#fff}
.sb-form-sub{border:1px solid rgba(20,30,60,.1);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.sb-form-meta{font-size:12px;color:#778;margin-bottom:6px}
.sb-form-kv{font-size:14px;margin:2px 0}
.sb-notes{width:100%;min-height:90px;resize:vertical;border:1px solid var(--line-soft,#e5e8ef);border-radius:10px;padding:10px;font-size:13px;font-family:inherit;box-sizing:border-box;background:#fff}
.sb-presenter{position:fixed;left:16px;bottom:74px;width:290px;max-height:64vh;overflow:auto;background:rgba(20,24,36,.94);color:#fff;border-radius:14px;padding:16px 18px;z-index:60;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.sb-presenter-time{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:14px}
.sb-presenter-sec{margin-bottom:14px}
.sb-presenter-sec>b{display:block;font-size:11px;letter-spacing:.5px;text-transform:uppercase;opacity:.65;margin-bottom:6px}
.sb-presenter-notes{white-space:pre-wrap;line-height:1.45;font-size:14px}
.sb-presenter-next{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px;max-height:180px;overflow:hidden;background:#fff;color:#111;font-size:11px}
.sb-presenter-next .pb-page{transform:scale(.5);transform-origin:top left;width:200%}
#spNotes.on{background:var(--pb-accent,#3b6fd4);color:#fff}
.sb-fmt-sel{width:100%;padding:8px 10px;border:1px solid var(--line-soft,#e5e8ef);border-radius:9px;font-size:13px;font-family:inherit;background:#fff}
.sb-res-pals{display:flex;flex-direction:column;gap:10px}
.sb-res-pal{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sb-res-pal>b{font-size:13px;color:#556;min-width:70px}
.sb-res-sw{display:inline-block;width:30px;height:30px;border-radius:7px;cursor:pointer;margin-left:5px;border:1px solid rgba(0,0,0,.08);vertical-align:middle;transition:transform .12s}
.sb-res-sw:hover{transform:scale(1.12)}
.sb-res-sw.copied{outline:2px solid #2b9d5f;outline-offset:2px}
.sb-res-icons{display:flex;flex-wrap:wrap;gap:6px}
.sb-res-ic{width:40px;height:40px;font-size:20px;border:1px solid var(--line-soft,#e5e8ef);border-radius:9px;background:#fff;cursor:pointer;transition:transform .12s,border-color .12s}
.sb-res-ic:hover{transform:scale(1.1);border-color:var(--pb-accent,#3b6fd4)}
.sb-res-ic.copied{border-color:#2b9d5f;background:#eafaf0}
.sb-canvas .pb-page.pb-fmt-a4{max-width:820px}
.sb-canvas .pb-page.pb-fmt-square{max-width:560px}
.sb-canvas .pb-page.pb-fmt-story{max-width:400px}

/* Enquêtes — injection base contacts extranet (additif, sans régression) */
.enq-chkrow{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:6px}
.enq-chk{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#2a3d5c;font-weight:600}
.enq-chk input{width:16px;height:16px;accent-color:#f0785a}
.enq-chk small{color:#8496b3;font-weight:600}

/* Rail — groupes repliables (Paramètres / Mes outils) — additif */
.rail-group{display:flex;flex-direction:column}
.rail-grp{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;cursor:pointer;color:inherit;font:inherit;padding:10px 12px;border-radius:12px;text-align:left}
.rail-grp:hover{background:rgba(15,78,163,.06)}
.rail-caret{margin-left:auto;font-size:11px;opacity:.55;transition:transform .18s}
.rail-group.open>.rail-grp .rail-caret{transform:rotate(90deg)}
.rail-sub{max-height:0;overflow:hidden;transition:max-height .24s ease}
.rail-group.open>.rail-sub{max-height:640px}
.rail-sub a{padding-left:22px}
/* En rail réduit (icônes seules) : tout est visible, pas de repli ni chevron */
.rail-collapsed .rail-caret{display:none}

/* Questionnaire public — champs préremplis (CGEA/Étude/Mandataire/Service) */
.sv-prefill .sv-prefill-v{background:#f4f7fb;border:1px solid var(--line-soft,#e6edf6);border-radius:12px;padding:12px 14px;font-weight:600;color:#12243f}
.sv-prefill-empty{color:#9aa7bd;font-weight:400}
.sv-consent{align-items:flex-start}

/* Questionnaire public — Pièce jointe + Signature */
.sv-file{display:block;width:100%;padding:12px;border:1.5px dashed var(--line-soft,#cbd5e1);border-radius:12px;background:#f9fbfe;font:inherit}
.sv-file-hint{font-size:12px;color:#8090a5;margin:8px 0 0}
.sv-sig-canvas{width:100%;max-width:100%;height:auto;aspect-ratio:600/180;border:1.5px solid var(--line-soft,#cbd5e1);border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}
.sv-sig-tools{display:flex;align-items:center;gap:12px;margin-top:8px}
.sv-sig-clear{border:1px solid var(--line-soft,#cbd5e1);background:#fff;border-radius:9px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}
.sv-sig-hint{font-size:12px;color:#8090a5}

/* Questionnaire public — description, commentaire, option Autre */
.sv-help{font-size:14px;color:#64748b;margin:-8px 0 14px;line-height:1.4}
.sv-comment{width:100%;margin-top:12px;border:1px solid var(--line-soft,#e6edf6);border-radius:10px;padding:10px 12px;font:inherit;background:#f9fbfe;resize:vertical}
.sv-other-in{margin-top:6px;margin-left:34px;width:calc(100% - 34px);border:1px solid var(--line-soft,#e6edf6);border-radius:9px;padding:8px 11px;font:inherit;background:#fff}

/* ============ Filet de sécurité responsive global Sésame ============ */
@media(max-width:768px){
  .modal-box{width:94vw !important;max-width:94vw !important}
  table{max-width:100%}
  img,svg,canvas,video{max-width:100%;height:auto}
  .field-row{flex-direction:column}
}
.table-scroll,.enq-mtx-wrap,.imp-preview-wrap,.sv-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Questionnaire public — en-tête de thème */
.sv-theme{font-size:13px;font-weight:800;color:#6d5cf5;text-transform:uppercase;letter-spacing:.6px;margin:28px 0 4px;padding-bottom:6px;border-bottom:2px solid #eee9fe}
.sv-theme:first-child{margin-top:0}

/* Questionnaire public multi-pages */
.sv-pagenav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 6px}
.sv-pgbtn{border:1px solid var(--line-soft,#e6edf6);background:#fff;border-radius:12px;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;color:#3a4a63}
.sv-pgbtn.primary{background:var(--action,#0f4ea3);color:#fff;border-color:transparent}
.sv-pgbtn:hover{filter:brightness(.97)}
.sv-pgind{font-size:13px;color:#8090a5;font-weight:600}
.sv-q-err{outline:2px solid #e5484d;outline-offset:3px;border-radius:12px}

/* ============ Transfert : Demande de dépôt + Paramètres réception (maquettes) ============ */
.dep-hero{border-radius:26px;padding:28px;color:#fff;background:linear-gradient(135deg,#0b4ea2,#2563eb 52%,#10b8c8);box-shadow:0 26px 60px rgba(11,78,162,.22);margin-bottom:20px;position:relative;overflow:hidden}
.dep-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.14)}
.dep-hero h1{font-size:34px;line-height:1.08;margin:0 0 10px;position:relative}
.dep-hero p{font-size:16px;line-height:1.5;margin:0;max-width:820px;color:rgba(255,255,255,.9);position:relative}
.dep-hero-a{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;position:relative}
.dep-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:9px 14px;font-weight:800;font-size:13px}
.dep-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.dep-step{background:rgba(255,255,255,.9);border:1px solid var(--line-soft,#e6edf6);border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center}
.dep-num{width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,#0b4ea2,#10b8c8);color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.dep-step b{display:block;font-size:14px}.dep-step span{font-size:11.5px;color:var(--muted,#66768e)}
.dep-grid,.rcp-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.rcp-grid{grid-template-columns:1fr 1fr}
.dep-side{display:flex;flex-direction:column;gap:18px}
.dep-pane h2{margin:0 0 4px;font-size:21px}.dep-pane h3{margin:0 0 8px}
.dep-sub{color:var(--muted,#66768e);line-height:1.45;margin:0 0 14px;font-size:13.5px}
.dep-h3{margin:18px 0 10px;font-size:16px}
.dep-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dep-field{display:flex;flex-direction:column;gap:6px}
.dep-field.dep-full,.dep-full{grid-column:1/-1}
.dep-field label{font-size:12.5px;font-weight:800;color:#334766}
.dep-field input,.dep-field select,.dep-field textarea{width:100%;border:1px solid var(--line-soft,#dce8f6);border-radius:14px;padding:12px 14px;background:#fff;font:inherit;color:var(--ink,#0c1b3a)}
.dep-field textarea{min-height:84px;resize:vertical}
.dep-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dep-opt{border:1px solid var(--line-soft,#dce8f6);background:#fff;border-radius:16px;padding:14px;cursor:pointer;display:block}
.dep-opt input{margin-right:6px}
.dep-opt.is-on,.dep-opt:has(input:checked){border-color:rgba(11,78,162,.45);background:#f1f8ff}
.dep-opt b{display:block;margin:4px 0}.dep-opt p{margin:0;color:var(--muted,#66768e);font-size:12.5px;line-height:1.35}
.dep-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn-coral{border:0;border-radius:15px;padding:13px 18px;font-weight:900;background:#ff725e;color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(255,114,94,.28)}
.btn-soft{border:1px solid var(--line-soft,#dce8f6);border-radius:15px;padding:12px 16px;font-weight:800;background:#fff;color:#0b4ea2;cursor:pointer;display:inline-block;text-align:center}
.dep-w100{width:100%}
.dep-phone{border:9px solid #111827;border-radius:30px;background:#fff;max-width:300px;margin:0 auto;padding:18px;box-shadow:0 22px 55px rgba(15,42,80,.18)}
.dep-phone input,.dep-phone textarea{width:100%;border:1px solid var(--line-soft,#dce8f6);border-radius:12px;padding:10px;margin-top:10px;font:inherit;background:#f9fbff}
.dep-upload{border:2px dashed #b7cae4;border-radius:18px;min-height:120px;background:#f7fbff;display:grid;place-items:center;text-align:center;color:var(--muted,#66768e);margin-top:10px;font-size:13px}
.dep-linkbox{background:#fff;border:1px solid var(--line-soft,#dce8f6);border-radius:14px;padding:13px;overflow:hidden}
.dep-linkbox code{color:#38516f;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.dep-linkacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.dep-secttl{margin:26px 0 14px;font-size:22px}
.dep-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.dep-table{width:100%;border-collapse:separate;border-spacing:0 9px}
.dep-table th{text-align:left;color:#7d8ba2;font-size:11.5px;text-transform:uppercase;padding:0 12px}
.dep-table td{background:#fff;border-top:1px solid var(--line-soft,#e6edf6);border-bottom:1px solid var(--line-soft,#e6edf6);padding:13px}
.dep-table td:first-child{border-left:1px solid var(--line-soft,#e6edf6);border-radius:13px 0 0 13px;font-weight:800}
.dep-table td:last-child{border-right:1px solid var(--line-soft,#e6edf6);border-radius:0 13px 13px 0}
/* switches réception */
.rcp-set{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line-soft,#e6edf6);background:#fff;border-radius:16px;padding:14px;margin:10px 0;cursor:pointer}
.rcp-set b{display:block;margin-bottom:4px}.rcp-set p{margin:0;color:var(--muted,#66768e);font-size:12.5px;line-height:1.35}
.rcp-switch{flex:0 0 auto}.rcp-switch input{display:none}
.rcp-slider{width:52px;height:29px;border-radius:999px;background:#d7e3f1;display:block;position:relative;transition:.15s}
.rcp-slider:before{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:.15s}
.rcp-switch input:checked+.rcp-slider{background:linear-gradient(90deg,#2563eb,#10b8c8)}
.rcp-switch input:checked+.rcp-slider:before{transform:translateX(23px)}
.rcp-policy{display:flex;align-items:center;gap:12px;border:1px solid var(--line-soft,#e6edf6);background:#fff;border-radius:16px;padding:13px;margin:10px 0}
.rcp-policy>div{flex:1}.rcp-policy b{display:block}
.rcp-dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto}
.rcp-dot.green{background:#16a34a}.rcp-dot.blue{background:#2563eb}.rcp-dot.orange{background:#f59e0b}.rcp-dot.red{background:#ef4444}
.badge.orange{background:#ffedd5;color:#9a3412}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}
@media(max-width:1000px){.dep-grid,.rcp-grid{grid-template-columns:1fr}.dep-steps{grid-template-columns:1fr 1fr}.dep-form,.dep-opts{grid-template-columns:1fr}.dep-modes{grid-template-columns:1fr}}

/* Transfert : sous-nav des pages + page */
/* ===== Transfert — shell de navigation unifié (premium) ===== */
.tr-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 22px;padding:12px 14px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,250,254,.92));backdrop-filter:saturate(1.35) blur(10px);-webkit-backdrop-filter:saturate(1.35) blur(10px);border:1px solid rgba(214,227,243,.9);box-shadow:0 1px 2px rgba(16,24,40,.04),0 14px 34px rgba(16,24,40,.08)}
.tr-shell-id{display:flex;align-items:center;gap:12px;min-width:0}
.tr-shell-logo{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:21px;background:linear-gradient(135deg,#0b4ea2,#2563eb 52%,#10b8c8);box-shadow:0 8px 22px rgba(11,78,162,.30),inset 0 1px 0 rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.35)}
.tr-shell-txt{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.tr-shell-name{font-size:16px;font-weight:900;color:#12243f;letter-spacing:-.2px}
.tr-shell-tag{font-size:11.5px;font-weight:700;color:#7688a2;letter-spacing:.2px}
.tr-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:3px;scrollbar-width:none;-ms-overflow-style:none}
.tr-nav::-webkit-scrollbar{display:none}
.tr-pill{flex:none;display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;padding:9px 15px;border-radius:12px;font-weight:800;font-size:13px;color:#2b4368;border:1px solid transparent;transition:transform .12s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.tr-pill-ic{font-size:14px;line-height:1}
.tr-pill:hover{background:rgba(11,78,162,.06);color:#0b4ea2;transform:translateY(-1px)}
.tr-pill:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.tr-pill.is-on{background:linear-gradient(135deg,#0b4ea2,#10b8c8);color:#fff;box-shadow:0 10px 24px rgba(11,78,162,.26)}
.tr-pill.is-on:hover{transform:none;color:#fff}
.tr-pill.is-on .tr-pill-ic{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
@media(max-width:720px){.tr-shell{padding:10px;border-radius:16px;gap:10px}.tr-shell-tag{display:none}.tr-nav{gap:5px}.tr-pill{padding:8px 12px;font-size:12.5px}}
@media(max-width:480px){.tr-shell{flex-direction:column;align-items:stretch}.tr-nav{justify-content:flex-start}}
.tr-page{margin-top:2px}

/* Transfert : dashboard premium (maquette Transfert Premium) */
.tr-hero2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;border-radius:28px;padding:28px;color:#fff;background:linear-gradient(135deg,#0b4ea2,#2167d8 48%,#10b8c8);box-shadow:0 26px 60px rgba(11,78,162,.22);margin-bottom:18px;position:relative;overflow:hidden}
.tr-hero2:after{content:"";position:absolute;right:-80px;top:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.14)}
.tr-hero2-main{position:relative;z-index:1}
.tr-hero2-main h1{font-size:34px;line-height:1.08;margin:0 0 12px}
.tr-hero2-main p{font-size:16px;line-height:1.5;margin:0 0 20px;max-width:640px;color:rgba(255,255,255,.9)}
.tr-hero2-btns{display:flex;gap:12px;flex-wrap:wrap}
.tr-hero2-btns .btn-soft{background:#fff;color:#0b4ea2}
.tr-secure{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.26);border-radius:20px;padding:18px;position:relative;z-index:1}
.tr-secure h3{margin:0 0 12px;font-size:17px}
.tr-check{display:flex;gap:8px;margin:10px 0;font-size:14px;line-height:1.3}
.tr-stats5{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:14px}
.tr-secttl{margin:26px 0 14px;font-size:22px}
.tr-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tr-module{display:block;text-decoration:none;color:inherit;min-height:140px;position:relative;transition:transform .12s,box-shadow .12s}
a.tr-module:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(15,42,80,.14)}
.tr-module h3{margin:0 0 8px;font-size:17px}
.tr-module p{color:var(--muted,#66768e);line-height:1.45;margin:0;font-size:13.5px}
.tr-module .soon{position:absolute;top:16px;right:16px}
@media(max-width:1000px){.tr-hero2{grid-template-columns:1fr}.tr-stats5{grid-template-columns:1fr 1fr}.tr-modules{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tr-stats5,.tr-modules{grid-template-columns:1fr}}

/* Transfert : Supervision (graphiques SVG maison) */
.sup-bars{display:flex;align-items:flex-end;gap:14px;height:180px;padding:10px 0 0}
.sup-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.sup-barfill{width:100%;max-width:46px;background:linear-gradient(180deg,#2563eb,#10b8c8);border-radius:10px 10px 0 0;position:relative;min-height:6px;display:flex;align-items:flex-start;justify-content:center}
.sup-barfill em{position:absolute;top:-18px;font-size:11px;font-weight:800;color:#334766;font-style:normal}
.sup-bar small{margin-top:8px;font-size:11px;color:var(--muted,#66768e);text-align:center}
.sup-line{width:100%;height:150px;margin-top:8px}
.sup-xaxis{display:flex;justify-content:space-between;margin-top:4px}
.sup-xaxis span{font-size:11px;color:var(--muted,#66768e)}
.sup-lg{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:middle}
.sup-lg.dep{background:#2563eb}.sup-lg.rel{background:#ff725e}
.sup-donutwrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.sup-donut{width:150px;height:150px;transform:rotate(-90deg)}
.sup-donut-bg{fill:none;stroke:#eef2f8;stroke-width:5}
.sup-donut-seg{fill:none;stroke-width:5}
.sup-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sup-legend li{display:flex;align-items:center;gap:8px;font-size:13px;color:#334766}
.sup-legend span{width:12px;height:12px;border-radius:3px}
.sup-alert{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line-soft,#e6edf6);border-radius:14px;padding:13px;margin:10px 0;background:#fff}
.sup-alert span{font-size:18px}
.sup-alert b{display:block;margin-bottom:2px}.sup-alert p{margin:0;color:var(--muted,#66768e);font-size:12.5px;line-height:1.35}
.sup-alert.warn{background:#fff7ec;border-color:#f6e2c0}.sup-alert.ok{background:#f0fbf4;border-color:#cdeed7}.sup-alert.info{background:#eef4fd;border-color:#d9e6f8}
/* Coffre */
.cof-step{display:flex;gap:12px;align-items:center;margin:12px 0}
.cof-step .dep-num{flex:0 0 auto}
.cof-step b{display:block}
.cof-uses{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px}
.cof-uses li{font-size:13.5px;color:#334766;line-height:1.4}

/* Transfert : QR de dépôt + liens en masse */
.dep-qr{width:150px;height:150px;margin:14px auto 4px;background:#fff;border:1px solid var(--line-soft,#e6edf6);border-radius:14px;padding:8px}
.dep-qr svg{width:100%;height:100%;display:block}
.bulk-lk{width:100%;border:1px solid var(--line-soft,#e6edf6);border-radius:8px;padding:7px 9px;font:inherit;font-size:12px;background:#fff}
.dep-bulk .imp-drop{margin-top:4px}

/* Transfert : Assistant IA de réception */
.rcp-ai{margin-top:16px;background:linear-gradient(135deg,#f5f3ff,#eefaff);border:1px solid #e6e6fb}
.rcp-ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rcp-ai-badge{font-weight:800;font-size:14px;color:#5b53c9;background:#fff;border:1px solid #e6e6fb;border-radius:999px;padding:7px 14px}
.rcp-ai-summary{font-size:15px;line-height:1.5;color:#12243f;margin:6px 0 14px}
.rcp-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.rcp-ai-reco{background:#fff;border:1px solid #e6edf6;border-radius:12px;padding:12px 14px}
.rcp-ai-reco label{display:block;font-size:11px;font-weight:700;color:#8090a5;text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px}
.rcp-ai-reco b{font-size:18px;color:#12243f}
.rcp-ai-flags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rcp-flag{background:#fff3d9;color:#b7791f;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}
.rcp-ai-notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.rcp-ai-notes li{font-size:13.5px;color:#334766;line-height:1.4}
@media(max-width:700px){.rcp-ai-grid{grid-template-columns:1fr}}

/* ===== Transfert — utilitaires CSP-safe (styles sortis des attributs inline) + états ===== */
.tr-mt6{margin-top:6px}.tr-mt10{margin-top:10px}.tr-mt12{margin-top:12px}.tr-mt16{margin-top:16px}
.tr-mb16{margin-bottom:16px}.tr-mr6{margin-right:6px}
.tr-center{text-align:center}.tr-inline{display:inline}.tr-ib{display:inline-block}.tr-w100{width:100%}
.tr-btnxs{padding:6px 12px}
.tr-chipn{color:#334766;background:#f0f4fb}
/* source de copie hors-écran (input caché mais sélectionnable) */
.tr-copysrc{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0}
/* actions en ligne dans les tableaux (Renvoyer · Copier) */
.dep-rowacts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* état vide honnête (supervision) */
.sup-empty{padding:26px 18px;text-align:center;color:var(--muted,#66768e);font-size:13.5px;border:1px dashed #d7e0ec;border-radius:12px;background:#fafcff}
.tr-mw520{max-width:520px}.tr-formdep{text-align:left;margin-top:16px}

/* Accueil : panneaux d'information en grille qui remplit la largeur (v2 anti-vide) */
.acc-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px;align-items:start}
.acc-info .acc-qa{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}

/* Accueil : tableau de bord 3 zones (option A) — rail actions | applications | notifications/services */
.acc-dash{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:20px;margin-bottom:20px;align-items:stretch}
.acc-dash .acc-rail>:last-child,.acc-dash .acc-aside>:last-child{flex:1}
.acc-dash .acc-rail,.acc-dash .acc-aside,.acc-dash .acc-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.acc-dash .acc-rail .acc-qa{grid-template-columns:1fr 1fr}
@media(max-width:1200px){
  .acc-dash{grid-template-columns:1fr 1fr}
  .acc-dash .acc-main{grid-column:1 / -1;order:-1}
}
@media(max-width:760px){
  .acc-dash{grid-template-columns:1fr}
  .acc-dash .acc-main{grid-column:auto}
}

/* Accueil : boutons hero (désormais <button>) + lien d'en-tête de carte */
.acc-hero-b .acc-btn-coral,.acc-hero-b .acc-btn-ghost{cursor:pointer;font:inherit}
.acc-cardh-link{background:none;border:0;cursor:pointer;font:inherit;color:#2f6ae0;font-weight:650;padding:0}
.acc-cardh-link:hover{text-decoration:underline}

/* Accueil : modales (toutes les applications / catégories) */
.acc-noscroll{overflow:hidden}
.acc-modal[hidden]{display:none}
.acc-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;animation:accFade .16s ease}
@keyframes accFade{from{opacity:0}to{opacity:1}}
.acc-modal-bg{position:absolute;inset:0;background:rgba(15,42,80,.45)}
.acc-modal-card{position:relative;z-index:1;width:min(1120px,100%);max-height:calc(100vh - 80px);background:#fff;border-radius:18px;box-shadow:0 30px 80px -20px rgba(15,42,80,.5);display:flex;flex-direction:column;overflow:hidden}
.acc-modal-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line,#e6e9f0)}
.acc-modal-h h2{margin:0;font-size:18px;display:flex;align-items:center;gap:9px}
.acc-modal-h h2 .ic{width:19px;height:19px}
.acc-modal-x{width:34px;height:34px;flex:none;border:1px solid var(--line,#e6e9f0);border-radius:10px;background:#fff;cursor:pointer;font-size:14px;color:#5a6a85;display:grid;place-items:center}
.acc-modal-x:hover{background:#f5f6fa;color:#0b2a50}
.acc-modal-search{margin:16px 22px 0;padding:11px 14px;border:1px solid var(--line,#e6e9f0);border-radius:12px;font:inherit}
.acc-modal-body{padding:16px 22px 22px;overflow-y:auto}
@media(max-width:640px){.acc-modal{padding:16px 10px}.acc-modal-card{max-height:calc(100vh - 32px)}}

/* Catégories dans la modale : grille qui s'enroule (jamais de débordement horizontal) */
.acc-modal .acc-cats{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));align-items:stretch}
.acc-modal .acc-catc{align-items:center}
.acc-modal-body{overflow-x:hidden}

/* Connexion provisoire par identifiant Neptune */
.login-form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:6px}
.login-field{display:flex;flex-direction:column;gap:5px}
.login-field span{font-size:12.5px;font-weight:700;color:#334155}
.login-field input{padding:12px 14px;border:1px solid #d7dce6;border-radius:11px;font:inherit;font-size:14px;background:#fff}
.login-field input:focus{outline:none;border-color:#2f6ae0;box-shadow:0 0 0 3px rgba(47,106,224,.15)}
.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:0;border-radius:12px;background:linear-gradient(120deg,#1d5fd0,#2f6ae0);color:#fff;font-weight:750;font-size:14.5px;cursor:pointer;margin-top:2px}
.login-submit:hover{filter:brightness(1.06)}
.login-submit svg{width:16px;height:16px}
.login-err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:10px 13px;font-size:13px;margin-bottom:12px}
.login-sep{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:12px;margin:16px 0}
.login-sep::before,.login-sep::after{content:"";flex:1;height:1px;background:#e2e8f0}

/* Page « Comptes de connexion (Neptune) » */
.cx-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.cx-stat{display:flex;flex-direction:column}
.cx-stat-n{font-size:26px;font-weight:800;color:var(--ink)}
.cx-stat-l{font-size:13px;color:var(--ink-soft)}
.cx-actions{display:flex;gap:10px;flex-wrap:wrap}
.cx-help,.cx-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.cx-help h2,.cx-panel-h h2{margin:0 0 6px;font-size:16px}
.cx-help p{font-size:13.5px;color:var(--ink);margin:0 0 12px}
.cx-sub{font-size:12.5px;color:var(--ink-soft);line-height:1.5}
.cx-panel-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.cx-badges{display:flex;gap:8px;flex-wrap:wrap}
.cx-b{font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px}
.cx-b.ok{background:#ecfdf3;color:#067647}.cx-b.nt{background:#eff6ff;color:#1d4ed8}.cx-b.no{background:#fef2f2;color:#b91c1c}
.cx-table{width:100%;border-collapse:collapse;font-size:13px}
.cx-table th,.cx-table td{border-bottom:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.cx-table th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);font-weight:800}
.cx-table code{background:#f4f6fa;padding:1px 6px;border-radius:5px;font-size:12.5px}
.cx-help-t{max-width:820px}
.cx-pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:7px}
.cx-pill.ok{background:#ecfdf3;color:#067647}.cx-pill.nt{background:#eff6ff;color:#1d4ed8}.cx-pill.no{background:#fef2f2;color:#b91c1c}
.cx-err{color:#b91c1c}
.cx-apply{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.cx-pwd{border-color:#fed7aa;background:#fffbf5}
.cx-pw{background:#fff4e6;color:#b45309;font-weight:700}
.cx-ssolink{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(120deg,#eef4ff,#f5f0ff);border:1px solid #dbe4f5;border-radius:14px;padding:16px 18px;margin:0 0 20px}
.cx-ssolink .cx-ssolink-t b{font-size:14.5px;color:#12386e}
.cx-ssolink .cx-ssolink-t p{margin:2px 0 0;font-size:12.5px;color:#4a5b7a}

/* Comptes : barre d'outils + bouton modèle soigné + CRUD */
.cx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.cx-model{display:inline-flex;align-items:center;gap:12px;text-decoration:none;background:linear-gradient(120deg,#eef4ff,#f4f0ff);border:1px solid #d9e2f5;border-radius:13px;padding:10px 14px;color:#12386e;transition:.15s}
.cx-model:hover{box-shadow:0 10px 24px -12px rgba(47,106,224,.5);transform:translateY(-1px)}
.cx-model-ic{width:34px;height:34px;border-radius:10px;background:#2f6ae0;color:#fff;display:grid;place-items:center;flex:none}
.cx-model-ic .ic{width:16px;height:16px}
.cx-model b{display:block;font-size:13.5px}
.cx-model small{display:block;font-size:11px;color:#5a6a85}
.cx-model>.ic{width:15px;height:15px;color:#2f6ae0}
.cx-alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:12px;padding:12px 16px;margin:12px 0;font-weight:600}
.cx-tablewrap{overflow-x:auto}
.cx-empty{padding:26px;text-align:center;color:var(--ink-soft);font-size:13.5px}
.cx-muted{color:#94a3b8}
.cx-row-act{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}
.cx-mini{padding:6px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--ink)}
.cx-mini.cx-edit:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.cx-mini.cx-del:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}
.cx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cx-form-full{grid-column:1/-1}
.cx-form .field span{font-size:12px;font-weight:700;color:#334155}
.cx-form .field small{font-weight:500;color:#94a3b8}
.cx-form .field input,.cx-form .field select{padding:10px 12px;border:1px solid #d7dce6;border-radius:10px;font:inherit;font-size:14px;width:100%;box-sizing:border-box;background:#fff}
.cx-form .field input:focus,.cx-form .field select:focus{outline:none;border-color:#2f6ae0;box-shadow:0 0 0 3px rgba(47,106,224,.13)}
@media(max-width:560px){.cx-form-grid{grid-template-columns:1fr}}

/* Option « créer les accès de connexion » à l'import collaborateurs */
.imp-login-opt{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink);margin-bottom:12px;max-width:560px;line-height:1.45;cursor:pointer}
.imp-login-opt input{margin-top:2px;flex:none}

/* Comptes : sélection multiple */
.cx-ck{width:36px;text-align:center}
.cx-ck input{width:16px;height:16px;cursor:pointer}
.cx-bulkbar{display:flex;align-items:center;gap:14px;background:#fff4e6;border:1px solid #fed7aa;border-radius:11px;padding:9px 14px;margin-bottom:12px;font-size:13px;color:#9a3412}

/* Zone de dépôt de fichier stylée (modales d'import) */
.imp-drop{display:flex;align-items:center;gap:13px;padding:16px;border:2px dashed #cfd9e8;border-radius:13px;background:#f7f9fc;cursor:pointer;transition:.14s;margin:4px 0 6px}
.imp-drop:hover,.imp-drop.is-over{border-color:var(--coral,#f0663f);background:#fff6f2}
.imp-drop-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#fff;font-size:20px;flex:none;box-shadow:0 2px 6px rgba(16,24,40,.06)}
.imp-drop-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.imp-drop-t b{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imp-drop-t small{font-size:12px;color:var(--ink-soft)}

/* Modale « Gérer les groupes » : cartes lisibles et alignées */
#m-groups .aa-gnew input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px}
.aa-grp{border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:10px;background:#fbfcfe}
.aa-grp .aa-row{margin-bottom:0}
.aa-grp-ren{gap:10px}
.aa-grp-ren input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13.5px;font-weight:600}
.aa-grp-ren .aa-grp-n{font-size:12px;color:var(--ink-soft);white-space:nowrap;font-weight:600}
.aa-grp>.aa-row:last-child{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.aa-del{color:#b91c1c;border-color:#fecaca !important}
.aa-del:hover{background:#fef2f2}

/* Modale groupes — cartes pleine largeur, contrôles étirés */
#m-groups .aa-glist{display:flex;flex-direction:column;gap:10px}
#m-groups .aa-grp{width:100%;box-sizing:border-box}
#m-groups .aa-grp .aa-row{width:100%}
#m-groups .aa-grp-ren{display:flex;align-items:center;gap:10px;width:100%}
#m-groups .aa-grp-ren input{flex:1 1 auto}
#m-groups .aa-grp>.aa-row:last-child form:first-child{flex:1 1 auto}
#m-groups .aa-grp>.aa-row:last-child select{flex:1 1 auto;width:100%}

/* Connexion — vues créer/oublié/reset */
.login-h2{font-size:19px;font-weight:800;color:var(--ink,#1a2332);margin:6px 0 4px;text-align:center}
.login-lead{font-size:13.5px;color:var(--ink-soft,#5b6b82);text-align:center;margin:0 0 18px;line-height:1.5}
.login-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:13px}
.login-links a{color:var(--coral,#f0663f);font-weight:700;text-decoration:none}
.login-links a:hover{text-decoration:underline}
.login-links span{color:var(--line,#d7dee8)}

/* Connexion — critères de mot de passe en direct */
.pwd-rules{list-style:none;margin:-4px 0 12px;padding:10px 12px;background:#f7f9fc;border:1px solid #e6ecf4;border-radius:10px;font-size:12px;display:flex;flex-direction:column;gap:5px}
.pwd-rules li{position:relative;padding-left:22px;color:#8494ab;transition:.13s}
.pwd-rules li::before{content:"○";position:absolute;left:4px;top:0;color:#c4cfdd}
.pwd-rules li.ok{color:#0b7a4b}
.pwd-rules li.ok::before{content:"✓";color:#12b268;font-weight:800}
.pwd-match{font-size:12px;color:#c0392b;margin:-6px 0 10px}
.login-submit:disabled{opacity:.5;cursor:not-allowed}

/* Comptes — recherche + boutons colorés */
.cx-panel-h--search{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cx-search{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #e2e8f2;border-radius:11px;padding:9px 13px;min-width:320px;flex:1;max-width:480px}
.cx-search:focus-within{border-color:#3b6fe0;box-shadow:0 0 0 3px rgba(59,111,224,.14)}
.cx-search svg{width:17px;height:17px;color:#8a99b2;flex:none}
.cx-search input{border:none;outline:none;font:inherit;font-size:14px;flex:1;background:transparent;min-width:0}
.cx-count{font-size:12px;color:#8a99b2;white-space:nowrap;flex:none}
.cx-bulkbtns{display:flex;gap:8px;margin-left:auto}
.cx-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9px;border:1.5px solid transparent;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;transition:.13s}
.cx-btn svg{width:15px;height:15px}
.cx-btn--reset{background:#eef4ff;color:#2456c8;border-color:#cfe0ff}
.cx-btn--reset:hover{background:#e0ecff}
.cx-btn--del{background:#fef1f1;color:#c0392b;border-color:#f7cfcf}
.cx-btn--del:hover{background:#fde3e3}
/* boutons d'action par ligne */
.cx-row-act{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:nowrap}
.cx-act{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1.5px solid #e2e8f2;background:#fff;color:#3b465f;font-weight:650;font-size:12.5px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.13s}
.cx-act svg{width:14px;height:14px}
.cx-act--edit:hover{border-color:#3b6fe0;color:#2456c8;background:#f5f9ff}
.cx-act--reset{color:#2456c8;border-color:#cfe0ff;background:#f5f9ff}
.cx-act--reset:hover{background:#e6f0ff}
.cx-act--del{color:#c0392b;border-color:#f2d3d3;padding:6px 9px}
.cx-act--del:hover{background:#fdecec;border-color:#e9a8a8}
.cx-name{font-weight:600;color:#1f2a3d}
.cx-em{color:#5b6b82}

/* Comptes — diagnostic e-mail */
.cx-mailtest{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1.5px solid #e6ecf4;border-radius:12px;padding:11px 15px;margin:0 0 18px}
.cx-mailtest-l{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:#3b465f}
.cx-mailtest-l svg{width:16px;height:16px;color:#2456c8}
.cx-mailtest input[type=email]{flex:1;min-width:220px;border:1.5px solid #e2e8f2;border-radius:9px;padding:8px 12px;font:inherit;font-size:13.5px;outline:none}
.cx-mailtest input[type=email]:focus{border-color:#3b6fe0;box-shadow:0 0 0 3px rgba(59,111,224,.14)}
.cx-mailtest-h{font-size:12px;color:#8a99b2;flex-basis:100%}

/* Comptes — barre d'actions du haut : boutons proportionnés et alignés */
.cx-toolbar .cx-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.cx-toolbar .cx-actions .btn-primary,
.cx-toolbar .cx-actions .btn-ghost{
  width:auto;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 20px;min-height:56px;border-radius:13px;font-size:14px;font-weight:750;white-space:nowrap;box-shadow:none}
.cx-toolbar .cx-actions .btn-ghost{border:1.5px solid #dbe3f0;background:#fff;color:#2a3852}
.cx-toolbar .cx-actions .btn-ghost:hover{border-color:#3b6fe0;color:#2456c8;background:#f5f9ff}
.cx-toolbar .cx-actions .btn-primary{background:linear-gradient(120deg,#f0764a,#ef5f38);color:#fff;box-shadow:0 8px 20px -8px rgba(239,95,56,.6)}
.cx-toolbar .cx-actions .btn-primary:hover{filter:brightness(1.04)}
.cx-toolbar .cx-actions .btn-ghost svg,.cx-toolbar .cx-actions .btn-primary svg{width:17px;height:17px;flex:none}
.cx-toolbar .cx-model{align-self:stretch}

/* Comptes — résultat du diagnostic e-mail */
.cx-diag{background:#fff;border:1.5px solid #e6ecf4;border-radius:12px;padding:14px 16px;margin:0 0 18px}
.cx-diag-h{font-weight:800;font-size:14px;color:#1f2a3d;margin-bottom:10px}
.cx-diag-l{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.cx-diag-l li{padding-left:24px;position:relative;color:#3b465f}
.cx-diag-l li::before{position:absolute;left:2px;top:0;font-weight:800}
.cx-diag-l li.ok::before{content:"✓";color:#12b268}
.cx-diag-l li.ko::before{content:"✕";color:#c0392b}
.cx-diag-l li.ko{color:#a03428}
.cx-diag-f{font-size:12px;color:#7a8aa0;margin:6px 0 0}

/* [resp-admin-v1] Mobile/tablette : pages d'administration (Pilotage, Applications, Comptes, Journal). */
@media(max-width:760px){
  .pil-row1,.pil-row2,.pil-kpis{grid-template-columns:1fr !important}
  .pil-card{min-width:0}
  .pil-card canvas,.pil-card svg,.pil-card img{max-width:100%!important;height:auto}
  .pil-card table{display:block;width:100%;overflow-x:auto}
  .aa-head,.aa-toolbar{gap:8px}
  .aa-actions,.aa-bulkbar{flex-wrap:wrap}
  .aa-btn{white-space:normal}
  .cx-toolbar{padding:12px}
  .cx-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.cx-table,table.cmp-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cx-table th,.cx-table td,.cmp-table th,.cmp-table td{white-space:nowrap}
}

/* [sso-bouton-login-v2] Bouton SSO « Se connecter avec France Travail » — version soignée */
.ft-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:#9aa4be;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.ft-or::before,.ft-or::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(31,59,140,.16),transparent)}
.ft-sso{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:11px 14px;border-radius:14px;border:1px solid #e2e8f6;background:#fff;color:#16234a;text-decoration:none;font-weight:650;font-size:14.5px;box-shadow:0 1px 2px rgba(16,35,74,.04);transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.ft-sso:hover{border-color:#c7d3f2;background:#fafbff;box-shadow:0 8px 22px rgba(47,91,214,.14);transform:translateY(-1px)}
.ft-sso:active{transform:translateY(0);box-shadow:0 2px 8px rgba(47,91,214,.12)}
.ft-sso:focus-visible{outline:2px solid #2f5bd6;outline-offset:2px}
.ft-sso__ico{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2f5bd6,#5b8bff);color:#fff;box-shadow:0 4px 10px rgba(47,91,214,.28)}
.ft-sso__ico svg{width:17px;height:17px}
.ft-sso__txt{flex:1;line-height:1.2;color:#4a5673;font-weight:600}
.ft-sso__txt b{color:#16234a;font-weight:800}
.ft-sso__arr{display:flex;align-items:center;color:#9aa4be;transition:transform .15s ease,color .2s ease}
.ft-sso__arr svg{width:16px;height:16px}
.ft-sso:hover .ft-sso__arr{color:#2f5bd6;transform:translateX(3px)}
