/* MANEO · couche premium « ardoise bleutée ».
   Même structure et mêmes composants qu'avant : palette, relief, lisibilité et animations uniquement.
   Boutons et chiffres en encre, gris bleutés sobres, un seul accent bleu-acier discret. Rien n'est retiré. */
:root{--e-accent:#6b8bb0;--e-area:#5a6f8c}
/* MANEO · couche premium.
   Même structure et mêmes composants qu'avant. Nouveau système de couleur et de relief :
   neutres chauds, graphite, un seul accent cuivre (réservé à Maneo et au direct), boutons pleins en encre. */

@font-face{font-family:'Inter';src:url('/fonts/inter.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

.shell,.modal{
  --p-canvas:#ecf0f5;--p-surface:#ffffff;--p-raised:#fbfdff;--p-inset:#e2e8ee;
  --p-line:#dbe2e9;--p-line-2:#c5cfd7;
  --p-ink:#14161c;--p-ink-2:#424856;--p-ink-3:#696b72;
  --p-cu:#3f5f86;--p-cu-2:#6b8bb0;--p-cu-soft:#e8eef6;--p-cu-line:#c3d3e6;
  --p-pos:#1d7049;--p-pos-soft:#e8f3ec;--p-att:#8a5a0c;--p-att-soft:#fbf1dc;--p-neg:#b0302b;--p-neg-soft:#fbeceb;
  /* relief : ombres chaudes à plusieurs couches */
  --p-sh-1:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px rgba(30,44,70,.045),0 1px 2px rgba(30,44,70,.06),0 8px 22px -12px rgba(30,44,70,.16);
  --p-sh-2:0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(30,44,70,.05),0 2px 4px rgba(30,44,70,.05),0 14px 28px -12px rgba(30,44,70,.18),0 32px 64px -32px rgba(30,44,70,.2);
  --p-sh-3:0 0 0 1px rgba(10,16,32,.08),0 4px 8px rgba(10,16,32,.08),0 24px 48px -12px rgba(10,16,32,.26),0 56px 96px -40px rgba(10,16,32,.34);
  --p-ease:cubic-bezier(.2,.8,.2,1);
  /* redéfinition des anciens tokens : tout ce qui était indigo devient encre */
  --maneo-accent:#14161c;--maneo-accent-hover:#2c2d32;--maneo-accent-soft:#e2e8ee;--maneo-accent-line:#c5cfd7;
  --maneo-canvas:#ecf0f5;--maneo-surface-inset:#e2e8ee;--maneo-ink:#14161c;--maneo-ink-muted:#696b72;--maneo-border:#dbe2e9;--maneo-border-strong:#c5cfd7;
  --accent:#14161c;--accent2:#2c2d32;--accentSoft:#e2e8ee;--blue:#424856;--line:#dbe2e9;--border:#dbe2e9;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-feature-settings:'cv11','ss03';
  text-rendering:optimizeLegibility;
}
.shell{background:var(--p-canvas)}
.shell .main{background:radial-gradient(900px 380px at 82% -90px,rgba(255,255,255,.9),rgba(238,241,246,0) 70%),var(--p-canvas)}
.shell ::selection{background:#f0d6c3}
.shell *{scrollbar-width:thin;scrollbar-color:#bcc8d1 transparent}
.shell button:focus-visible,.shell a:focus-visible,.modal button:focus-visible{outline:2px solid var(--p-ink);outline-offset:3px;border-radius:9px}

/* ---------- Barre latérale : graphite chaud ---------- */
.shell .sidebar{background:radial-gradient(380px 240px at 0 0,rgba(107,139,176,.13),transparent 70%),linear-gradient(180deg,#171c27,#0d1017 85%);border-right:1px solid #242a38;box-shadow:inset -1px 0 0 rgba(255,255,255,.035)}
.shell .side-brand{font-size:21px;letter-spacing:-.04em}
.shell .side-brand small{font-size:12px;letter-spacing:.14em;color:#8089a0;font-weight:500}
.shell .brand-logo{position:relative;background:linear-gradient(160deg,#fff,#dfe6ed);color:#14161c;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 6px 14px -4px rgba(0,0,0,.55),inset 0 -2px 4px rgba(22,23,26,.08)}
.shell .brand-logo:after{content:'';position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--p-cu-2);border:2px solid #171c27;box-shadow:0 0 8px rgba(107,139,176,.7)}
.shell .side-company{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px -12px rgba(0,0,0,.6);transition:border-color .2s var(--p-ease),background .2s var(--p-ease)}
.shell .side-company:hover{border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03))}
.shell .side-company small{font-size:12px;letter-spacing:.14em;color:#8790a6}
.shell .side-company b{font-size:14.5px;letter-spacing:-.01em}
.shell .company-health{font-size:12px;color:#aab3c8}
.shell .nav-group{font-size:12px;letter-spacing:.16em;color:#7a8399;font-weight:600}
.shell .nav-btn{position:relative;min-height:42px;border-radius:11px;font-size:13.5px;font-weight:500;color:#b0b9cd;transition:background .2s var(--p-ease),color .2s var(--p-ease),transform .2s var(--p-ease)}
.shell .nav-btn:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}
.shell .nav-btn.active{background:linear-gradient(100deg,rgba(255,255,255,.14),rgba(255,255,255,.04));color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.1),0 8px 18px -10px rgba(0,0,0,.7)}
.shell .nav-btn.active:before{content:'';position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#9db8d6,#6b8bb0);box-shadow:0 0 12px rgba(107,139,176,.8)}
.shell .nav-icon{color:#8e98ae;transition:color .2s var(--p-ease),transform .25s var(--p-ease)}
.shell .nav-btn:hover .nav-icon{color:#e1e6f0;transform:scale(1.08)}
.shell .nav-btn.active .nav-icon{color:#fff}
.shell .nav-btn[data-route=ai] .nav-icon{color:#8fb0d4}
.shell .nav-badge{background:rgba(255,255,255,.14);color:#f1f1f4;font-size:12px;font-weight:700;min-width:20px}
.shell .nav-badge.amber{background:#4a3410;color:#f6cd7b}
.shell .side-user{border-top:1px solid rgba(255,255,255,.08)}
.shell .side-user .avatar{background:linear-gradient(160deg,#e6ebf0,#c2ccd3);color:#1c1d20;font-weight:700;box-shadow:0 4px 10px -3px rgba(0,0,0,.5)}
.shell .side-user b{font-size:12.5px;font-weight:600}.shell .side-user span{font-size:12px;color:#8a93a9}

/* ---------- Barre du haut ---------- */
.shell .topbar{background:rgba(243,245,249,.94);backdrop-filter:saturate(1.5) blur(18px);border-bottom:1px solid rgba(214,210,198,.9);box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 26px -20px rgba(30,44,70,.35)}
.shell .title-wrap h1{font-size:24px;font-weight:650;letter-spacing:-.035em;color:var(--p-ink)}
.shell .title-wrap p{font-size:12.5px;color:var(--p-ink-3)}
.shell .search-trigger{border-color:var(--p-line-2);background:rgba(255,255,255,.92);box-shadow:var(--p-sh-1);transition:border-color .2s var(--p-ease),box-shadow .2s var(--p-ease)}
.shell .search-trigger:hover{border-color:#99a4af;box-shadow:0 0 0 4px rgba(22,23,26,.05),var(--p-sh-1)}
.shell .status-chip{font-size:12px;font-weight:600;padding:6px 11px;background:#fff;border:1px solid var(--p-line);color:var(--p-ink-2);box-shadow:var(--p-sh-1)}
.shell .status-chip.good{color:var(--p-pos);background:#fff}
.shell .status-chip.warn{color:var(--p-att);background:var(--p-att-soft);border-color:#ecd9ab}
.shell .icon-btn{background:#fff;border-color:var(--p-line-2);box-shadow:var(--p-sh-1);color:var(--p-ink-2);transition:transform .18s var(--p-ease),border-color .18s var(--p-ease),box-shadow .18s var(--p-ease)}
.shell .icon-btn:hover{transform:translateY(-1px);border-color:#99a4af;box-shadow:var(--p-sh-2)}
.shell .icon-btn>i{background:var(--p-cu);color:#fff;box-shadow:0 2px 6px rgba(63,95,134,.5)}

/* ---------- Boutons : l'encre remplace le bleu ---------- */
.shell .btn,.modal .btn{font-size:13px;font-weight:600;letter-spacing:-.005em;border-radius:11px;transition:transform .18s var(--p-ease),box-shadow .25s var(--p-ease),background .18s var(--p-ease),border-color .18s var(--p-ease),color .18s}
.shell .btn.accent,.shell .btn.primary,.modal .btn.accent,.modal .btn.primary{background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%);border:1px solid #0d0d0f;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.4),0 1px 2px rgba(10,16,32,.3),0 10px 20px -10px rgba(10,16,32,.55)}
.shell .btn.accent:hover:not(:disabled),.shell .btn.primary:hover:not(:disabled),.modal .btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.4),0 2px 4px rgba(10,16,32,.3),0 16px 26px -10px rgba(10,16,32,.65)}
.shell .btn.accent:active:not(:disabled),.shell .btn.primary:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:inset 0 2px 5px rgba(0,0,0,.5)}
.shell .btn.secondary,.modal .btn.secondary{background:linear-gradient(180deg,#fff,#f2f6fb);border:1px solid var(--p-line-2);color:var(--p-ink);box-shadow:0 1px 2px rgba(30,44,70,.07),inset 0 1px 0 #fff}
.shell .btn.secondary:hover:not(:disabled){transform:translateY(-1px);border-color:#99a4af;box-shadow:0 10px 18px -12px rgba(30,44,70,.4),inset 0 1px 0 #fff}
.shell .btn.secondary:active:not(:disabled){transform:scale(.985)}
.shell .btn.ghost{color:var(--p-ink-2)}.shell .btn.ghost:hover{background:var(--p-inset);color:var(--p-ink)}
.shell .btn.danger{background:#fff;border-color:#efc6c2;color:var(--p-neg)}
.shell .btn.small{font-size:12.5px}
.shell .mini{font-size:12px;font-weight:600;padding:7px 12px;border-radius:9px;border:1px solid var(--p-line-2);background:linear-gradient(180deg,#fff,#f2f6fb);color:var(--p-ink-2);box-shadow:0 1px 2px rgba(30,44,70,.06);transition:all .18s var(--p-ease)}
.shell .mini:hover:not(:disabled){border-color:#99a4af;color:var(--p-ink);transform:translateY(-1px);box-shadow:0 8px 16px -10px rgba(30,44,70,.4)}

/* ---------- Surfaces ---------- */
.shell .card{background:linear-gradient(180deg,#fff,#fbfdff);border:0;border-radius:18px;box-shadow:var(--p-sh-1);transition:box-shadow .3s var(--p-ease),transform .3s var(--p-ease)}
.shell .eyebrow{font-size:12px;font-weight:650;letter-spacing:.13em;color:var(--p-ink-3)}
.shell .card h2,.shell .section-title h2{font-size:18px;font-weight:650;letter-spacing:-.025em;color:var(--p-ink)}
.shell .card h3{font-size:15px;letter-spacing:-.015em}
.shell .section-title p,.shell .card p{font-size:13px;color:var(--p-ink-2)}
.shell .pill{font-size:12px;font-weight:650;padding:3px 10px;border-radius:999px}
.shell .pill.blue{background:var(--p-inset);color:var(--p-ink-2);box-shadow:inset 0 0 0 1px var(--p-line)}
.shell .pill.warn{background:var(--p-att-soft);color:var(--p-att);box-shadow:inset 0 0 0 1px #ecd9ab}
.shell .pill.bad{background:var(--p-neg-soft);color:var(--p-neg);box-shadow:inset 0 0 0 1px #f0c9c5}
.shell .pill.good{background:var(--p-pos-soft);color:var(--p-pos);box-shadow:inset 0 0 0 1px #c6e2d2}
.shell .tabs{background:#dfe6ec;border:1px solid #cdd8e0;border-radius:12px;padding:4px;box-shadow:inset 0 1px 2px rgba(30,44,70,.08)}
.shell .tabs button{font-size:12.5px;font-weight:600;border-radius:9px;color:#5f666e;transition:all .2s var(--p-ease)}
.shell .tabs button.active{background:#fff;color:var(--p-ink);box-shadow:0 1px 2px rgba(30,44,70,.16),0 6px 14px -8px rgba(30,44,70,.35)}
.shell .context-bar{background:rgba(243,245,249,.9);border-bottom:1px solid var(--p-line)}
.shell .context-tabs button{font-size:13px;font-weight:550;color:#646a71}
.shell .context-tabs button.active{color:var(--p-ink);font-weight:650}
.shell .context-tabs button.active:after{background:linear-gradient(90deg,#9db8d6,#6b8bb0);height:3px;border-radius:3px 3px 0 0}
.shell .context-count{background:var(--p-cu-soft);color:var(--p-cu)}
.shell .table th{font-size:12px;font-weight:650;letter-spacing:.08em;color:#646b73;background:#f1f5fa}
.shell .table td{font-size:13px}
.shell .table tbody tr{transition:background .18s var(--p-ease)}
.shell .table tbody tr:hover{background:#f3f7fc}
.shell input,.shell select,.shell textarea,.modal input,.modal select,.modal textarea{font-size:13.5px;border-color:var(--p-line-2);border-radius:11px;background:#fff;transition:border-color .2s,box-shadow .2s}
.shell input:focus,.shell select:focus,.shell textarea:focus,.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--p-ink);box-shadow:0 0 0 4px rgba(22,23,26,.08)}
.shell .callout,.modal .callout{background:var(--p-raised);border-color:var(--p-line);color:var(--p-ink-2)}

/* ---------- Aujourd'hui ---------- */
.shell .ux-page-intro h2{font-size:30px;font-weight:700;letter-spacing:-.045em;color:var(--p-ink)}
.shell .ux-date{font-size:12.5px;font-weight:600;color:var(--p-ink-3);padding:6px 12px;border:0;border-radius:999px;background:#fff;box-shadow:var(--p-sh-1)}
.shell .ux-performance{position:relative;background:radial-gradient(560px 220px at 100% 0,rgba(107,139,176,.07),transparent 70%),linear-gradient(180deg,#fff,#fafcff);border:0;border-radius:22px;box-shadow:var(--p-sh-2);padding:30px 32px 24px}
.shell .ux-performance:before{content:'';position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(107,139,176,.55),transparent)}
.shell .ux-performance-top h2{font-size:19px;font-weight:650;letter-spacing:-.03em}
.shell .ux-source{font-size:12px;font-weight:550;padding:6px 11px;border-radius:999px;background:#fff;border:0;color:var(--p-ink-2);box-shadow:var(--p-sh-1)}
.shell .ux-source.connected{color:var(--p-pos)}
.shell .ux-sales-grid strong{font-size:64px;line-height:1;font-weight:700;letter-spacing:-.057em;background:linear-gradient(180deg,#14161c 35%,#434958);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.shell .ux-sales-grid b{font-size:32px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--p-ink)}
.shell .ux-sales-grid b em{font-size:13px;font-weight:500;letter-spacing:0;color:var(--p-ink-3)}
.shell .ux-sales-grid small{font-size:12.5px;font-weight:600;color:var(--p-ink-3)}
.shell .ux-sales-grid span{font-size:12.5px;color:var(--p-ink-3)}
.shell .ux-revenue span{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border-radius:999px;background:var(--p-neg-soft);color:var(--p-neg);font-weight:600;font-size:12px}
.shell .ux-pulse-row{font-size:13px;font-weight:550;color:var(--p-ink-2)}

/* graphique : barres en pierre, aujourd'hui en encre */
.shell .ux-chart{height:190px;padding-left:50px}
.shell [data-page="today"] .ux-chart.compact,.shell .ux-chart.compact{height:150px}
.shell .ux-chart-grid{font-size:12px;font-weight:500;color:#6d757d}
.shell .ux-chart-grid span{border-bottom:1px dashed #dce4eb}
.shell .ux-chart-bars{gap:7px}
.shell .ux-chart-bars button{border-radius:8px 8px 0 0;max-width:62px}
.shell .ux-chart-bars i{background:linear-gradient(180deg,#cdd8e0,#e0e8ef);border:1px solid #c3cfd7;border-radius:7px 7px 2px 2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transform-origin:bottom;transition:filter .2s,box-shadow .25s var(--p-ease),transform .25s var(--p-ease),background .2s}
.shell .ux-chart-bars button:hover i{background:linear-gradient(180deg,#a3b2be,#c0cdd6);border-color:#93a2ae;box-shadow:0 10px 18px -8px rgba(30,44,70,.45),inset 0 1px 0 rgba(255,255,255,.6);transform:translateY(-2px)}
.shell .ux-chart-bars button:last-child i{background:linear-gradient(180deg,#3d4250,#14161c);border-color:#0d0d0f;box-shadow:0 12px 24px -10px rgba(10,16,32,.7),inset 0 1px 0 rgba(255,255,255,.25);position:relative}
.shell .ux-chart-bars button:last-child i:after{content:'';position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--p-cu-2);box-shadow:0 0 0 3px #fff}
.shell .ux-chart-bars button:last-child i:before{content:'';position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--p-cu-2);animation:p-ping 2.4s var(--p-ease) infinite;z-index:-1}
.shell .ux-chart-bars button.provisional i{background:repeating-linear-gradient(135deg,#3d4250 0 5px,#656c7e 5px 10px);border-style:dashed}
.shell .ux-chart-bars small{font-size:12px;font-weight:500;color:#6d757d;bottom:-23px}
.shell .ux-chart-note{font-size:12px;color:#6d757d}
@keyframes p-grow{from{transform:scaleY(.04);opacity:.2}to{transform:none;opacity:1}}
@keyframes p-ping{from{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}

/* priorités */
.shell .ux-attention{padding:26px 28px}
.shell .ux-priority{position:relative;border-radius:14px;transition:background .25s var(--p-ease),transform .25s var(--p-ease)}
.shell .ux-priority:hover{background:linear-gradient(90deg,rgba(232,236,244,.9),rgba(232,236,244,0));transform:translateX(3px)}
.shell .ux-priority-index{font-size:12px;font-weight:700;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(30,44,70,.07),0 4px 8px -4px rgba(30,44,70,.2)}
.shell .ux-priority-index.urgent{background:var(--p-neg-soft);color:var(--p-neg)}
.shell .ux-priority-index.warning{background:var(--p-att-soft);color:var(--p-att)}
.shell .ux-priority-index.info{background:var(--p-inset);color:var(--p-ink-2)}
.shell .ux-priority h3{font-size:15px;font-weight:650;letter-spacing:-.02em}
.shell .ux-priority p{font-size:13px;line-height:1.55;color:var(--p-ink-2)}
.shell .ux-evidence span{font-size:12px;color:var(--p-ink-2);background:#ecf1f7;border:1px solid #dae3ea;border-radius:7px;padding:3px 8px}
.shell .ux-evidence b{color:var(--p-ink);font-weight:650}
.shell .ux-priority:hover .btn.secondary{border-color:#99a4af;color:var(--p-ink)}

/* Le point Maneo : graphite, lueur cuivre */
.shell .ux-brief{position:relative;overflow:hidden;border:1px solid #2c2c31;border-radius:22px;background:radial-gradient(420px 280px at 100% 0,rgba(107,139,176,.38),transparent 65%),radial-gradient(300px 200px at 0 100%,rgba(255,255,255,.05),transparent 70%),linear-gradient(160deg,#1c2130,#0d1017);box-shadow:var(--p-sh-3),inset 0 1px 0 rgba(255,255,255,.09);color:#f4f4f6}
.shell .ux-brief:before{content:'';position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}
.shell .ux-ai-mark{position:relative;background:linear-gradient(160deg,#fff,#dce3ea);color:#14161c;font-weight:800;box-shadow:0 8px 20px -6px rgba(0,0,0,.6),inset 0 -2px 4px rgba(22,23,26,.12)}
.shell .ux-ai-mark:after{content:'';position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--p-cu-2);border:2px solid #232327;box-shadow:0 0 10px rgba(107,139,176,.8)}
.shell .ux-brief .eyebrow{color:#a2a2ab}
.shell .ux-brief h3{font-size:26px;font-weight:650;line-height:1.18;letter-spacing:-.035em;color:#fff}
.shell .ux-brief p{font-size:14px;line-height:1.6;color:#cdcdd4}
.shell .ux-brief .btn.accent{background:linear-gradient(180deg,#fff,#e3e9ef);color:#14161c;border:1px solid #fff;box-shadow:0 12px 26px -10px rgba(0,0,0,.65),inset 0 -2px 4px rgba(22,23,26,.1)}
.shell .ux-brief .btn.accent:hover{transform:translateY(-1px);box-shadow:0 16px 30px -10px rgba(107,139,176,.55)}
.shell .ux-brief-foot{font-size:12px;color:#a2a2ab;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}

.shell .ux-team-strip{padding:20px 28px}
.shell .ux-roster-mini .avatar{background:linear-gradient(160deg,#ecf1f7,#cdd8e0);color:#2b2c30;border:2px solid #fff;font-weight:700;box-shadow:0 4px 10px -4px rgba(30,44,70,.4)}
.shell .ux-roster-mini span:not(.avatar){font-size:13px;font-weight:550;color:var(--p-ink-2)}

/* ---------- Fenêtres ---------- */
.modal-back{background:rgba(10,16,32,.5);backdrop-filter:blur(6px)}
.modal{border-radius:22px;box-shadow:var(--p-sh-3);animation:p-pop .28s var(--p-ease) both;border:0}
.modal h3{font-size:20px;letter-spacing:-.03em}
.command-palette{border-radius:20px;box-shadow:var(--p-sh-3)}
.cmd-result.selected,.cmd-result:hover{background:#edf2f8}
.quick-card{background:#fff;border:0;border-radius:15px;box-shadow:var(--p-sh-1);transition:all .2s var(--p-ease)}
.quick-card:hover{transform:translateY(-2px);box-shadow:var(--p-sh-2)}
.quick-card>span{background:var(--p-inset);color:var(--p-ink-2)}
.notification-row{border-radius:14px}
@keyframes p-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.toast{border-radius:14px;background:#14161c;font-size:13px;font-weight:550;padding:12px 16px;box-shadow:var(--p-sh-3);animation:p-rise .3s var(--p-ease) both}
@keyframes p-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Arrivée en douceur ---------- */
.shell .content[data-enter="1"]>*{animation:p-in .6s var(--p-ease) both}
.shell .content[data-enter="1"]>*:nth-child(2){animation-delay:.07s}.shell .content[data-enter="1"]>*:nth-child(3){animation-delay:.14s}.shell .content[data-enter="1"]>*:nth-child(4){animation-delay:.21s}.shell .content[data-enter="1"]>*:nth-child(5){animation-delay:.28s}
@keyframes p-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.shell .content[data-enter="1"] .ux-priority{animation:p-in .5s var(--p-ease) both}
.shell .content[data-enter="1"] .ux-priority:nth-of-type(1){animation-delay:.25s}.shell .content[data-enter="1"] .ux-priority:nth-of-type(2){animation-delay:.31s}.shell .content[data-enter="1"] .ux-priority:nth-of-type(3){animation-delay:.37s}.shell .content[data-enter="1"] .ux-priority:nth-of-type(4){animation-delay:.43s}

/* ---------- Lisibilité ---------- */
.shell .ux-brief .btn,.shell .ux-brief .btn.accent{font-size:13px}
.shell .avatar{font-size:12px}
.shell .footer-note,.shell .ux-finance-source-access,.shell .ux-finance-source-access *,.shell .composer-foot,.shell .composer-foot *,.shell .voice-status,.shell .ai-answer-foot,.shell .ai-manager-meta span,.shell .ai-manager-meta time,.shell .ai-user-meta,.shell .ai-context-label,.shell .ai-execution-details summary,.shell .ai-execution-details summary span{font-size:12px}
.shell .ux-finance-source-access .mini{font-size:12px}
.shell .ai-mode-switch button,.shell .ai-voice,.shell .ai-context-btn{font-size:12.5px;font-weight:600}
.shell .ai-transparency p,.shell .ai-transparency b{font-size:12.5px}
.shell .finance-view-tabs button,.shell .ux-period-tabs button{font-size:12.5px;font-weight:600}
.shell .ux-payments summary,.shell .ux-history-details summary{font-size:13px;font-weight:600}
.shell small{font-size:12px}
.shell .top-actions{flex:none}.shell .top-actions .btn,.shell .top-actions .status-chip{white-space:nowrap}
.shell .title-wrap{min-width:0}
@media(min-width:1180px){.shell .search-trigger{width:268px;justify-content:flex-start;padding:0 12px;gap:9px;font-size:13px;color:#646a71}.shell .search-trigger span,.shell .search-trigger kbd{display:inline}.shell .search-trigger kbd{margin-left:auto;font:600 12px/1 'Inter',sans-serif;padding:3px 6px;border:1px solid var(--p-line-2);border-radius:6px;background:#eef3f8;color:#646a71}}

/* ---------- Maneo AI ---------- */
.shell .premium-chat{background:linear-gradient(180deg,#fff,#fafcff);border:0;border-radius:22px;box-shadow:var(--p-sh-2)}
.shell .premium-chat-head{border-bottom:1px solid var(--p-line);background:rgba(255,255,255,.85);backdrop-filter:blur(12px)}
.shell .ai-avatar{position:relative;background:linear-gradient(160deg,#3a3b41,#14161c);color:#fff;border:0;box-shadow:0 8px 16px -8px rgba(10,16,32,.8),inset 0 1px 0 rgba(255,255,255,.2)}
.shell .ai-avatar.large:after{content:'';position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--p-cu-2);border:2px solid #fff}
.shell .ai-mode-switch{background:#dfe6ec;border:1px solid #cdd8e0}
.shell .ai-mode-switch button{color:#5f666e}
.shell .ai-mode-switch button.active{background:#fff;color:var(--p-ink);box-shadow:0 1px 2px rgba(30,44,70,.16)}
.shell .ai-manager-turn{border:0;border-radius:18px;background:#fff;box-shadow:var(--p-sh-1);transition:box-shadow .3s var(--p-ease)}
.shell .ai-manager-turn:hover{box-shadow:var(--p-sh-2)}
.shell .ai-manager-meta{border-color:#e4ebf2}
.shell .ai-user-turn{background:linear-gradient(160deg,#e7edf3,#dbe3ea);border:1px solid #cdd8e0;border-radius:16px;box-shadow:0 8px 18px -12px rgba(30,44,70,.35);color:var(--p-ink)}
.shell .ai-user-request{background:transparent;color:#2c2d31;font-size:14px;line-height:1.6}
.shell .ai-user-meta{color:#646a71}
.shell .ai-answer,.shell .ai-answer p,.shell .ai-answer li{font-size:14.5px;line-height:1.7;color:#2c2d31}
.shell .ai-answer h4{color:var(--p-ink)}
.shell .ai-answer code{background:#e9eff5;color:#44464c;border-color:#d7e0e7}
.shell .ai-answer-foot,.shell .ai-context-actions,.shell .ai-execution-details{border-color:#e4ebf2}
.shell .ai-context-btn{background:#f1f5fa;border:1px solid #d4dee5;color:var(--p-ink-2);box-shadow:inset 0 1px 0 #fff}
.shell .ai-context-btn:hover{background:#fff;border-color:#99a4af;color:var(--p-ink)}
.shell .ai-context-btn.primary{background:linear-gradient(180deg,#363a48,#14161c);border-color:#0d0d0f;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 16px -8px rgba(10,16,32,.6)}
.shell .ai-context-btn.primary span{color:#9db8d6}
.shell .ai-inline-actions{background:#f1f5fa;border-color:#dae3ea}
.shell .ai-execution-details summary span{background:#e7edf3;color:var(--p-ink-2)}
.shell .ai-composer-shell{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:1px solid var(--p-line)}
.shell .ai-composer-shell textarea{font-size:14.5px}
.shell .ai-send{background:linear-gradient(180deg,#363a48,#14161c);border:1px solid #0d0d0f;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 16px -8px rgba(10,16,32,.7);transition:transform .18s var(--p-ease),box-shadow .2s}
.shell .ai-send:hover:not(:disabled){transform:translateY(-1px)}
.shell .ai-voice{background:linear-gradient(180deg,#fff,#f1f5fa);border:1px solid var(--p-line-2);color:var(--p-ink-2);box-shadow:0 1px 2px rgba(30,44,70,.06);transition:all .2s var(--p-ease)}
.shell .ai-voice:hover:not(:disabled){border-color:#99a4af;color:var(--p-ink)}
.shell .ai-voice.listening{background:linear-gradient(180deg,#363a48,#14161c);color:#fff;border-color:#0d0d0f;box-shadow:0 0 0 4px rgba(107,139,176,.22),0 10px 20px -8px rgba(10,16,32,.7)}
.shell .ai-suggestion-list button{background:#fff;border:0;border-radius:13px;box-shadow:var(--p-sh-1);transition:all .22s var(--p-ease);color:var(--p-ink-2)}
.shell .ai-suggestion-list button:hover{transform:translateX(4px);box-shadow:var(--p-sh-2);background:#fff}
.shell .ai-suggestion-list button b{font-size:12.5px;line-height:1.5;font-weight:550;color:#34363c}
.shell .ai-suggestion-list button span{background:var(--p-cu-soft);color:var(--p-cu)}
.shell .ai-suggestion-list button em{color:#9da6af}
.shell .ai-connect-banner{border-radius:18px;box-shadow:var(--p-sh-2);border:0}
.shell .ai-transparency{border-radius:14px;background:var(--p-raised);border:1px solid var(--p-line);color:var(--p-ink-2)}
.shell .ai-transparency>span{background:var(--p-cu-soft);color:var(--p-cu)}
.shell .ai-transparency b{color:var(--p-ink)}
.shell .live-dot{background:var(--p-pos)}

/* ---------- Finance ---------- */
.shell .ux-finance-reading,.shell .finance-reading,.shell .finance-live-card,.shell .recon-explainer{border-radius:14px;border:1px solid var(--p-line);background:linear-gradient(180deg,#f9fbff,#f1f5fb);color:var(--p-ink-2)}
.shell .ux-finance-reading b,.shell .finance-reading b{color:var(--p-ink)}
.shell .ux-payments summary{cursor:pointer;transition:color .2s}.shell .ux-payments summary:hover{color:var(--p-cu)}
.shell .cost-track{background:#dee6ed;border-radius:999px}
.shell .cost-track i,.shell .usage-meter>div,.shell .bar,.shell .finance-daily-chart i,.shell .finance-month-chart i,.shell .finance-month-chart .bar{background:linear-gradient(90deg,#8897a3,#b9c6cf);border-color:#a8b7c3;border-radius:999px}
.shell .finance-score{color:var(--p-ink)}
.shell .ux-finance-source-access .mini:hover,.shell .ux-finance-source-access .mini.active{color:var(--p-ink)}
.shell .ux-ai-mark{border:0}
.shell .ux-section-summary,.shell .documents-hero,.shell .stock-intro,.shell .reports-hero{background:linear-gradient(180deg,#fff,#fafcff);border:0;box-shadow:var(--p-sh-2)}
.shell .ux-highlight{animation:p-hl 1.4s var(--p-ease)}
@keyframes p-hl{0%{box-shadow:0 0 0 4px rgba(107,139,176,.3)}100%{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.shell *,.modal,.toast{animation:none!important;transition:none!important}}

/* ---------- Chasse aux dernières teintes bleues ---------- */
.shell .side-user .avatar{border-color:rgba(255,255,255,.14)}
.shell .icon-btn,.shell .icon-btn .maneo-icon{color:var(--p-ink-2)}
.shell .side-user .icon-btn,.shell .side-more{color:#a4adc2!important}
.shell .ux-date,.shell .ux-source,.shell .ux-priority-index{border-color:transparent}
.shell .ux-priority-index.warning{border-color:#ecd9ab}
.shell .ux-payments,.shell .ux-stat-line,.shell .ux-financial-signal,.shell .premium-chat-head,.shell .ai-composer-shell,.shell .premium-composer,.shell .ux-finance-reading,.shell .ux-section-summary{border-color:var(--p-line)}
.shell .ux-payments summary{color:var(--p-ink-2)}
.shell .ux-finance-reading b,.shell .ux-finance-reading p,.shell .ux-finance-reading small,.shell .finance-reading b{color:var(--p-ink)}
.shell .ux-finance-reading p,.shell .ux-finance-reading small{color:var(--p-ink-3)}
.shell .premium-composer{background:#fff;border:1px solid var(--p-line-2);border-radius:16px;box-shadow:var(--p-sh-1)}
.shell .premium-composer:focus-within{border-color:var(--p-ink);box-shadow:0 0 0 4px rgba(22,23,26,.07),var(--p-sh-1)}
.shell .premium-composer textarea{color:var(--p-ink);border:0;box-shadow:none}
.shell .composer-foot,.shell .composer-foot span{color:#6f7880}
.shell .severity.info{background:#abb8c3}
.shell .roster-avatar,.shell .ux-roster-row .avatar{color:var(--p-ink-2)}
.shell .avatar{color:#2b2c30}
.shell .side-user .avatar{color:#1c1d20}
.shell .ai-manager-meta b{color:var(--p-ink)}
.shell .ai-manager-meta span{color:var(--p-ink-3)}

/* ---------- Dernières nuances froides ---------- */
:root{color:#14161c}
.modal-back{color:#14161c}
.shell .icon-btn,.shell .top-actions .icon-btn,.shell .icon-btn .maneo-icon{color:#424856!important}
.shell .ux-finance-source-access b,.shell .ux-finance-source-access span b{color:#14161c}
.command-hint,.cmd-count,.palette-close,.cmd-result small,.cmd-result em{color:#6d757d}
.command-palette,.command-palette b,.command-palette input{color:#14161c}

/* =========================================================
   v3 : plus dense, moins « IA », zone Maneo en carte claire
   ========================================================= */
.shell .title-wrap h1{font-size:22px}
.shell .title-wrap p{font-size:12.5px}
.shell .top-actions .btn{min-height:36px;padding:8px 14px}
.shell .nav-btn{min-height:38px;font-size:13px}
.shell .side-brand{font-size:20px}
.shell .ux-page-intro h2{font-size:26px}
.shell .ux-performance{padding:24px 28px 20px;background:linear-gradient(180deg,#fff,#fbfdff)}
.shell .ux-performance:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}
.shell .ux-performance-top h2{font-size:17px}
.shell .ux-sales-grid strong{font-size:54px;font-weight:700;letter-spacing:-.05em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--p-ink)}
.shell .ux-sales-grid b{font-size:27px}
.shell .ux-revenue span{margin-top:6px}
.shell .ux-chart{height:170px}
.shell [data-page="today"] .ux-chart.compact,.shell .ux-chart.compact{height:136px}
.shell .card h2,.shell .section-title h2{font-size:16.5px}
.shell .ux-attention{padding:22px 24px}
.shell .ux-priority h3{font-size:14px}
.shell .ux-priority p{font-size:12.5px}
.shell .ux-team-strip{padding:16px 24px}
/* retire les effets décoratifs */
.shell .nav-btn.active:before{box-shadow:none}
.shell .brand-logo:after{box-shadow:none}
.shell .ux-ai-mark:after{box-shadow:none}
.shell .ux-brief:before{display:none}
/* Le point Maneo : carte claire, hauteur du contenu */
.shell .ux-brief{background:linear-gradient(180deg,#fff,#fbfdff);border:0;border-top:2px solid var(--p-cu-2);border-radius:18px;box-shadow:var(--p-sh-1);color:var(--p-ink);align-self:start;min-height:0;height:auto}
.shell .ux-brief .eyebrow{color:var(--p-ink-3)}
.shell .ux-brief h3{font-size:21px;line-height:1.22;color:var(--p-ink);letter-spacing:-.03em}
.shell .ux-brief p{font-size:13.5px;color:var(--p-ink-2)}
.shell .ux-brief-foot{color:var(--p-ink-3);border-top:1px solid var(--p-line)}
.shell .ux-ai-mark{background:linear-gradient(160deg,#363a48,#14161c);color:#fff;box-shadow:0 6px 14px -6px rgba(10,16,32,.7)}
.shell .ux-brief .btn.accent{background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%);color:#fff;border:1px solid #0d0d0f;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 20px -10px rgba(10,16,32,.55)}
.shell .ux-brief .btn.accent:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 26px -10px rgba(10,16,32,.65)}
.shell .ux-today-grid{align-items:start}



.shell .content[data-enter="1"] .ux-chart-bars i{animation:p-grow .9s var(--p-ease) both;animation-delay:calc(var(--n,0)*28ms)}

/* ---------- Courbe du chiffre d'affaires (ui-premium.js) ---------- */
.shell .e-seg{display:inline-flex;gap:2px;padding:3px;background:#e3e7ed;border:1px solid #d8dde6;border-radius:11px;box-shadow:inset 0 1px 2px rgba(30,44,70,.08);margin:12px 0 0}
.shell .e-seg button{border:0;background:transparent;border-radius:8px;padding:5px 12px;font:600 12px/18px 'Inter',sans-serif;color:#626a79;cursor:pointer;transition:all .2s var(--p-ease)}
.shell .e-seg button.on{background:#fff;color:var(--p-ink);box-shadow:0 1px 2px rgba(30,44,70,.16),0 6px 14px -8px rgba(30,44,70,.35)}
.shell .e-curve{position:relative;margin-top:6px;user-select:none}
.shell .e-curve[hidden]{display:none}
.shell .e-curve svg{display:block;overflow:visible}
.shell .e-line{fill:none;stroke:var(--p-ink);stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:e-draw 1.4s var(--p-ease) .1s forwards;filter:drop-shadow(0 8px 8px rgba(30,44,70,.22))}
.shell .e-dash{fill:none;stroke:var(--p-ink);stroke-width:2.75;stroke-linecap:round;stroke-dasharray:3 6;opacity:0;animation:e-fade .5s ease 1.2s forwards}
.shell .e-area{opacity:0;animation:e-fade 1s ease .5s forwards}
.shell .e-static .e-line{animation:none;stroke-dashoffset:0}
.shell .e-static .e-dash,.shell .e-static .e-area,.shell .e-static .e-live{animation:none;opacity:1}
@keyframes e-draw{to{stroke-dashoffset:0}}@keyframes e-fade{to{opacity:1}}
.shell .e-grid{stroke:#e2e6ed;stroke-dasharray:2 5}.shell .e-base{stroke:#cfd5de}
.shell .e-t{font:500 12px 'Inter',sans-serif;fill:#6d7585}.shell .e-t-strong{fill:var(--p-ink-2)}
.shell .e-avg{stroke:#8b93a4;stroke-dasharray:5 5}
.shell .e-live{fill:var(--e-accent);stroke:#fff;stroke-width:3;opacity:0;animation:e-fade .4s ease 1.3s forwards}
.shell .e-ring{fill:var(--e-accent);opacity:0;transform-box:fill-box;transform-origin:center;animation:e-ping 2.4s var(--p-ease) 1.6s infinite}
@keyframes e-ping{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.shell .e-hov{fill:var(--p-ink);stroke:#fff;stroke-width:3;opacity:0;transition:opacity .12s}
.shell .e-x{stroke:#8b93a4;stroke-dasharray:3 4;opacity:0;transition:opacity .12s}
.shell .e-dot{fill:#fff;stroke:var(--p-ink);stroke-width:2}
.shell .e-tip{position:absolute;z-index:4;pointer-events:none;transform:translate(-50%,-100%);margin-top:-14px;background:var(--p-ink);color:#fff;padding:8px 12px;border-radius:11px;font:400 12px/16px 'Inter',sans-serif;white-space:nowrap;opacity:0;transition:opacity .12s,left .14s var(--p-ease),top .14s var(--p-ease);box-shadow:var(--p-sh-3)}
.shell .e-tip b{display:block;font:650 15px/20px 'Inter',sans-serif;font-variant-numeric:tabular-nums}.shell .e-tip span{color:#c0c6d4}

/* ---------- Écrans de connexion : même ambiance ---------- */
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.auth-shell{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.auth-shell .auth-brand{background:radial-gradient(520px 320px at 78% 12%,rgba(107,139,176,.18),transparent 62%),linear-gradient(155deg,#171c27,#0d1017)}
.auth-shell .auth-brand p,.auth-shell .auth-feature span{color:#aeb7cb}
.auth-shell .auth-feature{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);border-radius:14px}
.auth-shell .auth-foot{color:#7a8399}
.auth-shell .brand-logo{background:linear-gradient(160deg,#fff,#e4e8f0);color:#14161c}
.auth-shell .btn.primary,.auth-shell .btn.accent{background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%);border:1px solid #0b0d12;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 20px -10px rgba(10,16,32,.55);border-radius:11px;font-weight:600}
.auth-shell .btn.primary:hover,.auth-shell .btn.accent:hover{background:linear-gradient(180deg,#42475a,#262b38 48%,#191c25)}
.auth-shell .segmented{background:#e3e7ed;border-radius:12px}
.auth-shell .segmented button.active{box-shadow:0 1px 2px rgba(30,44,70,.16)}
.auth-shell input:focus{border-color:#14161c;box-shadow:0 0 0 4px rgba(20,22,28,.08)}

/* ---------- Derniers repères de l'ancienne palette (vert / bleu d'origine) ---------- */
.shell .contact-link{color:var(--p-ink-2);text-decoration:none;border-bottom:1px solid var(--p-line-2);transition:color .2s,border-color .2s}
.shell .contact-link:hover{color:var(--p-ink);border-color:var(--p-ink)}
.shell .recon-icon{color:var(--p-ink-3);background:var(--p-inset)}
.shell .recon-explainer b,.shell .finance-reading b,.shell .ai-transparency b{color:var(--p-ink)}
.shell .automation-schedule b{color:var(--p-ink-2)}
.shell .integration-icon{color:var(--p-ink-2);background:var(--p-inset)}
.shell .check-card,.shell .check-card span{color:var(--p-ink-2)}
.shell .check-card:has(input:checked){background:#eef1f5;border-color:#aeb7c6;color:var(--p-ink)}
.shell .check-card:has(input:checked) span{color:var(--p-ink);font-weight:600}
.shell .check-card input{accent-color:var(--p-ink)}

/* ---------- Grandes bandes d'en-tête : cartes bleu clair, texte noir (plus de blocs sombres) ---------- */
.shell .situations-hero,.shell .security-v7-hero,.shell .support-hero,.shell .integration-roadmap,.shell .intel-hero-v7,.shell .founder-hero,.shell .documents-hero,.employee-hero{
  position:relative;overflow:hidden;color:var(--p-ink);border:1px solid #d3ddec;border-radius:20px;padding:24px 28px;
  background:linear-gradient(#6b8bb0,#6b8bb0) 0 0/100% 3px no-repeat,radial-gradient(520px 220px at 100% 0,rgba(107,139,176,.16),transparent 70%),linear-gradient(165deg,#f9fbfe 0%,#eaf0f8 100%);
  box-shadow:var(--p-sh-2),inset 0 1px 0 #fff}
.shell .intel-hero-v7:after,.shell .founder-hero:after{display:none}
.shell .situations-hero .eyebrow,.shell .security-v7-hero .eyebrow,.shell .support-hero .eyebrow,.shell .integration-roadmap .eyebrow,.shell .intel-hero-v7 .eyebrow,.shell .founder-hero .eyebrow,.shell .documents-hero .eyebrow,.employee-hero .eyebrow{color:#52688a}
.shell .situations-hero h2,.shell .security-v7-hero h2,.shell .support-hero h2,.shell .integration-roadmap h2,.shell .intel-hero-v7 h2,.shell .intel-hero-copy h2,.shell .founder-hero h2,.shell .documents-hero h2,.employee-hero h2{color:var(--p-ink);font-weight:650;letter-spacing:-.03em}
.shell .situations-hero p,.shell .security-v7-hero p,.shell .support-hero p,.shell .integration-roadmap p,.shell .intel-hero-v7 p,.shell .intel-hero-copy p,.shell .founder-hero p,.shell .documents-hero p,.employee-hero p{color:var(--p-ink-2);font-size:13.5px;line-height:1.6}
.shell .integration-roadmap p b{color:var(--p-ink);font-weight:650}
/* pastilles et tuiles de chiffres : blanches, relief léger */
.shell .situation-summary>div,.shell .security-score,.shell .intel-score,.shell .founder-health{background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:var(--p-sh-1)}
.shell .situation-summary b,.shell .security-score strong,.shell .intel-score strong,.shell .founder-health strong{color:var(--p-ink);font-weight:700;letter-spacing:-.03em}
.shell .situation-summary span,.shell .security-score small,.shell .security-score>span,.shell .security-score em,.shell .intel-score small,.shell .intel-score>span,.shell .intel-score em,.shell .founder-health span{color:#626a79}
.shell .intel-score.good strong,.shell .founder-health.ready strong{color:#1f7a4f}
.shell .intel-score.warn strong,.shell .founder-health.pending strong{color:#a3670f}
.shell .intel-score.bad strong{color:#b3382f}
.shell .intel-trust-row span,.shell .integration-roadmap-tags span{background:#fff;border:1px solid #d3ddec;color:var(--p-ink-2);font-size:12px;font-weight:550;padding:6px 11px;box-shadow:var(--p-sh-1)}

/* ---------- Centre de notifications : cartes nettes, actions discrètes ---------- */
.notification-center{width:min(720px,94vw);padding:26px 28px 22px;background:linear-gradient(180deg,#fbfcfe,#f3f6fa);border:1px solid #e1e7f0}
.notification-center .section-title{align-items:flex-start;margin-bottom:4px}
.notification-center h3{font-size:22px;font-weight:700;letter-spacing:-.035em;margin:0 0 4px;color:var(--p-ink)}
.notification-center .section-title p{font-size:13.5px;color:var(--p-ink-3);margin:0}
.notification-center .icon-btn{width:34px;height:34px;border-radius:10px;font-size:18px;line-height:1}
.notification-center .notification-toolbar{margin:16px 0 14px}
.notification-center .notification-list{gap:10px;padding:2px 4px 6px 2px;margin-right:-4px}
.notification-center .notification-row{position:relative;grid-template-columns:12px minmax(0,1fr);gap:4px 14px;padding:16px 18px;background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:var(--p-sh-1);transition:box-shadow .2s var(--p-ease),transform .2s var(--p-ease),border-color .2s}
.notification-center .notification-row:hover{box-shadow:var(--p-sh-2);transform:translateY(-1px);border-color:#d3dbe8}
.notification-center .notification-row.unread{background:linear-gradient(90deg,#f0f5fb,#fff 55%);border-color:#d0dcee;box-shadow:inset 3px 0 0 #6b8bb0,var(--p-sh-1)}
.notification-center .severity{width:10px;height:10px;margin-top:6px;background:#8ea4c0;box-shadow:0 0 0 4px rgba(107,139,176,.16)}
.notification-center .severity.warning{background:#d39a2c;box-shadow:0 0 0 4px rgba(211,154,44,.18)}
.notification-center .severity.urgent{background:#c8473d;box-shadow:0 0 0 4px rgba(200,71,61,.16)}
.notification-center .notification-title{gap:10px}
.notification-center .notification-title b{font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--p-ink)}
.notification-center .notification-title span{font-size:12px;color:#8a93a3}
.notification-center .notification-title .new{background:#e6edf7;color:#3f5f86;font-size:12px;font-weight:650;letter-spacing:.02em;padding:2px 9px;border-radius:999px}
.notification-center .notification-main p{font-size:13.5px;line-height:1.5;color:var(--p-ink-2);margin:5px 0 6px}
.notification-center .notification-row small{font-size:12px;color:#7d8696}
.notification-center .notification-actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px;max-width:none;margin-top:8px;padding-top:12px;border-top:1px solid #edf0f5}
.notification-center .notification-actions .btn{order:-1;margin-right:6px;height:32px;padding:0 16px;font-size:13px;font-weight:600;color:#fff;border:1px solid #0b0d12;border-radius:10px;background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 16px -10px rgba(10,16,32,.6)}
.notification-center .notification-actions .btn:hover{background:linear-gradient(180deg,#42475a,#262b38 48%,#191c25);transform:translateY(-1px)}
.notification-center .notification-actions .mini{background:transparent;border:0;box-shadow:none;color:#5d6676;font-size:12.5px;font-weight:550;padding:6px 10px;border-radius:8px}
.notification-center .notification-actions .mini:hover{background:#eef2f8;color:var(--p-ink);transform:none;box-shadow:none}
.notification-center .notification-actions .danger-mini{color:#b3382f!important;margin-left:auto}
.notification-center .notification-actions .danger-mini:hover{background:#fdeeed}
.notification-center .premium-empty{text-align:center;padding:40px 20px;background:#fff;border:1px dashed #d3dbe8;border-radius:16px;color:var(--p-ink-3)}
.notification-center .premium-empty b{display:block;color:var(--p-ink);font-size:15px;margin:6px 0 2px}
.notification-center .premium-empty>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6edf7;color:#3f5f86;font-weight:700}

/* ---------- Champs de dates (Finance · Personnalisé) : lisibles, nets ---------- */
.shell .ux-range-form{gap:12px;align-items:flex-end;flex-wrap:wrap}
.shell .ux-range-form label{font-size:12px;font-weight:600;color:var(--p-ink-3)}
.shell .ux-range-form input{color:var(--p-ink);font-size:14px;font-weight:550;padding:9px 12px;margin-top:6px;border-radius:11px;min-width:150px;cursor:pointer}
.shell .ux-range-form .btn{height:40px}

/* Liserés latéraux : discrets, bleu acier, plus de barre noire pleine hauteur */
.shell .priority-integration:before{inset:18px auto 18px 0;width:3px;border-radius:0 3px 3px 0;background:#8ea4c0}
.notification-center .notification-row.unread{margin:0;padding:16px 18px}
.shell .ux-revenue span{background:#e8eef6;color:#4a5a73!important}

/* ---------- Survol stable ----------
   Un élément qui bouge de 1 px sous la souris perd son survol sur son bord, puis le retrouve : d'où le « clignotement ».
   Les éléments cliquables ne se déplacent donc plus au survol ; le retour visuel passe par l'ombre, la bordure et la luminosité. */
.shell .btn:hover:not(:active),.modal .btn:hover:not(:active),.shell .mini:hover:not(:active),.shell .icon-btn:hover:not(:active),.shell .ai-send:hover:not(:active),.shell .ai-voice:hover:not(:active),.shell .ai-context-btn:hover:not(:active),.shell .shift:hover,.shell .shift-card:hover,.quick-card:hover,.shell .card:hover,.shell .ux-priority:hover,.shell .nav-btn:hover,.shell .ai-suggestion-list button:hover,.notification-center .notification-row:hover,.notification-center .notification-actions .btn:hover:not(:active),.shell .ux-brief .btn.accent:hover:not(:active),.shell .e-seg button:hover{transform:none!important}
.shell .btn,.modal .btn{transition:box-shadow .25s var(--p-ease),filter .2s var(--p-ease),border-color .2s var(--p-ease),color .2s,background-color .2s;will-change:auto}
.shell .btn.accent:hover:not(:disabled),.shell .btn.primary:hover:not(:disabled),.modal .btn.primary:hover:not(:disabled),.modal .btn.accent:hover:not(:disabled),.notification-center .notification-actions .btn:hover{filter:brightness(1.18)}
.shell .btn.secondary:hover:not(:disabled),.shell .mini:hover:not(:disabled){filter:none;background:linear-gradient(180deg,#fff,#eef3f9)}
.notification-center .notification-actions .btn:hover{background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%)}
.shell .btn:active:not(:disabled){transform:scale(.985)}
/* focus souris : pas de contour parasite après un clic (le contour clavier reste visible) */
.shell button:focus:not(:focus-visible),.modal button:focus:not(:focus-visible){outline:none}
.shell .is-refreshing .ux-source:after{background:linear-gradient(90deg,transparent,#6b8bb0,transparent)}
/* Le dégradé noir reste identique au survol (sinon il « saute » vers une couleur unie) : seul l'éclaircissement change */
.shell .btn.accent:hover:not(:disabled),.shell .btn.primary:hover:not(:disabled),.modal .btn.accent:hover:not(:disabled),.modal .btn.primary:hover:not(:disabled),.shell .ux-brief .btn.accent:hover:not(:disabled),.shell .ai-context-btn.primary:hover:not(:disabled),.auth-shell .btn.primary:hover,.auth-shell .btn.accent:hover{background:linear-gradient(180deg,#363a48 0%,#1e222d 48%,#14161c 100%);color:#fff;border-color:#0d0d0f}
.shell .btn.accent:disabled,.shell .btn.primary:disabled{filter:none}
.report-chart .bar-wrap:hover .bar-value{color:var(--p-ink)}

/* Onglets : jamais écrasés les uns sur les autres (défilement horizontal sur petit écran) */
.shell .context-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.shell .context-tabs button{flex:0 0 auto;min-width:auto;scroll-snap-align:start}

/* Dépenses : état de catégorie + validation en un clic dans la même cellule */
.shell .exp-actions{display:inline-flex;gap:6px;justify-content:flex-end;align-items:center}

/* ---------- Rentabilité mois par mois : CA, dépenses et résultat bien distingués ---------- */
.shell .profit-equation{margin-top:22px;border-top:1px solid var(--p-line);padding-top:16px}
.shell .profit-equation h3{font-size:14px;font-weight:650;color:var(--p-ink);margin:0 0 6px}
.shell .profit-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--p-line)}
.shell .profit-line>span{display:grid;gap:2px}
.shell .profit-line>span b{font-size:14px;font-weight:600;color:var(--p-ink)}
.shell .profit-line small{font-size:12px;color:var(--p-ink-3)}
.shell .profit-line>b{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--p-ink-2);white-space:nowrap}
.shell .profit-line.plus>b{color:var(--p-ink)}
.shell .profit-line.total{border-bottom:0;margin-top:4px;padding:14px 16px;background:linear-gradient(180deg,#f3f6fa,#eaeff5);border-radius:12px}
.shell .profit-line.total>b{font-size:20px;color:var(--p-ink)}
.shell .profit-months{display:grid;gap:2px}
.shell .profit-months>*{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(70px,1fr));gap:10px;align-items:center;padding:10px 12px;font-size:13px;text-align:left}
.shell .profit-months-head{font-size:11.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--p-ink-3);padding-bottom:6px}
.shell .profit-months button{border:0;background:transparent;border-radius:11px;cursor:pointer;color:var(--p-ink-2);font-variant-numeric:tabular-nums;transition:background .2s var(--p-ease)}
.shell .profit-months button:hover{background:#f1f5fa}
.shell .profit-months button.active{background:#fff;box-shadow:var(--p-sh-1),inset 3px 0 0 var(--p-cu-2);color:var(--p-ink)}
.shell .profit-months button em{font-style:normal;font-size:12px;color:var(--p-cu);background:var(--p-cu-soft);border-radius:999px;padding:1px 7px;margin-left:6px}
.shell .profit-months b.neg{color:var(--p-neg)}
.shell .expense-meta{display:grid;gap:6px;margin:6px 0 12px}
.shell .expense-meta .pill,.modal .expense-meta .pill{margin-right:4px}
.modal .expense-meta{display:grid;gap:6px;margin:6px 0 12px}
.modal .expense-meta .btn{justify-self:start;margin-top:4px}
@media(max-width:560px){.shell .profit-months>*{grid-template-columns:1.3fr 1fr 1fr 1fr;font-size:12px}.shell .profit-months>*>:nth-child(5){display:none}}
.shell #profit-month,.shell #expense-focus-month{width:auto;min-width:150px}
.shell .ux-performance-top .row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}

/* ---------- Aujourd'hui : « Ce mois-ci » · CA, dépenses et rentabilité distincts ---------- */
.shell .ux-month-strip{padding:18px 22px}
.shell .ux-month-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.shell .ux-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.shell .ux-month-grid>div{display:grid;gap:3px;padding:0 20px;border-left:1px solid var(--p-line)}
.shell .ux-month-grid>div:first-child{padding-left:0;border-left:0}
.shell .ux-month-grid small{font-size:12.5px;font-weight:600;color:var(--p-ink-3)}
.shell .ux-month-grid b{font-size:26px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--p-ink)}
.shell .ux-month-grid span{font-size:12px;color:var(--p-ink-3)}
.shell .ux-month-grid .result b{color:var(--p-ink)}
@media(max-width:700px){.shell .ux-month-grid{grid-template-columns:1fr;gap:14px}.shell .ux-month-grid>div{padding:0;border-left:0}}
.shell .ux-month-strip{margin-top:16px}

/* ---------- Analyses : centre d'intelligence ---------- */
.shell .an-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;padding:26px 28px;margin-bottom:22px;border:1px solid #d3ddec;border-radius:20px;background:linear-gradient(#6b8bb0,#6b8bb0) 0 0/100% 3px no-repeat,radial-gradient(520px 220px at 100% 0,rgba(107,139,176,.16),transparent 70%),linear-gradient(165deg,#f9fbfe 0%,#eaf0f8 100%);box-shadow:var(--p-sh-2),inset 0 1px 0 #fff}
.shell .an-hero h2{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.04em;margin:6px 0 10px;color:var(--p-ink)}
.shell .an-hero p{font-size:14px;line-height:1.6;color:var(--p-ink-2);max-width:62ch;margin:0 0 16px}
.shell .an-filters{display:flex;flex-wrap:wrap;gap:8px}
.shell .an-filters button{border:1px solid var(--p-line-2);background:#fff;border-radius:999px;padding:6px 13px;font:600 12.5px/18px 'Inter',sans-serif;color:var(--p-ink-2);cursor:pointer;transition:background .2s var(--p-ease),color .2s,border-color .2s,box-shadow .2s}
.shell .an-filters button em{font-style:normal;color:var(--p-ink-3);margin-left:4px;font-variant-numeric:tabular-nums}
.shell .an-filters button:hover{border-color:#99a4af;color:var(--p-ink)}
.shell .an-filters button.active{background:linear-gradient(180deg,#363a48,#14161c);color:#fff;border-color:#0d0d0f;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.shell .an-filters button.active em{color:#c0c6d4}
.shell .an-coverage{display:grid;align-content:start;gap:10px;padding:16px 18px;background:rgba(255,255,255,.72);border:1px solid #dbe3ef;border-radius:16px}
.shell .an-coverage h3{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--p-ink-3);margin:0}
.shell .an-coverage>div{display:flex;flex-wrap:wrap;gap:6px}
.shell .an-coverage span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#f1f4f8;color:#8a93a3;border:1px solid #e3e8f0}
.shell .an-coverage span i{width:7px;height:7px;border-radius:50%;background:#c3cad6}
.shell .an-coverage span small{font-size:12px;font-weight:500;opacity:.8}
.shell .an-coverage span.on{background:#fff;color:var(--p-ink-2);border-color:#d3ddec}
.shell .an-coverage span.on i{background:#8ea4c0}
.shell .an-coverage span.solid i{background:var(--p-pos);box-shadow:0 0 0 3px rgba(29,112,73,.14)}
.shell .an-coverage .mini{justify-self:start}
.shell .an-section{margin:26px 0 0}
.shell .an-section-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.shell .an-section-head h2{font-size:18px;font-weight:650;letter-spacing:-.025em;color:var(--p-ink);margin:0}
.shell .an-count{font-size:12px;font-weight:650;color:var(--p-ink-3);background:#e8edf3;border-radius:999px;padding:1px 9px;font-variant-numeric:tabular-nums}
.shell .an-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}
.shell .an-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px 22px 18px;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:18px;box-shadow:var(--p-sh-1),inset 3px 0 0 #8ea4c0;transition:box-shadow .25s var(--p-ease)}
.shell .an-card:hover{box-shadow:var(--p-sh-2),inset 3px 0 0 #8ea4c0}
.shell .an-card.tone-alert{box-shadow:var(--p-sh-1),inset 3px 0 0 #c8473d}
.shell .an-card.tone-watch{box-shadow:var(--p-sh-1),inset 3px 0 0 #d39a2c}
.shell .an-card.tone-good{box-shadow:var(--p-sh-1),inset 3px 0 0 #5f9d7d}
.shell .an-card header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.shell .an-kind{font-size:11.5px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--p-ink-3)}
.shell .an-conf{font-size:12px;font-weight:600;color:var(--p-ink-3);background:#f1f4f8;border-radius:999px;padding:2px 9px;white-space:nowrap}
.shell .an-conf.conf-élevée,.shell .an-conf.conf-bonne{color:#1d6a45;background:#e8f3ec}
.shell .an-conf.conf-limitée{color:#8a5a0c;background:#fbf1dc}
.shell .an-card h3{font-size:17px;line-height:1.3;font-weight:650;letter-spacing:-.02em;color:var(--p-ink);margin:0}
.shell .an-flow{display:grid;gap:10px;margin:0}
.shell .an-flow>div{display:grid;gap:2px}
.shell .an-flow dt{font-size:11.5px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--p-ink-3)}
.shell .an-flow dd{margin:0;font-size:13.5px;line-height:1.55;color:var(--p-ink-2)}
.shell .an-bars{display:flex;align-items:flex-end;gap:8px;height:96px;padding:6px 2px 0}
.shell .an-bars>div{flex:1;display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:3px;height:100%;min-width:0}
.shell .an-bars i{align-self:end;width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#cdd8e0,#e0e8ef);border:1px solid #c3cfd7}
.shell .an-bars .hi i{background:linear-gradient(180deg,#8ea4c0,#6b8bb0);border-color:#5a7ba0}
.shell .an-bars b{font-size:12px;font-weight:600;color:var(--p-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.shell .an-bars span{font-size:12px;color:var(--p-ink-3);text-transform:capitalize}
.shell .an-evidence{display:flex;flex-wrap:wrap;gap:6px}
.shell .an-evidence span{font-size:12px;color:var(--p-ink-2);background:#ecf1f7;border:1px solid #dae3ea;border-radius:7px;padding:3px 8px}
.shell .an-evidence b{color:var(--p-ink)}
.shell .an-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--p-line)}
.shell .an-src{font-size:12px;color:var(--p-ink-3)}
.shell .an-actions{display:flex;flex-wrap:wrap;gap:6px}
.shell .an-empty{padding:22px;text-align:center;font-size:13.5px;color:var(--p-ink-3);border:1px dashed #cfd7e2;border-radius:16px;background:rgba(255,255,255,.6)}
.shell .an-gap-list{display:grid;gap:8px}
.shell .an-gap-list>div{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr auto;gap:14px;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e3e8f0;border-radius:14px;font-size:13px}
.shell .an-gap-list b{color:var(--p-ink)}
.shell .an-gap-list span{color:var(--p-ink-2)}
.shell .an-reports{margin-top:28px;padding:0}
.shell .an-reports summary{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;font-size:16px;font-weight:650;color:var(--p-ink);list-style:none}
.shell .an-reports summary::-webkit-details-marker{display:none}
.shell .an-reports summary small{font-size:12.5px;font-weight:500;color:var(--p-ink-3)}
.shell .an-reports[open] summary{border-bottom:1px solid var(--p-line)}
.shell .an-reports>.toolbar,.shell .an-reports>.reports-grid{margin:16px 22px}
@media(max-width:900px){.shell .an-hero{grid-template-columns:1fr;padding:20px}.shell .an-gap-list>div{grid-template-columns:1fr;gap:6px}}

/* ---------- Connexions : sources connectées, vivantes et sobres ---------- */
.shell .cn-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin-bottom:22px;border:1px solid #d3ddec;border-radius:20px;background:linear-gradient(#6b8bb0,#6b8bb0) 0 0/100% 3px no-repeat,radial-gradient(520px 220px at 100% 0,rgba(107,139,176,.16),transparent 70%),linear-gradient(165deg,#f9fbfe 0%,#eaf0f8 100%);box-shadow:var(--p-sh-2),inset 0 1px 0 #fff}
.shell .cn-summary h2{font-size:26px;font-weight:700;letter-spacing:-.04em;margin:6px 0 8px;color:var(--p-ink)}
.shell .cn-summary h2 small{font-size:15px;font-weight:500;letter-spacing:0;color:var(--p-ink-3)}
.shell .cn-summary p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;color:var(--p-ink-2);margin:0}
.shell .cn-attn{color:#8a5a0c}
.shell .cn-pulse{width:9px;height:9px;border-radius:50%;background:#aab4c3;margin-right:2px}
.shell .cn-pulse.fresh{background:var(--p-pos);animation:cn-breathe 2.8s ease-out infinite}
.shell .cn-pulse.recent{background:#d39a2c}
.shell .cn-pulse.stale{background:#c8473d}
.shell .cn-summary-side{display:grid;justify-items:end;gap:12px}
.shell .cn-score{display:flex;align-items:baseline;gap:4px}
.shell .cn-score b{font-size:44px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--p-ink);font-variant-numeric:tabular-nums}
.shell .cn-score span{display:grid;font-size:14px;color:var(--p-ink-3)}
.shell .cn-score small{font-size:12px;letter-spacing:.02em}
.shell .cn-section{margin:0 0 26px}
.shell .cn-section-head h2{font-size:18px;font-weight:650;letter-spacing:-.025em;color:var(--p-ink);margin:0 0 12px}
.shell .cn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:18px}
.shell .cn-card{position:relative;overflow:hidden;display:grid;gap:16px;padding:22px 24px 20px;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:20px;box-shadow:var(--p-sh-1);transition:box-shadow .3s var(--p-ease)}
.shell .cn-card:hover{box-shadow:var(--p-sh-2)}
.shell .cn-bar{position:absolute;left:0;right:0;top:0;height:3px}
.shell .cn-card.is-syncing .cn-bar{background:linear-gradient(90deg,transparent 0%,#6b8bb0 40%,#a9bdd6 60%,transparent 100%);background-size:200% 100%;animation:cn-slide 1.3s linear infinite}
.shell .cn-card.just-synced{animation:cn-flash 1.8s var(--p-ease)}
.shell .cn-id{display:flex;align-items:center;gap:14px}
.shell .cn-logo{position:relative;display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;color:var(--p-ink);background:linear-gradient(160deg,#fff,#e9eef5);box-shadow:inset 0 0 0 1px #d3ddec,0 6px 12px -8px rgba(30,44,70,.4)}
.shell .cn-logo.small{width:38px;height:38px;border-radius:12px;color:#8a93a3;background:#f1f4f8;box-shadow:inset 0 0 0 1px #e3e8f0}
.shell .cn-card.is-syncing .cn-logo:after{content:'';position:absolute;inset:-4px;border-radius:17px;border:2px solid transparent;border-top-color:#6b8bb0;animation:cn-spin .9s linear infinite}
.shell .cn-name{flex:1;min-width:0}
.shell .cn-name h3{font-size:18px;font-weight:650;letter-spacing:-.025em;margin:0;color:var(--p-ink)}
.shell .cn-name small{display:block;font-size:12.5px;color:var(--p-ink-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shell .cn-state{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--p-ink-2);background:#f1f4f8;border:1px solid #e1e7ef;border-radius:999px;padding:4px 11px 4px 9px;white-space:nowrap}
.shell .cn-state i{width:7px;height:7px;border-radius:50%;background:#aab4c3}
.shell .cn-state.connected{background:#fff;border-color:#cfe6d8;color:#1d6a45}
.shell .cn-state.connected i{background:var(--p-pos);animation:cn-breathe 2.8s ease-out infinite}
.shell .cn-state.syncing,.shell .cn-state.pending{background:#fff;border-color:#c7d6e8;color:#3f5f86}
.shell .cn-state.syncing i,.shell .cn-state.pending i{background:#6b8bb0;animation:cn-blink 1s ease-in-out infinite}
.shell .cn-state.reauth{background:#fffaf0;border-color:#ecd9ab;color:#8a5a0c}
.shell .cn-state.reauth i{background:#d39a2c}
.shell .cn-state.error{background:#fff6f5;border-color:#efc6c2;color:#a02d26}
.shell .cn-state.error i{background:#c8473d}
.shell .cn-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,1fr);gap:22px;align-items:start}
.shell .cn-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 18px}
.shell .cn-metrics>div{display:grid;gap:2px;min-width:0}
.shell .cn-metrics b{font-size:22px;font-weight:700;letter-spacing:-.035em;color:var(--p-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.shell .cn-metrics .warn b{color:#8a5a0c}
.shell .cn-metrics span{font-size:12px;color:var(--p-ink-3);display:flex;align-items:center;gap:6px}
.shell .cn-live{width:7px;height:7px;border-radius:50%;background:var(--p-pos);animation:cn-breathe 2.2s ease-out infinite}
.shell .cn-card.just-synced .cn-metrics b{animation:cn-pop .7s var(--p-ease)}
.shell .cn-fresh{display:grid;gap:7px;padding:12px 14px;background:#f6f8fb;border:1px solid #e6ebf2;border-radius:14px}
.shell .cn-fresh-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--p-ink-3)}
.shell .cn-fresh-row b{font-size:12.5px;font-weight:650}
.shell .cn-fresh-row b.fresh{color:#1d6a45}.shell .cn-fresh-row b.recent{color:#8a5a0c}.shell .cn-fresh-row b.stale{color:#a02d26}
.shell .cn-meter{height:5px;border-radius:999px;background:#e3e8f0;overflow:hidden}
.shell .cn-meter i{display:block;height:100%;border-radius:999px;background:#8ea4c0;transition:width .8s var(--p-ease)}
.shell .cn-meter.fresh i{background:linear-gradient(90deg,#6fae8f,#2f8a5f)}.shell .cn-meter.recent i{background:#d39a2c}.shell .cn-meter.stale i{background:#c8473d}
.shell .cn-fresh small{font-size:12px;color:var(--p-ink-3)}
.shell .cn-quality{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--p-ink-3);padding-top:7px;border-top:1px solid #e3e8f0}
.shell .cn-quality b{color:var(--p-ink-2);font-weight:600}
.shell .cn-accounts{display:flex;flex-wrap:wrap;gap:6px}
.shell .cn-accounts span{font-size:12px;color:var(--p-ink-2);background:#ecf1f7;border:1px solid #dae3ea;border-radius:8px;padding:3px 9px}
.shell .cn-detail{font-size:12px;color:var(--p-ink-3);margin-top:-6px}
.shell .cn-error{font-size:12.5px;color:#a02d26;background:#fff6f5;border:1px solid #efc6c2;border-radius:10px;padding:8px 12px}
.shell .cn-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:14px;border-top:1px solid var(--p-line)}
.shell .cn-quiet-list{display:grid;gap:8px}
.shell .cn-quiet{display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(255,255,255,.62);border:1px solid #e3e8f0;border-radius:14px}
.shell .cn-quiet>div{flex:1;min-width:0;display:grid;gap:1px}
.shell .cn-quiet b{font-size:14px;font-weight:600;color:var(--p-ink-2)}
.shell .cn-quiet small{font-size:12.5px;color:var(--p-ink-3);line-height:1.45}
.shell .cn-quiet .cn-state{background:transparent;border-color:transparent;color:var(--p-ink-3)}
.shell .cn-quiet .cn-state.soon i,.shell .cn-quiet .cn-state.config i{background:#cfd6e0}
@keyframes cn-breathe{0%{box-shadow:0 0 0 0 rgba(29,112,73,.35)}70%,100%{box-shadow:0 0 0 7px rgba(29,112,73,0)}}
@keyframes cn-blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes cn-spin{to{transform:rotate(360deg)}}
@keyframes cn-slide{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes cn-flash{0%{box-shadow:var(--p-sh-1),0 0 0 0 rgba(107,139,176,.55)}40%{box-shadow:var(--p-sh-2),0 0 0 6px rgba(107,139,176,.22)}100%{box-shadow:var(--p-sh-1),0 0 0 0 rgba(107,139,176,0)}}
@keyframes cn-pop{0%{opacity:.4;transform:translateY(4px)}100%{opacity:1;transform:none}}
@media(max-width:820px){.shell .cn-summary{flex-direction:column;align-items:flex-start;padding:20px}.shell .cn-summary-side{justify-items:start}.shell .cn-body{grid-template-columns:1fr}.shell .cn-quiet{flex-wrap:wrap}}
.shell .cn-summary p{display:block}
.shell .cn-pulse{display:inline-block;vertical-align:middle;margin-right:8px}

/* ---------- CA externe & clôture : composition du CA du jour ---------- */
.modal .close-known{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#f3f6fa,#eaeff5);border-radius:14px;margin-bottom:8px}
.modal .close-known span{font-size:13px;font-weight:600;color:var(--p-ink-3)}
.modal .close-known b{font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--p-ink);font-variant-numeric:tabular-nums}
.modal .close-sources{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:2px}
.modal .close-sources li{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:13.5px;border-bottom:1px solid var(--p-line)}
.modal .close-sources li:last-child{border-bottom:0}
.modal .close-sources li>span{flex:1;display:flex;align-items:center;gap:8px;color:var(--p-ink-2)}
.modal .close-sources li em{font-style:normal;font-size:12px;font-weight:600;color:var(--p-ink-3);background:#eef2f7;border-radius:999px;padding:1px 8px}
.modal .close-sources li strong{font-variant-numeric:tabular-nums;color:var(--p-ink)}
.modal .close-sources li.conflict{opacity:.7;text-decoration:line-through}
.modal .close-breakdown{margin:8px 0 4px;border:1px solid var(--p-line);border-radius:14px;padding:10px 14px;background:#fafbfd}
.modal .close-breakdown summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--p-ink-2)}
.modal .close-breakdown[open] summary{margin-bottom:6px}
.modal .footer-note.bad{color:var(--p-neg)}

/* ---------- Détail d'une dépense : uniquement ce qui existe ---------- */
.shell .mini.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--p-ink-3)}
.shell .mini.ghost:hover:not(:disabled){background:#eef2f8;color:var(--p-ink);box-shadow:none}
.modal .expense-detail-sub{margin:-2px 0 12px;font-size:13px;color:var(--p-ink-3)}
.modal .expense-detail{display:grid;gap:0;margin:0 0 14px}
.modal .expense-detail>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--p-line);align-items:baseline}
.modal .expense-detail>div:first-child{border-top:0}
.modal .expense-detail dt{font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--p-ink-3)}
.modal .expense-detail dd{margin:0;font-size:14px;color:var(--p-ink);display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.modal .expense-detail dd small{font-size:12px;color:var(--p-ink-3)}
.modal .expense-detail .tone-good dd{color:#1d6a45}
.modal .expense-detail .tone-warn dd{color:#8a5a0c}
.modal .expense-lines{list-style:none;margin:6px 0 0;padding:0;width:100%;display:grid;gap:2px}
.modal .expense-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--p-line)}
.modal .expense-lines li:last-child{border-bottom:0}
.modal .expense-lines em{font-style:normal;color:var(--p-ink-3)}
.modal .expense-lines b{font-variant-numeric:tabular-nums;font-weight:600}
.modal .expense-lines .more{color:var(--p-ink-3);display:block}
.modal .expense-detail-actions{justify-content:flex-end}
.shell .stock-update{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.shell .stock-update .expense-lines{list-style:none;margin:8px 0 6px;padding:0;display:grid;gap:2px}
.shell .stock-update .expense-lines li{display:flex;gap:10px;font-size:13px;color:var(--p-ink-2)}
.shell .stock-update .expense-lines em{font-style:normal;color:var(--p-ink-3)}
@media(max-width:560px){.modal .expense-detail>div{grid-template-columns:1fr;gap:2px}.shell .stock-update{flex-direction:column}}

/* Connexions : action « Déconnecter » discrète, poussée à droite des actions existantes */
.shell .cn-actions .cn-disconnect{margin-left:auto;background:transparent;box-shadow:none;border-color:transparent;color:var(--p-ink-3,#6b7685)}
.shell .cn-actions .cn-disconnect:hover:not(:disabled){background:#fbeceb;border-color:#efc6c2;color:var(--p-neg);transform:none;box-shadow:none}
.shell .cn-disc-list{margin:8px 0 0;padding-left:18px;display:grid;gap:5px}
.shell .cn-disc-note{margin:10px 0 0;font-size:12.5px;opacity:.85}

/* ===== Finition globale : planning, états vides, tableaux sur téléphone ===== */
.shell .empty{color:var(--p-ink-3)}
.shell .section-title .btn,.shell .section-title .mini{flex:none;white-space:nowrap}
.shell .empty.day-closed{padding:12px;font-weight:600;letter-spacing:.02em;opacity:.75}
.shell .empty.day-gap{padding:12px;color:var(--p-att);font-weight:600}
.shell .empty.day-gap small{display:block;font-size:12px;font-weight:500;opacity:.9}
.shell .day-col.is-closed{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(30,44,70,.04) 6px 12px),var(--p-inset)}
.shell .day-unavail{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;background:var(--p-att-soft);color:var(--p-att);font-size:12px;font-weight:600;line-height:1.3}
.shell .day-unavail i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.shell .day-unavail span{min-width:0;overflow-wrap:anywhere}
.shell .day-unavail.bad{background:var(--p-neg-soft);color:var(--p-neg)}
.shell .shift{transition:transform .16s var(--p-ease),box-shadow .16s var(--p-ease),border-color .16s var(--p-ease)}
.shell .shift[data-shift]{cursor:pointer}
.shell .shift[data-shift]:hover{transform:translateY(-1px);box-shadow:var(--p-sh-2)}
.shell .shift[data-shift]:focus-visible{outline:2px solid var(--p-cu);outline-offset:2px}
.shell .plan-state{font-size:12px;font-weight:650;padding:5px 10px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}
.shell .plan-state.pub{background:var(--p-pos-soft);color:var(--p-pos)}
.shell .plan-state.draft{background:var(--p-att-soft);color:var(--p-att)}
.shell .plan-notice{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--p-att-soft);border:1px solid #efdcae;margin:0 0 14px}
.shell .plan-notice.done{background:var(--p-pos-soft);border-color:#c8e0d1}
.shell .plan-notice>div{flex:1;min-width:0;display:grid;gap:2px}
.shell .plan-notice b{font-size:13.5px}
.shell .plan-notice small{font-size:12.5px;color:var(--p-ink-2)}
.shell .load-row.over .usage-meter>div{background:linear-gradient(90deg,#c9625c,#e3a19c)}
.shell .load-row.over span{color:var(--p-neg);font-weight:600}
.shell .empty-state{display:grid;justify-items:center;gap:4px;text-align:center;padding:34px 20px;color:var(--p-ink-3)}
.shell .empty-state b{font-size:14px;color:var(--p-ink)}
.shell .empty-state span{font-size:13px;max-width:46ch;line-height:1.55}
.shell .empty-state .btn,.shell .empty-state .mini{margin-top:10px}
@media(max-width:700px){
  .shell .planning-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .shell .planning-actions .btn{white-space:nowrap}
  .shell .planning-actions>.btn:nth-child(-n+2){grid-column:1/-1}
  .shell .planning-actions>.plan-state{grid-column:1/-1;justify-self:start}
  .shell .segmented.compact button{white-space:nowrap}
  .shell .plan-notice{flex-wrap:wrap}
  .shell .table-wrap:has(table[data-stack]){overflow:visible;background:transparent;border:0;box-shadow:none}
  .shell table[data-stack]{display:block;width:100%;min-width:0}
  .shell table[data-stack] thead{display:none}
  .shell table[data-stack] tbody{display:grid;gap:10px}
  .shell table[data-stack] tr{display:grid;gap:8px;padding:14px;border:1px solid var(--p-line);border-radius:14px;background:var(--p-surface);box-shadow:var(--p-sh-1)}
  .shell table[data-stack] td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:0;border:0;align-items:start;min-width:0;overflow-wrap:anywhere}
  .shell table[data-stack] td::before{content:attr(data-label);font-size:11.5px;font-weight:650;color:var(--p-ink-3);text-transform:uppercase;letter-spacing:.05em;padding-top:3px}
  .shell table[data-stack] td:first-child{grid-template-columns:minmax(0,1fr)}
  .shell table[data-stack] td:first-child::before,.shell table[data-stack] td[data-label=""]::before{display:none}
  .shell table[data-stack] td[data-label=""]{grid-template-columns:minmax(0,1fr)}
  .shell table[data-stack] td[colspan]{display:block}
}
.employee-app .employee-notif{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--p-line,#e6e9ee);cursor:pointer;font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 4px;transition:background .15s}
.employee-app .employee-notif:last-child{border-bottom:0}
.employee-app .employee-notif:hover{background:rgba(30,44,70,.04)}
.employee-app .employee-notif:focus-visible{outline:2px solid #3f5f86;outline-offset:-2px;border-radius:8px}
.employee-app .employee-notif.unread b{font-weight:700}
.employee-app .employee-notif small{color:#696b72;white-space:nowrap}
.shell .memory-grid>.ux-empty{grid-column:1/-1}
.modal .supplier-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:6px 0 14px}
.modal .supplier-kpis>div{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--p-line);border-radius:12px;background:var(--p-raised)}
.modal .supplier-kpis b{font-size:18px;letter-spacing:-.02em}
.modal .supplier-kpis span{font-size:12px;color:var(--p-ink-3)}
.modal .supplier-h{margin:14px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--p-ink-3)}
.employee-app .section-title .mini,.employee-app .section-title .btn{flex:none;white-space:nowrap}
.employee-app button:focus-visible,.employee-app a:focus-visible,.employee-app select:focus-visible{outline:2px solid #3f5f86;outline-offset:3px;border-radius:9px}
/* Tableaux plus larges que l'écran : une ombre discrète au bord indique qu'on peut faire défiler ; marges resserrées sur écrans moyens */
.shell .table-wrap{background-color:#fff;background-image:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)),linear-gradient(to left,#fff 30%,rgba(255,255,255,0)),radial-gradient(farthest-side at 0 50%,rgba(30,44,70,.16),rgba(30,44,70,0)),radial-gradient(farthest-side at 100% 50%,rgba(30,44,70,.16),rgba(30,44,70,0));background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:36px 100%,36px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}
@media(max-width:1500px){.shell .table th,.shell .table td{padding-left:11px;padding-right:11px}}
.shell .kpi-grid.action-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.shell .kpi-grid.finance-client-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
/* Messages : empilés sans se chevaucher, les erreurs restent plus longtemps et se distinguent */
#toast-root{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;justify-items:end;z-index:100;pointer-events:none;max-width:min(420px,calc(100vw - 32px))}
#toast-root .toast{position:static;pointer-events:auto;line-height:1.45}
#toast-root .toast.error{background:#fff;color:var(--p-neg);box-shadow:0 0 0 1px #efc6c2,var(--p-sh-3);border-left:4px solid var(--p-neg)}
@media(max-width:820px){#toast-root{bottom:78px;right:16px;left:16px;justify-items:stretch}}

/* ============ Écrans d'accès : connexion, création de compte, invitation, mot de passe, vérification ============
   Présentation seule : même HTML, mêmes formulaires, même logique. Ils reprennent les composants du manager :
   panneau graphite de la barre latérale, toile ardoise, carte blanche, champs, boutons et focus de l'application. */
.auth-shell{
  --a-canvas:#ecf0f5;--a-ink:#14161c;--a-ink-2:#424856;--a-ink-3:#696b72;--a-line:#dbe2e9;--a-line-2:#c5cfd7;
  --a-cu:#3f5f86;--a-cu-2:#6b8bb0;--a-cu-soft:#e8eef6;--a-cu-line:#c3d3e6;
  --a-pos:#1d7049;--a-pos-soft:#e8f3ec;--a-att:#8a5a0c;--a-att-soft:#fbf1dc;--a-neg:#b0302b;--a-neg-soft:#fbeceb;
  --a-sh:0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(30,44,70,.05),0 2px 4px rgba(30,44,70,.05),0 14px 28px -12px rgba(30,44,70,.18),0 32px 64px -32px rgba(30,44,70,.2);
  --a-ease:cubic-bezier(.2,.8,.2,1);
  grid-template-columns:minmax(380px,5fr) minmax(460px,6fr);min-height:100vh;min-height:100svh;
  background:var(--a-canvas);color:var(--a-ink);font-feature-settings:'cv11','ss03';-webkit-font-smoothing:antialiased
}
.auth-shell ::selection{background:#d9e4f1}

/* panneau de marque : le graphite de la barre latérale, sans effet */
.auth-shell .auth-brand{position:sticky;top:0;align-self:start;height:100vh;height:100svh;overflow:hidden;padding:40px 52px 34px;background:radial-gradient(420px 280px at 0 0,rgba(107,139,176,.15),transparent 70%),linear-gradient(180deg,#171c27,#0d1017 85%);border-right:1px solid #242a38;box-shadow:inset -1px 0 0 rgba(255,255,255,.035)}
.auth-shell .brand-mark{gap:12px;font-size:21px;font-weight:700;letter-spacing:-.04em;color:#f4f6fa}
.auth-shell .brand-logo{position:relative;width:34px;height:34px;border-radius:10px;background:linear-gradient(160deg,#fff,#dfe6ed);color:#14161c;font-size:16px;font-weight:800;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 6px 14px -4px rgba(0,0,0,.55),inset 0 -2px 4px rgba(22,23,26,.08)}
.auth-shell .brand-logo:after{content:'';position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--a-cu-2);border:2px solid #171c27}
.auth-shell .auth-brand h1{max-width:500px;margin:64px 0 14px;font-size:clamp(30px,2.5vw,38px);line-height:1.1;letter-spacing:-.045em;font-weight:700;color:#f4f6fa;text-wrap:balance}
.auth-shell .auth-brand p{max-width:470px;margin:0;font-size:15px;line-height:1.6;color:#a4adc0}
.auth-shell .auth-features{grid-template-columns:1fr;gap:2px;max-width:470px;margin-top:34px}
.auth-shell .auth-feature{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:14px;align-items:start;padding:12px 0;background:none;border:0;border-top:1px solid rgba(255,255,255,.07);border-radius:0}
.auth-shell .auth-feature:first-child{border-top:0}
.auth-shell .auth-feature b{grid-column:2;margin:0 0 3px;font-size:14px;font-weight:620;letter-spacing:-.01em;color:#eef1f6}
.auth-shell .auth-feature span:not(.auth-ic){grid-column:2;font-size:13px;line-height:1.5;color:#8f98ab}
.auth-shell .auth-ic{grid-row:1/3;grid-column:1;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#c9d4e3}
.auth-shell .auth-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-shell .auth-foot{display:flex;align-items:center;gap:8px;font-size:12px;color:#6f788c}
.auth-shell .auth-foot:before,.auth-shell .auth-bottom:before{content:'';width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat}

/* zone du formulaire : la toile du manager, une carte blanche */
.auth-shell .auth-main{align-content:center;padding:48px 40px;background:radial-gradient(900px 380px at 82% -90px,rgba(255,255,255,.9),rgba(238,241,246,0) 70%),var(--a-canvas)}
.auth-shell .auth-top,.auth-shell .auth-bottom{display:none}
.auth-shell .auth-card{position:relative;width:min(440px,100%);padding:36px 36px 30px;border-radius:22px;background:#fff;box-shadow:var(--a-sh);animation:a-in .5s var(--a-ease) both}
.auth-shell .auth-card:before{content:"";position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(107,139,176,.55),transparent)}
@keyframes a-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.auth-shell .auth-card h2{margin:0 0 6px;font-size:25px;line-height:1.15;font-weight:700;letter-spacing:-.04em;color:var(--a-ink)}
.auth-shell .auth-card h2+form,.auth-shell .auth-card h2+.callout{margin-top:20px}
.auth-shell .auth-card>p{margin:0 0 24px;font-size:14px;line-height:1.55;color:var(--a-ink-3)}
.auth-shell .auth-card>p b{color:var(--a-ink);font-weight:620}
.auth-shell #invite-loading{font-weight:550;color:var(--a-ink-2)}

/* connexion / création : le sélecteur d'onglets de l'application */
.auth-shell .segmented{margin:0 0 22px;padding:4px;background:#dfe6ec;border:1px solid #cdd8e0;border-radius:12px;box-shadow:inset 0 1px 2px rgba(30,44,70,.08)}
.auth-shell .segmented button{padding:9px 10px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;color:#5f666e;white-space:nowrap;cursor:pointer;transition:background .2s var(--a-ease),color .2s,box-shadow .2s}
.auth-shell .segmented button:hover:not(.active){color:var(--a-ink)}
.auth-shell .segmented button.active{background:#fff;color:var(--a-ink);box-shadow:0 1px 2px rgba(30,44,70,.16),0 6px 14px -8px rgba(30,44,70,.35)}

/* champs */
.auth-shell .field{gap:7px;margin:0 0 14px}
.auth-shell .field label{font-size:12px;font-weight:650;letter-spacing:.08em;color:#646b73}
.auth-shell input:not([type=checkbox]),.auth-shell select{height:46px;padding:0 14px;border:1px solid var(--a-line-2);border-radius:11px;background:#fff;font:inherit;font-size:15px;color:var(--a-ink);box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s,background .2s}
.auth-shell input::placeholder{color:#9aa2ad}
.auth-shell input:not([type=checkbox]):hover,.auth-shell select:hover{border-color:#aab6c1}
.auth-shell input:not([type=checkbox]):focus,.auth-shell select:focus{border-color:var(--a-ink);box-shadow:0 0 0 4px rgba(22,23,26,.08);outline:none}
.auth-shell input:disabled{background:#f3f6f9;color:var(--a-ink-3);border-color:var(--a-line);box-shadow:none}
.auth-shell input:user-invalid,.auth-shell select:user-invalid{border-color:var(--a-neg);box-shadow:0 0 0 4px rgba(176,48,43,.08)}
.auth-shell .grid2{gap:12px}
.auth-shell .grid2 .field{margin-bottom:14px}

/* boutons : ceux de l'application, avec un état d'envoi discret */
.auth-shell .btn{height:46px;border-radius:11px;font:inherit;text-decoration:none;font-size:14px;font-weight:620;letter-spacing:-.005em;cursor:pointer;transition:background .2s,box-shadow .2s,transform .12s var(--a-ease),border-color .2s}
.auth-shell .btn.primary:active:not(:disabled){transform:translateY(1px)}
.auth-shell .btn.secondary{background:#fff;border:1px solid var(--a-line-2);color:var(--a-ink);box-shadow:0 1px 2px rgba(30,44,70,.05)}
.auth-shell .btn.secondary:hover{border-color:#aab6c1;background:#fbfcfe}
.auth-shell .btn:focus-visible,.auth-shell .link-inline:focus-visible,.auth-shell .segmented button:focus-visible,.auth-shell a:focus-visible{outline:2px solid var(--a-ink);outline-offset:3px}
.auth-shell .btn:disabled{opacity:.6}
.auth-shell .btn[aria-busy=true],.modal .btn[aria-busy=true]{pointer-events:none}
.auth-shell .btn[aria-busy=true]:before,.modal .btn[aria-busy=true]:before{content:'';width:14px;height:14px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:a-spin .7s linear infinite}
@keyframes a-spin{to{transform:rotate(360deg)}}
.auth-shell .link-inline{display:block;margin:14px auto 0;padding:4px 6px;border-radius:6px;font-size:13px;font-weight:600;color:var(--a-ink-2);text-align:center}
.auth-shell .link-inline:hover{color:var(--a-ink);text-decoration:underline;text-underline-offset:3px}
.auth-shell .footer-note{margin-top:16px;font-size:12px;line-height:1.55;color:var(--a-ink-3);text-align:center;hyphens:manual}

/* messages et repères */
.auth-shell .callout{margin:0 0 18px;padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:#f6f8fb;font-size:13px;line-height:1.5;color:var(--a-ink-2)}
.auth-shell .callout strong{display:block;margin-bottom:2px;font-size:13px;color:var(--a-ink)}
.auth-shell .callout.success{background:var(--a-pos-soft);border-color:#cfe5d7;color:#285f48}
.auth-shell .callout.success strong{color:var(--a-pos)}
.auth-shell .callout.warn{background:var(--a-att-soft);border-color:#ecd9ab;color:var(--a-att)}
.auth-shell .callout.warn strong{color:var(--a-att)}
body:has(#app .auth-shell) .modal .callout{hyphens:manual}
body:has(#app .auth-shell) .modal .auth-success-icon{width:46px;height:46px;margin-bottom:16px;border-radius:13px;background:#e8eef6;color:#3f5f86;box-shadow:inset 0 0 0 1px #c3d3e6;font-size:18px}
.auth-shell .auth-success-icon{width:46px;height:46px;margin-bottom:18px;border-radius:13px;background:var(--a-cu-soft);color:var(--a-cu);box-shadow:inset 0 0 0 1px var(--a-cu-line);font-size:20px;font-weight:700}
.auth-shell .auth-path{gap:8px;margin:0 0 14px;padding:10px 12px;border-color:var(--a-line);background:#f6f8fb}
.auth-shell .auth-path span{gap:7px;font-size:12px;font-weight:550;color:var(--a-ink-3)}
.auth-shell .auth-path b{width:20px;height:20px;border-radius:6px;background:#fff;color:var(--a-ink);box-shadow:0 0 0 1px var(--a-line-2);font-size:12px}
.auth-shell .auth-path i{color:#a7afba}
.auth-shell .signup-trust{margin-bottom:18px;padding:12px 14px;border-color:var(--a-cu-line);background:var(--a-cu-soft)}
.auth-shell .signup-trust b{font-size:13px;color:var(--a-ink)}
.auth-shell .signup-trust span{font-size:12.5px;line-height:1.5;color:var(--a-ink-2)}
.auth-shell .legal-consent{gap:10px;margin:4px 0 18px;padding:12px 14px;border-color:var(--a-line);background:#f6f8fb;font-size:12.5px;color:var(--a-ink-2)}
.auth-shell .legal-consent input{width:16px;height:16px;margin-top:1px;accent-color:var(--a-ink)}
.auth-shell .legal-consent a{color:var(--a-ink);font-weight:620;text-decoration:underline;text-underline-offset:2px}

/* messages d’erreur sur ces écrans : les couleurs de la couche premium (définies dans l’application) y sont reprises */
#toast-root{--p-neg:#b0302b;--p-sh-3:0 0 0 1px rgba(10,16,32,.08),0 4px 8px rgba(10,16,32,.08),0 24px 48px -12px rgba(10,16,32,.26),0 56px 96px -40px rgba(10,16,32,.34)}
/* vérification administrateur (code à 6 chiffres) */
.modal input[autocomplete=one-time-code]{height:54px;font-size:22px;font-weight:600;letter-spacing:.42em;text-align:center;font-variant-numeric:tabular-nums}

/* téléphone : la marque passe au-dessus de la carte ; champs à 16 px pour qu'iOS n'agrandisse pas la page */
@media(max-width:820px){
  .auth-shell{grid-template-columns:minmax(0,1fr)}
  .auth-shell .auth-main{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;min-height:100svh;padding:22px 16px calc(24px + env(safe-area-inset-bottom))}
  .auth-shell .auth-top{display:flex;width:min(440px,100%);margin:6px 0 22px}
  .auth-shell .auth-top .brand-mark{color:var(--a-ink);font-size:19px}
  .auth-shell .auth-top .brand-logo{width:32px;height:32px;background:linear-gradient(180deg,#2a2f3b,#14161c);color:#fff;box-shadow:0 6px 14px -6px rgba(10,16,32,.55)}
  .auth-shell .auth-top .brand-logo:after{border-color:var(--a-canvas)}
  .auth-shell .auth-card{padding:28px 22px 24px;border-radius:20px}
  .auth-shell .auth-card h2{font-size:23px}
  .auth-shell .auth-bottom{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;font-size:12px;color:#7a818c}
  .auth-shell input:not([type=checkbox]),.auth-shell select,body:has(#app .auth-shell) .modal input,body:has(#app .auth-shell) .modal select{font-size:16px}
}
@media(max-width:520px){
  .auth-shell .auth-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible}
  .auth-shell .auth-path span{flex-direction:column;gap:6px;white-space:normal;line-height:1.3;text-align:center}
  .auth-shell .auth-path i{display:none}
}
@media(max-width:420px){.auth-shell .grid2{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.auth-shell .auth-card{animation:none}.auth-shell .btn[aria-busy=true]:before,.modal .btn[aria-busy=true]:before{animation-duration:2s}}

/* ============ Mise en route : guide du Manager après la configuration initiale (setup-guide.js) ============
   Carte en tête d'Aujourd'hui, raccourci dans la barre latérale, accueil affiché une fois. Présentation seule. */
.shell .sg{position:relative;margin:0 0 18px;padding:24px 26px 10px;border-radius:22px;background:radial-gradient(520px 200px at 100% 0,rgba(107,139,176,.08),transparent 70%),linear-gradient(180deg,#fff,#fbfcfe);box-shadow:var(--p-sh-2);overflow:hidden;animation:p-rise .5s var(--p-ease) both;transition:opacity .32s var(--p-ease),transform .32s var(--p-ease)}
.shell .sg:before{content:'';position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(107,139,176,.55),transparent)}
.shell .sg.is-leaving{opacity:0;transform:translateY(-6px) scale(.99)}
.shell .sg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.shell .sg-head h2{margin:8px 0 6px;font-size:21px;line-height:1.2;font-weight:680;letter-spacing:-.035em;color:var(--p-ink)}
.shell .sg-head p{margin:0;max-width:60ch;font-size:13.5px;line-height:1.5;color:var(--p-ink-3)}
.shell .sg-meter{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.shell .sg-ring-wrap{position:relative;width:48px;height:48px;display:grid;place-items:center}
.shell .sg-ring-wrap .sg-ring{position:absolute;inset:2px}
.shell .sg-ring-wrap span{position:relative;font-size:12px;font-weight:600;color:var(--p-ink-3);font-variant-numeric:tabular-nums}
.shell .sg-ring-wrap b{font-size:15px;font-weight:700;color:var(--p-ink)}
.shell .sg-ring{fill:none;stroke-width:3.5;stroke-linecap:round}
.shell .sg-ring-track{stroke:#e3e9ef}
.shell .sg-ring-value{stroke:var(--p-ink);transition:stroke-dashoffset .8s var(--p-ease)}
.shell .sg-hide{border:0;background:none;padding:4px 2px;font-size:12px;font-weight:550;color:var(--p-ink-3);cursor:pointer}
.shell .sg-hide:hover{color:var(--p-ink);text-decoration:underline;text-underline-offset:3px}
.shell .sg-segs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin:20px 0 8px}
.shell .sg-segs i{height:4px;border-radius:4px;background:#e3e9ef;transition:background .5s var(--p-ease)}
.shell .sg-segs i.on{background:linear-gradient(90deg,#14161c,#434958)}
.shell .sg-segs i.later{background:repeating-linear-gradient(90deg,#c9d3dd 0 6px,transparent 6px 10px)}
.shell .sg-list{list-style:none;margin:0;padding:0}
.shell .sg-step{border-top:1px solid var(--p-line)}
.shell .sg-step:first-child{border-top:0}
.shell .sg-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 -8px;padding:14px 8px;width:calc(100% + 16px);border:0;border-radius:12px;background:none;text-align:left;cursor:pointer;transition:background .2s}
.shell .sg-row:hover{background:#f5f8fb}
.shell .sg-row:focus-visible{outline:2px solid var(--p-ink);outline-offset:-2px}
.shell .sg-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700;color:#8a929c;box-shadow:inset 0 0 0 1.5px #d3dbe3;transition:background .3s,box-shadow .3s,color .3s}
.shell .sg-mark svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.shell .sg-step.is-next .sg-mark{color:var(--p-ink);box-shadow:inset 0 0 0 1.5px var(--p-ink)}
.shell .sg-step.is-done .sg-mark{background:var(--p-ink);color:#fff;box-shadow:none}
.shell .sg-step.is-skipped .sg-mark,.shell .sg-step.is-soon .sg-mark{box-shadow:none;border:1.5px dashed #c9d3dd}
.shell .sg-step.just-done .sg-mark{animation:sg-pop .6s var(--p-ease) both}
.shell .sg-step.just-done .sg-mark path{stroke-dasharray:16;stroke-dashoffset:16;animation:sg-draw .5s .15s var(--p-ease) forwards}
@keyframes sg-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:none}}
@keyframes sg-draw{to{stroke-dashoffset:0}}
.shell .sg-text{display:grid;gap:2px;min-width:0}
.shell .sg-title{font-size:14.5px;font-weight:620;letter-spacing:-.01em;color:var(--p-ink)}
.shell .sg-step.is-done .sg-title{color:var(--p-ink-2);font-weight:560}
.shell .sg-meta{font-size:12.5px;color:var(--p-ink-3)}
.shell .sg-side-tags{display:flex;align-items:center;gap:10px}
.shell .sg-tag{padding:3px 9px;border-radius:999px;background:#eef2f6;color:#5f666e;font-size:12px;font-weight:600;white-space:nowrap}
.shell .sg-chev{width:8px;height:8px;border-right:1.5px solid #9aa3ad;border-bottom:1.5px solid #9aa3ad;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--p-ease)}
.shell .sg-step.is-open .sg-chev{transform:rotate(225deg) translate(-2px,-2px)}
.shell .sg-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--p-ease)}
.shell .sg-step.is-open .sg-body{grid-template-rows:1fr}
.shell .sg-body-in{overflow:hidden;padding-left:40px}
.shell .sg-why{margin:0 0 12px;max-width:62ch;font-size:13.5px;line-height:1.55;color:var(--p-ink-2)}
.shell .sg-note{margin:-4px 0 12px;font-size:12.5px;color:var(--p-ink-3)}
.shell .sg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:18px}
.shell .sg-later{border:0;background:none;padding:7px 8px;font-size:12.5px;font-weight:550;color:var(--p-ink-3);cursor:pointer}
.shell .sg-later:hover{color:var(--p-ink);text-decoration:underline;text-underline-offset:3px}
/* mise en route terminée */
.shell .sg-complete{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 26px}
.shell .sg-complete-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--p-ink);color:#fff;box-shadow:0 10px 20px -10px rgba(10,16,32,.5);animation:sg-pop .7s var(--p-ease) both}
.shell .sg-complete-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.shell .sg-complete-actions{display:flex;flex-direction:column;align-items:center;gap:2px}
.shell .sg-complete h2{margin:6px 0 4px;font-size:20px;font-weight:680;letter-spacing:-.035em;color:var(--p-ink)}
.shell .sg-complete p{margin:0;font-size:13.5px;line-height:1.5;color:var(--p-ink-3)}
/* raccourci de la barre latérale */
.shell .sg-sidebar{display:flex;align-items:center;gap:11px;margin:8px 5px 10px;padding:10px 12px;border:0;border-radius:13px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#eef1f6;text-align:left;cursor:pointer;transition:background .2s}
.shell .sg-sidebar:hover{background:rgba(255,255,255,.08)}
.shell .sg-sidebar .sg-ring{flex:none;stroke-width:3.5}
.shell .sg-sidebar .sg-ring-track{stroke:rgba(255,255,255,.12)}
.shell .sg-sidebar .sg-ring-value{stroke:#9db8d6}
.shell .sg-sidebar span{display:grid;gap:1px;min-width:0}
.shell .sg-sidebar b{font-size:12.5px;font-weight:600}
.shell .sg-sidebar small{font-size:12px;color:#8b94a8}
/* accueil, une fois par établissement */
.sgw-back{background:rgba(236,240,245,.72);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}
.modal.sgw{width:min(480px,100%);padding:34px 34px 28px;border-radius:26px;background:radial-gradient(420px 180px at 100% 0,rgba(107,139,176,.12),transparent 70%),#fff;box-shadow:0 0 0 1px rgba(10,16,32,.06),0 30px 80px -24px rgba(10,16,32,.35)}
.sgw-brand{margin-bottom:22px}
.sgw .brand-logo{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#262b37,#0d1017);color:#fff;font-size:18px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 20px -10px rgba(10,16,32,.6)}
.sgw .brand-logo:after{content:'';position:absolute;right:-4px;top:-4px;width:11px;height:11px;border-radius:50%;background:#6b8bb0;border:2.5px solid #fff;animation:sg-dot 2.4s ease-in-out infinite}
@keyframes sg-dot{0%,100%{box-shadow:0 0 0 0 rgba(107,139,176,.45)}50%{box-shadow:0 0 0 6px rgba(107,139,176,0)}}
.sgw .eyebrow{display:block;font-size:12px;font-weight:650;letter-spacing:.13em;color:#696b72}
.sgw h2{margin:8px 0 8px;font-size:30px;line-height:1.08;font-weight:700;letter-spacing:-.045em;color:#14161c}
.modal.sgw .sgw-lead{margin:0 0 22px;font-size:15px;line-height:1.55;color:#424856}
.sgw-group{margin-bottom:16px}
.sgw-group>small{display:block;margin-bottom:6px;font-size:11.5px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#8a929c}
.sgw-group ul{list-style:none;margin:0;padding:4px 14px;border-radius:16px;background:#f6f8fb;box-shadow:inset 0 0 0 1px #e3e9ef}
.sgw-group li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #e3e9ef;opacity:0;animation:p-rise .45s calc(.25s + var(--i) * .09s) var(--p-ease,cubic-bezier(.2,.8,.2,1)) forwards}
.sgw-group li:first-child{border-top:0}
.sgw-group li>span:last-child{display:grid;gap:1px}
.sgw-group b{font-size:14px;font-weight:600;color:#14161c}
.sgw-group li small{font-size:12px;color:#696b72}
.sgw-mark{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #c9d3dd}
.sgw-group li.done .sgw-mark{background:#14161c;box-shadow:none;color:#fff}
.sgw-mark svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sgw-actions{display:grid;gap:6px;margin-top:24px}
.sgw-actions .btn{width:100%;height:46px;padding:0 18px;font-size:14px;justify-content:center}
.sgw-actions .btn.ghost{height:40px;font-size:13.5px;color:#696b72}
.sgw-actions .btn.ghost:hover{color:#14161c}
@media(max-width:820px){
  .shell .sg{padding:20px 18px 6px;border-radius:20px}
  .shell .sg-head{gap:14px}
  .shell .sg-head h2{font-size:19px}
  .shell .sg-head p{display:none}
  .shell .sg-body-in{padding-left:0}
  .shell .sg-actions .btn{flex:1 1 100%;justify-content:center}
  .shell .sg-actions .sg-later{margin:0 auto}
  .shell .sg-complete{grid-template-columns:auto minmax(0,1fr);padding:20px 18px}
  .shell .sg-complete-actions{grid-column:1/-1}
  .shell .sg-complete-actions .btn{width:100%}
  .modal.sgw{padding:28px 22px 22px}
  .sgw h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.shell .sg,.shell .sg-step.just-done .sg-mark,.shell .sg-complete-mark,.sgw .brand-logo:after{animation:none}.shell .sg-step.just-done .sg-mark path{animation:none;stroke-dashoffset:0}.sgw-group li{animation:none;opacity:1}.shell .sg-body{transition:none}}

/* ============ Configuration de l'établissement (onboarding-wizard.js) : même univers que le Manager ============ */
.obx{--ink:#14161c;--ink-2:#424856;--ink-3:#696b72;--line:#dbe2e9;--field:#d3dbe4;--cu:#3f5f86;--cu-2:#6b8bb0;--cu-soft:#e8eef6;--pos:#1d7049;--ease:cubic-bezier(.2,.8,.2,1);
  min-height:100vh;color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-feature-settings:'cv11','ss03';-webkit-font-smoothing:antialiased;
  background:radial-gradient(1100px 520px at 72% -160px,rgba(107,139,176,.18),transparent 70%),radial-gradient(700px 400px at -10% 110%,rgba(107,139,176,.08),transparent 70%),#ecf0f5}
.obx *{box-sizing:border-box}
.obx .brand-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(160deg,#2a3242,#0d1017);color:#fff;font:700 15px/1 'Inter',sans-serif;box-shadow:0 0 0 1px rgba(13,16,23,.12),0 6px 14px -6px rgba(13,16,23,.55)}
.obx-top{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr minmax(0,440px) 1fr;align-items:center;gap:24px;padding:16px 32px;background:rgba(236,240,245,.8);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(197,207,215,.55)}
.obx-brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:17px;letter-spacing:-.02em}
.obx-progress{display:grid;gap:8px;justify-items:center}
.obx-count{font-size:12.5px;color:var(--ink-3)}.obx-count b{color:var(--ink);font-weight:650}
.obx-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;width:100%}
.obx-bars i{height:4px;border-radius:99px;background:#d3dbe4;position:relative;overflow:hidden}
.obx-bars i.done{background:var(--ink)}
.obx-bars i.on::after{content:'';position:absolute;inset:0;width:50%;border-radius:inherit;background:var(--ink);animation:obx-bar .7s var(--ease) both}
.obx-saved{justify-self:end;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3)}
.obx-saved svg{width:15px;height:15px;fill:none;stroke:var(--pos);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.obx-saved.is-error{color:#b0302b}.obx-saved.is-error svg{stroke:#b0302b}
.obx-grid{max-width:1180px;margin:0 auto;padding:52px 32px 96px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.obx-main{max-width:660px;width:100%}
.obx-kicker{display:inline-block;font-size:11.5px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--cu)}
.obx h1{margin:10px 0 10px;font-size:clamp(28px,3.1vw,38px);line-height:1.08;font-weight:650;letter-spacing:-.035em;outline:none}
.obx-lead{margin:0 0 32px;max-width:560px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.obx-fields{display:grid;gap:28px}
.obx-set{border:0;margin:0;padding:0;min-width:0}
.obx-set legend,.obx-field>label{display:block;padding:0;margin:0 0 12px;font-size:13.5px;font-weight:650;color:var(--ink)}
.obx-set legend em,.obx-field>label em{font-style:normal;font-weight:450;color:var(--ink-3);margin-left:6px}
.obx-field>small,.obx-hint{display:block;margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--ink-3)}
.obx input[type=text],.obx input[type=number],.obx input[type=email],.obx input[type=time],.obx input:not([type]),.obx select,.obx textarea{width:100%;height:46px;padding:0 14px;border:1px solid var(--field);border-radius:12px;background:#fff;color:var(--ink);font:450 15px/1.2 'Inter',sans-serif;box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none}
.obx select{padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%23696b72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/12px no-repeat}
.obx textarea{height:auto;min-height:92px;padding:12px 14px;line-height:1.5;resize:vertical}
.obx input:focus,.obx select:focus,.obx textarea:focus,.obx-suffix:focus-within{border-color:#8aa3c2;box-shadow:0 0 0 4px rgba(107,139,176,.18)}
.obx ::placeholder{color:#a3abb8}
.obx-suffix{display:flex;align-items:center;border:1px solid var(--field);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s}
.obx .obx-suffix input{border:0;box-shadow:none;background:transparent;flex:1;min-width:0;height:44px}
.obx .obx-suffix input:focus{box-shadow:none}
.obx-suffix>span{padding:0 14px 0 4px;color:var(--ink-3);font-size:13.5px;white-space:nowrap}
.obx-narrow{max-width:280px}
/* cases et boutons radio dessinés, champ natif conservé pour le clavier et les lecteurs d'écran */
.obx-tile input,.obx-chip input,.obx-day input,.obx-option input,.obx-mode input,.obx-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.obx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:10px}
.obx-tile{position:relative;display:block;cursor:pointer}
.obx-tile>span{display:block;height:100%;min-height:72px;padding:14px 16px;border:1px solid var(--field);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.obx-tile b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.obx-tile small{display:block;margin-top:3px;font-size:12.5px;color:var(--ink-3)}
.obx-tile:hover>span,.obx-option:hover .obx-option-in,.obx-mode:hover .obx-mode-in{border-color:#b6c3d2;transform:translateY(-1px)}
.obx-tile input:checked+span,.obx-option input:checked+.obx-option-in,.obx-mode input:checked+.obx-mode-in{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),0 10px 24px -14px rgba(20,22,28,.45)}
.obx-tile input:checked+span::after{content:'';position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.2 8.3 2.4 2.4 5.2-5.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;animation:obx-pop .3s var(--ease)}
.obx input:focus-visible+span,.obx input:focus-visible+.obx-option-in,.obx input:focus-visible+.obx-mode-in,.obx input:focus-visible+.obx-switch-ui{outline:2px solid var(--cu-2);outline-offset:3px}
.obx-chips{display:flex;flex-wrap:wrap;gap:8px}
.obx-chip{cursor:pointer;position:relative}
.obx-chip>span{display:inline-flex;align-items:center;gap:0;height:40px;padding:0 16px;border:1px solid var(--field);border-radius:999px;background:#fff;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s,gap .2s}
.obx-chip svg{width:0;height:14px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:width .2s var(--ease)}
.obx-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff;gap:7px}
.obx-chip input:checked+span svg{width:14px}
.obx-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.obx-day{cursor:pointer;position:relative}
.obx-day>span{display:grid;place-items:center;height:52px;border:1px solid var(--field);border-radius:12px;background:#fff;font-size:14px;font-weight:600;color:var(--ink-2);transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.obx-day:hover>span{border-color:#b6c3d2}
.obx-day input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.obx-day input:active+span{transform:scale(.96)}
.obx-services{display:grid;gap:10px}
.obx-service{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 16px;border:1px solid var(--field);border-radius:14px;background:#fff}
.obx-service .obx-times{transition:opacity .2s}
.obx-service.is-off{background:rgba(255,255,255,.55)}
.obx-service.is-off .obx-times{opacity:.35;pointer-events:none}
.obx-switch{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative}
.obx-switch b{font-size:14.5px;font-weight:600}
.obx-switch-ui{position:relative;flex:none;width:38px;height:22px;border-radius:99px;background:#cfd8e2;transition:background .2s}
.obx-switch-ui::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(13,16,23,.25);transition:transform .25s var(--ease)}
.obx-switch input:checked+.obx-switch-ui{background:var(--ink)}
.obx-switch input:checked+.obx-switch-ui::after{transform:translateX(16px)}
.obx-times{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px}
.obx .obx-times input{width:112px;height:40px;border-radius:10px}
.obx-team-head{display:grid;grid-template-columns:34px minmax(0,1.4fr) minmax(0,1fr) 124px minmax(0,1.3fr) 32px;gap:8px;padding:0 9px 2px;font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.obx-team{display:grid;gap:8px}
.obx-person{display:grid;grid-template-columns:34px minmax(0,1.4fr) minmax(0,1fr) 124px minmax(0,1.3fr) 32px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);animation:obx-row .35s var(--ease) both}
.obx .obx-person input,.obx .obx-person select{height:40px;border-radius:10px;font-size:14px}
.obx .obx-person .obx-suffix{border-radius:10px}.obx .obx-person .obx-suffix input{height:38px}
.obx-person .obx-suffix>span{font-size:12px;padding-right:10px}
/* champs numériques : sans les flèches du navigateur, qui se collaient au chiffre (Safari) ; la saisie au clavier reste identique */
.obx input[type=number]{-moz-appearance:textfield;appearance:textfield}
.obx input[type=number]::-webkit-inner-spin-button,.obx input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}
.obx .obx-p-hours input{padding-right:4px;font-variant-numeric:tabular-nums}
.obx-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cu-soft);color:var(--cu);font-size:12px;font-weight:650}
.obx-remove{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--ink-3);font-size:18px;cursor:pointer}
.obx-remove:hover{background:#f1f4f8;color:var(--ink)}
.obx-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border:1px dashed #b6c3d2;border-radius:12px;background:transparent;color:var(--ink-2);font:600 14px 'Inter',sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.obx-add:hover{background:#fff;border-color:var(--ink-3)}
.obx-empty{display:grid;gap:4px;padding:22px;border:1px dashed #c5cfd7;border-radius:14px;text-align:center;font-size:13.5px;color:var(--ink-3)}
.obx-empty b{color:var(--ink);font-weight:600}
.obx-note{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:13px;line-height:1.45;color:var(--ink-3)}
.obx-note svg{flex:none;width:16px;height:16px;margin-top:1px;fill:none;stroke:var(--pos);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.obx-options{display:grid;gap:10px}
.obx-option{cursor:pointer;position:relative;display:block}
.obx-option-in{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--field);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.obx-option-text b,.obx-bank b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.obx-option-text b i,.obx-bank b i,.obx-mode b i{font-style:normal;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--cu-soft);color:var(--cu);margin-left:6px;vertical-align:2px}
.obx-option-text small,.obx-bank small{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--ink-3)}
.obx-radio{width:20px;height:20px;border-radius:50%;border:1.5px solid #b6c3d2;background:#fff;transition:border .2s var(--ease)}
.obx input:checked+.obx-option-in .obx-radio,.obx input:checked+.obx-mode-in .obx-radio{border:6px solid var(--ink)}
.obx-glyph{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eef2f7;color:var(--ink-2)}
.obx-glyph::before{content:'';width:22px;height:22px;background:currentColor;-webkit-mask:var(--g) center/contain no-repeat;mask:var(--g) center/contain no-repeat}
.obx-g-sumup{--g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2.5' width='12' height='19' rx='2.6'/%3E%3Crect x='8.6' y='5.2' width='6.8' height='4' rx='1'/%3E%3Cpath d='M9.2 13h.01M12 13h.01M14.8 13h.01M9.2 16.2h.01M12 16.2h.01M14.8 16.2h.01'/%3E%3C/svg%3E")}
.obx-g-other{--g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6M9 15.5h3'/%3E%3C/svg%3E")}
.obx-g-none{--g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13.5 6.5l4 4'/%3E%3C/svg%3E")}
.obx-g-bank{--g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-6 9 6'/%3E%3Cpath d='M5.5 10v7.5M10 10v7.5M14 10v7.5M18.5 10v7.5M3 20.5h18'/%3E%3C/svg%3E")}
.obx input:checked+.obx-option-in .obx-glyph{background:var(--ink);color:#fff}
.obx-bank{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:center;padding:14px 18px;border:1px dashed #c5cfd7;border-radius:16px;background:rgba(255,255,255,.5)}
.obx-bank b i{background:#fbf1dc;color:#8a5a0c}.obx-bank b i.is-open{background:#e8f3ec;color:var(--pos)}
.obx-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.obx-ratios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.obx-ratio{display:block;padding:14px;border:1px solid var(--field);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);cursor:text}
.obx-ratio>span:first-child{display:block;font-size:13px;font-weight:600}
.obx-ratio .obx-suffix{margin-top:10px}
.obx-ratio small{display:block;margin-top:7px;font-size:12px;color:var(--ink-3)}
.obx-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.obx-mode{cursor:pointer;position:relative;display:block}
.obx-mode-in{display:block;height:100%;padding:16px;border:1px solid var(--field);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.04);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.obx-mode-in .obx-radio{display:block}
.obx-mode b{display:block;margin-top:14px;font-size:15px;font-weight:600}
.obx-mode small{display:block;margin-top:6px;font-size:13px;line-height:1.45;color:var(--ink-3)}
.obx-perms{padding:6px 16px 4px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.6)}
.obx-perms>small{display:block;padding:10px 0 4px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.obx-perms>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e3e8ee;font-size:14px}
.obx-perms>small+div{border-top:0}
.obx-perm{flex:none;font-style:normal;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;animation:obx-pop .3s var(--ease)}
.obx-perm.auto{background:#e8f3ec;color:var(--pos)}.obx-perm.ask{background:var(--cu-soft);color:var(--cu)}
.obx-summary{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px rgba(30,44,70,.03),0 8px 22px -12px rgba(30,44,70,.16)}
.obx-sum-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid #e8edf2;animation:obx-row .4s var(--ease) both}
.obx-sum-row:first-child{border-top:0}
.obx-sum-row:nth-child(2){animation-delay:.04s}.obx-sum-row:nth-child(3){animation-delay:.08s}.obx-sum-row:nth-child(4){animation-delay:.12s}.obx-sum-row:nth-child(5){animation-delay:.16s}.obx-sum-row:nth-child(6){animation-delay:.2s}
.obx-sum-k{font-size:12.5px;font-weight:600;color:var(--ink-3)}
.obx-sum-v b{display:block;font-size:14.5px;font-weight:600}
.obx-sum-v small{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3)}
.obx-edit{border:0;background:none;padding:6px 4px;font:600 13px 'Inter',sans-serif;color:var(--cu);cursor:pointer}
.obx-edit:hover{text-decoration:underline}
.obx-after{padding:20px;border-radius:18px;color:#fff;background:radial-gradient(420px 200px at 90% 0,rgba(107,139,176,.28),transparent 70%),linear-gradient(160deg,#1a202c,#0d1017);box-shadow:0 18px 40px -22px rgba(13,16,23,.7)}
.obx-after b{font-size:14.5px;font-weight:600}
.obx-after ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.obx-after li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:#c9d1df}
.obx-after li span{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:600}
.obx-error{margin:20px 0 0;padding:11px 14px;border-radius:12px;background:#fbeceb;color:#b0302b;font-size:13.5px;font-weight:500;animation:obx-shake .35s}
.obx-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.obx-back{border:0;background:none;padding:12px 8px;font:600 14px 'Inter',sans-serif;color:var(--ink-2);cursor:pointer;border-radius:10px}
.obx-back:hover{color:var(--ink);background:rgba(255,255,255,.6)}
.obx .btn.primary.obx-next{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:0;border-radius:12px;background:linear-gradient(180deg,#2c323e,#14161c);color:#fff;font:600 15px 'Inter',sans-serif;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 10px 22px -10px rgba(20,22,28,.6);transition:transform .2s var(--ease),box-shadow .2s}
.obx .btn.primary.obx-next:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 14px 26px -10px rgba(20,22,28,.6)}
.obx .btn.primary.obx-next span{transition:transform .2s var(--ease)}
.obx .btn.primary.obx-next:hover span{transform:translateX(3px)}
.obx .btn.primary.obx-next:disabled{opacity:.6;cursor:progress;transform:none}
.obx-preview{position:sticky;top:104px}
.obx-pv{padding:18px;border-radius:22px;background:#fff;box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(30,44,70,.05),0 2px 4px rgba(30,44,70,.05),0 14px 28px -12px rgba(30,44,70,.18),0 32px 64px -32px rgba(30,44,70,.2)}
.obx-pv-head{display:flex;align-items:center;gap:12px;padding:0 4px 14px;margin-bottom:6px;border-bottom:1px solid #e8edf2}
.obx-pv-head .brand-logo{width:36px;height:36px;border-radius:11px;font-size:16px}
.obx-pv-head b{display:block;font-size:15px;font-weight:650;letter-spacing:-.01em}
.obx-pv-head small{display:block;margin-top:1px;font-size:12.5px;color:var(--ink-3)}
.obx-pv-sec{padding:11px 12px;margin:2px -2px;border-radius:12px;transition:background .3s,opacity .3s,box-shadow .3s}
.obx-pv-sec>small{display:block;margin-bottom:7px;font-size:11.5px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.obx-pv-sec.is-cur{background:#f3f6fa;box-shadow:inset 2px 0 0 var(--cu-2)}
.obx-pv-sec.is-later{opacity:.42}
.obx-pv-tags{display:flex;flex-wrap:wrap;gap:5px}
.obx-pv-tags span{font-size:12px;padding:3px 9px;border-radius:99px;background:#eef2f7;color:var(--ink-2);animation:obx-pop .3s var(--ease)}
.obx-pv em{font-style:normal;color:var(--ink-3)}
.obx-pv-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.obx-pv-week span{display:grid;place-items:center;height:26px;border-radius:7px;background:#eef2f7;color:#9aa3b0;font-size:12px;font-weight:650;transition:background .25s,color .25s}
.obx-pv-week span.on{background:var(--ink);color:#fff}
.obx-pv-line{margin-top:6px;font-size:13px;color:var(--ink-2)}
.obx-pv-team{display:flex}
.obx-pv-team span{display:grid;place-items:center;width:28px;height:28px;margin-left:-6px;border-radius:50%;border:2px solid #fff;background:var(--cu-soft);color:var(--cu);font-size:12px;font-weight:650;animation:obx-pop .3s var(--ease)}
.obx-pv-team span:first-child{margin-left:0}
.obx-pv-src{display:grid;gap:7px}
.obx-pv-src span{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}
.obx-pv-src span.on{color:var(--ink);font-weight:550}
.obx-pv-src em{margin-left:auto;font-size:12px}
.obx-pv-src .obx-glyph{width:24px;height:24px;border-radius:7px}
.obx-pv-src .obx-glyph::before{width:14px;height:14px}
.obx-pv-src span.on .obx-glyph{background:var(--ink);color:#fff}
.obx-pv-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:12px;color:var(--ink-3)}
.obx-pv-foot::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cu-2);box-shadow:0 0 0 0 rgba(107,139,176,.5);animation:obx-live 2s infinite}
.obx-in{animation:obx-up .45s var(--ease) both}
.obx-in-fwd{animation:obx-fwd .45s var(--ease) both}
.obx-in-back{animation:obx-back .45s var(--ease) both}
/* L'entrée latérale d'une étape ne doit pas élargir la page sur téléphone : le pied fixe suivait cette largeur et se décalait. */
.obx{overflow-x:clip}
@keyframes obx-up{from{opacity:0;transform:translateY(10px)}}
@keyframes obx-fwd{from{opacity:0;transform:translateX(22px)}}
@keyframes obx-back{from{opacity:0;transform:translateX(-22px)}}
@keyframes obx-row{from{opacity:0;transform:translateY(6px)}}
@keyframes obx-pop{from{opacity:0;transform:scale(.85)}}
@keyframes obx-bar{from{width:0}}
@keyframes obx-shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@keyframes obx-live{70%{box-shadow:0 0 0 7px rgba(107,139,176,0)}100%{box-shadow:0 0 0 0 rgba(107,139,176,0)}}
@media (max-width:1080px){
  .obx-grid{grid-template-columns:minmax(0,1fr);padding-top:40px}
  .obx-main{margin:0 auto}
  .obx-preview{display:none}
}
@media (max-width:640px){
  .obx-top{grid-template-columns:auto 1fr;gap:10px 14px;padding:12px 16px}
  .obx-progress{grid-column:1/-1;grid-row:2;justify-items:stretch}
  .obx-count{justify-self:end;grid-row:1}
  .obx-progress{display:contents}
  .obx-count{grid-column:2;grid-row:1;text-align:right}
  .obx-count-label{display:none}
  .obx-bars{grid-column:1/-1;grid-row:2}
  .obx-saved{display:none}
  .obx-grid{padding:26px 16px 120px}
  .obx h1{font-size:27px}
  .obx-lead{font-size:15px;margin-bottom:26px}
  .obx input[type=text],.obx input[type=number],.obx input[type=email],.obx input[type=time],.obx input:not([type]),.obx select,.obx textarea,.obx .obx-person input,.obx .obx-person select{font-size:16px}
  .obx-tiles{grid-template-columns:1fr 1fr}
  .obx-tile>span{min-height:0;padding:13px 14px}
  .obx-tile input:checked+span::after{top:10px;right:10px}
  .obx-days{gap:5px}.obx-day>span{height:46px;font-size:13px}
  .obx-service{flex-wrap:wrap}.obx-times{width:100%}.obx .obx-times input{flex:1;width:auto}
  .obx-team-head{display:none}
  .obx-person{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 32px;grid-template-areas:"av name name rm" ". role hours ." ". email email .";row-gap:8px}
  .obx-avatar{grid-area:av}.obx-p-name{grid-area:name}.obx-p-role{grid-area:role}.obx-p-hours{grid-area:hours}.obx-p-email{grid-area:email}.obx-remove{grid-area:rm}
  .obx-option-in{grid-template-columns:40px minmax(0,1fr) 20px;gap:12px;padding:14px}
  .obx-glyph{width:40px;height:40px}
  .obx-bank{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px}
  .obx-row2,.obx-modes{grid-template-columns:1fr}
  .obx-ratios{grid-template-columns:1fr}
  .obx-sum-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .obx-sum-k{grid-column:1/-1}
  .obx-foot{position:fixed;left:0;right:0;bottom:0;z-index:6;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(236,240,245,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(197,207,215,.6)}
  .obx .btn.primary.obx-next{flex:1}
}
@media (prefers-reduced-motion:reduce){
  .obx *,.obx *::before,.obx *::after{animation:none!important;transition:none!important}
}

/* ============ Mise en route, v2 : visite guidée, repère d'accompagnement, groupes d'étapes ============ */
.shell .sg-tour{display:flex;align-items:center;gap:14px;margin:18px 0 0;padding:12px 12px 12px 14px;border-radius:16px;background:linear-gradient(120deg,#171c27,#232a38);color:#fff;box-shadow:0 12px 26px -16px rgba(13,16,23,.65)}
.shell .sg-tour-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.12)}
.shell .sg-tour-mark svg{width:15px;height:15px;fill:#fff}
.shell .sg-tour-text{display:grid;gap:2px;min-width:0;flex:1}
.shell .sg-tour-text b{font-size:14px;font-weight:620}
.shell .sg-tour-text small{font-size:12.5px;color:#b5bfcf}
.shell .sg-tour .btn.primary{background:#fff;color:#14161c;box-shadow:none;flex:none}
.shell .sg-tour .btn.primary:hover{background:#eef2f7}
.shell .sg-tour.is-done{padding:8px 10px 8px 12px;background:#f3f6fa;color:var(--p-ink-2);box-shadow:inset 0 0 0 1px var(--p-line)}
.shell .sg-tour.is-done .sg-tour-mark{width:24px;height:24px;border-radius:50%;background:var(--p-ink)}
.shell .sg-tour.is-done .sg-tour-mark svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.shell .sg-tour.is-done b{font-size:13px;font-weight:560}
.shell .sg-group{margin-top:6px}
.shell .sg-group+.sg-group{margin-top:10px}
.shell .sg-group-title{display:block;margin:10px 0 2px;font-size:11.5px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#8a929c}
.shell .sg-group-title span{margin-left:6px;font-weight:500;letter-spacing:0;text-transform:none;color:#a1a8b2}
.sgw-actions .btn.primary{gap:9px}
.sgw-actions .btn svg{width:13px;height:13px;fill:currentColor;flex:none}
.sgw-actions .btn small{margin-left:4px;padding:2px 7px;border-radius:99px;background:rgba(255,255,255,.16);font-size:12px;font-weight:600}
/* visite guidée (hors .shell : ses propres valeurs) */
.gt{position:fixed;inset:0;z-index:1000;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity .28s ease}
.gt.is-on{opacity:1}
.gt-veil{position:absolute;inset:0}
.gt-shade{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(9,12,19,.6);pointer-events:none;transition:top .5s cubic-bezier(.2,.8,.2,1),left .5s cubic-bezier(.2,.8,.2,1),width .5s cubic-bezier(.2,.8,.2,1),height .5s cubic-bezier(.2,.8,.2,1)}
.gt-spot{position:fixed;top:50%;left:50%;width:0;height:0;border-radius:10px;pointer-events:none;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 0 7px rgba(107,139,176,.38);transition:top .5s cubic-bezier(.2,.8,.2,1),left .5s cubic-bezier(.2,.8,.2,1),width .5s cubic-bezier(.2,.8,.2,1),height .5s cubic-bezier(.2,.8,.2,1)}
.gt-spot::after{content:'';position:absolute;inset:-2px;border-radius:inherit;animation:gt-pulse 2.2s ease-out infinite}
.gt-pop{position:fixed;top:50%;left:50%;width:min(340px,calc(100vw - 24px));padding:16px 18px 14px;border-radius:18px;background:#fff;color:#14161c;box-shadow:0 0 0 1px rgba(10,16,32,.08),0 28px 60px -18px rgba(10,16,32,.6);transition:left .5s cubic-bezier(.2,.8,.2,1),top .5s cubic-bezier(.2,.8,.2,1)}
.gt-pop.gt-in>*:not(.gt-arrow){animation:gt-in .4s cubic-bezier(.2,.8,.2,1) both}
.gt-arrow{position:absolute;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px}
.gt-pop[data-side=right] .gt-arrow{left:-5px;top:calc(var(--ay) - 6px)}
.gt-pop[data-side=bottom] .gt-arrow{top:-5px;left:calc(var(--ax) - 6px)}
.gt-pop[data-side=top] .gt-arrow{bottom:-5px;left:calc(var(--ax) - 6px)}
.gt-pop[data-side=inside] .gt-arrow{display:none}
.gt-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gt-count{font-size:11.5px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:#3f5f86}
.gt-skip{border:0;background:none;padding:4px 2px;font:500 12.5px 'Inter',sans-serif;color:#696b72;cursor:pointer}
.gt-skip:hover{color:#14161c;text-decoration:underline;text-underline-offset:3px}
.gt-pop h3{margin:10px 0 6px;font-size:18px;line-height:1.2;font-weight:680;letter-spacing:-.03em}
.gt-pop p{margin:0;font-size:14px;line-height:1.55;color:#424856}
.gt-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.gt-dots{display:flex;gap:4px}
.gt-dots i{width:6px;height:6px;border-radius:99px;background:#d3dbe4;transition:width .3s,background .3s}
.gt-dots i.done{background:#9aa6b6}
.gt-dots i.on{width:18px;background:#14161c}
.gt-btns{display:flex;gap:8px;flex:none}
.gt .btn{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:0;border-radius:10px;font:600 13px 'Inter',sans-serif;cursor:pointer;transition:transform .2s,background .2s}
.gt .btn.primary{background:linear-gradient(180deg,#2c323e,#14161c);color:#fff;box-shadow:0 8px 18px -10px rgba(20,22,28,.6)}
.gt .btn.primary:hover{transform:translateY(-1px)}
.gt .btn.secondary{background:#f1f4f8;color:#14161c;box-shadow:inset 0 0 0 1px #dbe2e9}
.gt .btn:focus-visible,.gt-skip:focus-visible{outline:2px solid #6b8bb0;outline-offset:2px}
@keyframes gt-in{from{opacity:0;transform:translateY(5px)}}
@keyframes gt-pulse{0%{box-shadow:0 0 0 0 rgba(157,184,214,.55)}100%{box-shadow:0 0 0 14px rgba(157,184,214,0)}}
/* repère d'accompagnement sur l'écran ouvert depuis le guide */
.shell .gp{position:fixed;left:calc(var(--sidebar,248px) + 28px);bottom:22px;z-index:70;display:flex;align-items:center;gap:12px;width:min(540px,calc(100vw - var(--sidebar,248px) - 500px));min-width:min(420px,calc(100vw - var(--sidebar,248px) - 56px));padding:10px 10px 10px 12px;border-radius:16px;background:rgba(20,22,28,.95);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 22px 44px -18px rgba(10,16,32,.65);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:gp-in .5s var(--p-ease) both}
.shell .gp-ring{flex:none;display:grid}
.shell .gp .sg-ring{fill:none;stroke-width:3.5;stroke-linecap:round}
.shell .gp .sg-ring-track{stroke:rgba(255,255,255,.14)}
.shell .gp .sg-ring-value{stroke:#9db8d6}
.shell .gp-text{display:grid;gap:2px;min-width:0;flex:1}
.shell .gp-text b{font-size:13px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell .gp-text small{font-size:12.5px;line-height:1.4;color:#b9c2d0}
.shell .gp-actions{display:flex;align-items:center;gap:4px;flex:none}
.shell .gp .btn.small{height:32px;border-radius:9px;font-size:12.5px}
.shell .gp .btn.secondary{background:rgba(255,255,255,.1);color:#fff;border:0;box-shadow:none}
.shell .gp .btn.secondary:hover{background:rgba(255,255,255,.16)}
.shell .gp .btn.primary{background:#fff;color:#14161c;box-shadow:none}
.shell .gp-close{width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#9aa3b2;font-size:18px;line-height:1;cursor:pointer}
.shell .gp-close:hover{background:rgba(255,255,255,.08);color:#fff}
.shell .gp-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#2f7a55;animation:sg-pop .6s var(--p-ease) both}
.shell .gp-mark svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@keyframes gp-in{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media(max-width:820px){
  .shell .sg-tour{flex-wrap:wrap}
  .shell .sg-tour:not(.is-done) .btn.primary{width:100%;justify-content:center}
  .shell .gp{left:12px;right:12px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:10px}
  .shell .gp-text b{white-space:normal}
  .shell .gp-actions{width:100%;justify-content:flex-end}
  .gt-pop{width:calc(100vw - 24px)}
}
@media(prefers-reduced-motion:reduce){.gt,.gt-spot,.gt-pop,.gt-shade{transition:none}.gt-spot::after,.gt-pop.gt-in>*,.shell .gp,.shell .gp-mark{animation:none}}

/* ============ Finance : import des relevés bancaires et vérification des factures (finance-import-ui.js) ============ */
.modal.bix{width:min(980px,100%);max-height:min(90vh,920px);padding:0;display:flex;flex-direction:column;overflow:hidden}
.bix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--p-line)}
.bix-head .eyebrow{display:block;font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--p-cu)}
.bix-head h2{margin:6px 0 4px;font-size:22px;line-height:1.2;font-weight:680;letter-spacing:-.035em;color:var(--p-ink)}
.bix-head p{margin:0;max-width:62ch;font-size:13.5px;line-height:1.5;color:var(--p-ink-3)}
.bix-x{flex:none;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--p-ink-3);font-size:20px;line-height:1;cursor:pointer}
.bix-x:hover{background:#eef2f6;color:var(--p-ink)}
.bix-body{flex:1;min-height:0;overflow:auto;padding:20px 26px}
.bix-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 26px;border-top:1px solid var(--p-line);background:var(--p-raised)}
.bix-summary{margin-right:auto;font-size:13px;color:var(--p-ink-3)}.bix-summary b{color:var(--p-ink)}
.bix-drop{position:relative;display:grid;justify-items:center;gap:6px;padding:34px 20px;border:1.5px dashed #b9c6d4;border-radius:18px;background:linear-gradient(180deg,#fbfcfe,#f4f7fa);text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--p-ease)}
.bix-drop:hover,.bix-drop.is-over{border-color:var(--p-cu-2);background:#f1f5fa}
.bix-drop.is-over{transform:scale(1.01)}
.bix-drop input,.bix-camera input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bix-drop-icon{width:46px;height:46px;border-radius:14px;background:var(--p-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0-4.5 4.5M12 4l4.5 4.5'/%3E%3Cpath d='M4 15v3.5A1.5 1.5 0 0 0 5.5 20h13a1.5 1.5 0 0 0 1.5-1.5V15'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 10px 22px -10px rgba(20,22,28,.55);margin-bottom:6px}
.bix-drop b{font-size:15.5px;font-weight:620;color:var(--p-ink)}
.bix-drop span{font-size:13.5px;color:var(--p-ink-2)}.bix-drop u{text-underline-offset:3px}
.bix-drop small{margin-top:4px;font-size:12px;color:var(--p-ink-3)}
.bix-camera{position:relative;display:none;align-items:center;justify-content:center;gap:8px;margin-top:10px;height:44px;border:1px solid var(--p-line);border-radius:12px;background:#fff;font-size:14px;font-weight:600;color:var(--p-ink)}
.bix-file{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--p-line);border-radius:16px;background:#fff;box-shadow:var(--p-sh-1);animation:p-pop .25s var(--p-ease) both}
.bix-file-type{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--p-ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}
.bix-file-name{display:grid;gap:2px;min-width:0;flex:1}.bix-file-name b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bix-file-name small{font-size:12.5px;color:var(--p-ink-3)}
.bix-consent{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border:1px solid var(--p-cu-line);border-radius:14px;background:var(--p-cu-soft);font-size:13px;line-height:1.5;color:var(--p-ink-2);cursor:pointer}
.bix-consent input{margin-top:3px;width:16px;height:16px;accent-color:#14161c;flex:none}
.bix-consent b{display:block;margin-bottom:2px;color:var(--p-ink);font-weight:620}
.bix-body .callout{margin:14px 0 0}
.bix-promises{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}
.bix-promises li{position:relative;padding-left:24px;font-size:13px;line-height:1.5;color:var(--p-ink-3)}
.bix-promises li b{color:var(--p-ink-2);font-weight:600}
.bix-promises li::before{content:'';position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:#e8f3ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.4 8.3 2.3 2.3 4.9-5.1' fill='none' stroke='%231d7049' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.bix-help{margin-top:14px;font-size:13px;color:var(--p-ink-3)}
.bix-help summary{cursor:pointer;font-weight:600;color:var(--p-cu)}
.bix-help p{margin:8px 0 0;line-height:1.55}
.bix-error{margin:14px 0 0;padding:11px 14px;border-radius:12px;background:#fbeceb;color:#b0302b;font-size:13.5px;font-weight:500}
.bix-loading{display:grid;place-items:center;min-height:260px}
.bix-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.bix-steps li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--p-ink-2);opacity:0;animation:bix-step .4s calc(var(--i)*.7s) var(--p-ease) forwards}
.bix-steps span{width:18px;height:18px;border-radius:50%;border:2px solid #d3dbe4;border-top-color:var(--p-ink);animation:bix-spin .8s linear infinite}
@keyframes bix-step{to{opacity:1}}
@keyframes bix-spin{to{transform:rotate(360deg)}}
.bix-filters{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px}
.bix-filters button{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--p-line);border-radius:999px;background:#fff;font:550 12.5px 'Inter',sans-serif;color:var(--p-ink-2);cursor:pointer}
.bix-filters button span{min-width:18px;padding:1px 6px;border-radius:99px;background:#eef2f6;font-size:12px;font-weight:650;color:var(--p-ink-3)}
.bix-filters button.active{background:var(--p-ink);border-color:var(--p-ink);color:#fff}
.bix-filters button.active span{background:rgba(255,255,255,.18);color:#fff}
.bix-rows{display:grid;border:1px solid var(--p-line);border-radius:16px;overflow:hidden;background:#fff}
.bix-row{display:grid;grid-template-columns:28px 50px minmax(0,1fr) minmax(190px,250px) 110px;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid #edf1f5;transition:background .2s,opacity .2s}
.bix-row:first-child{border-top:0}
.bix-row.needs-review{background:linear-gradient(90deg,rgba(251,241,220,.7),transparent 40%)}
.bix-row.is-off{opacity:.55}
.bix-row.is-error{background:#fdf7f6}
.bix-check input{width:16px;height:16px;accent-color:#14161c;cursor:pointer}
.bix-date{font-size:12.5px;font-weight:600;color:var(--p-ink-3);font-variant-numeric:tabular-nums}
.bix-label{display:grid;gap:3px;min-width:0}
.bix-label b{font-size:13.5px;font-weight:560;color:var(--p-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bix-label small{font-size:12px;line-height:1.4;color:var(--p-ink-3)}
.bix-select{width:100%;height:34px;padding:0 28px 0 10px;border:1px solid var(--p-line);border-radius:9px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%23696b72' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") right 9px center/11px no-repeat;font:500 12.5px 'Inter',sans-serif;color:var(--p-ink);-webkit-appearance:none;appearance:none;text-overflow:ellipsis}
.bix-tag{display:inline-block;max-width:100%;padding:4px 9px;border-radius:10px;line-height:1.35;white-space:normal!important;background:#eef2f6;font-size:12px;font-weight:600;color:var(--p-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bix-tag.info{background:var(--p-cu-soft);color:var(--p-cu)}.bix-tag.bad{background:#fbeceb;color:#b0302b}
.bix-amount{text-align:right;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--p-ink)}
.bix-amount.credit{color:var(--p-pos)}
.bix-more{width:100%;height:42px;border:0;border-top:1px solid #edf1f5;background:#fafbfd;font:600 13px 'Inter',sans-serif;color:var(--p-cu);cursor:pointer}
.bix-done{position:relative;display:grid;justify-items:center;gap:10px;padding:40px 30px 30px;text-align:center}
.bix-done .bix-x{position:absolute;top:14px;right:14px}
.bix-done-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--p-ink);box-shadow:0 14px 28px -12px rgba(20,22,28,.6);animation:sg-pop .7s var(--p-ease) both}
.bix-done-mark svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bix-done h2{margin:8px 0 0;font-size:24px;font-weight:700;letter-spacing:-.04em;color:var(--p-ink)}
.bix-done>p{margin:0;max-width:52ch;font-size:14px;line-height:1.55;color:var(--p-ink-2)}
.bix-done-stats{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 0;padding:0}
.bix-done-stats li{display:grid;gap:2px;min-width:120px;padding:12px 14px;border:1px solid var(--p-line);border-radius:14px;background:#fff;font-size:12px;color:var(--p-ink-3)}
.bix-done-stats b{font-size:20px;font-weight:700;color:var(--p-ink)}
.bix-done-note{font-size:12.5px!important;color:var(--p-ink-3)!important}
.bix-done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}
/* statut de paiement d'une dépense */
.pay-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:99px;background:#fbf1dc;color:#8a5a0c;font-size:12px;font-style:normal;font-weight:650;vertical-align:1px}
.pay-pill.partial{background:var(--p-cu-soft);color:var(--p-cu)}
.ux-month-grid span .pay-due{color:#8a5a0c}
/* vérification d'une facture */
.modal.irv-modal{width:min(920px,100%)}
.irv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;margin-top:6px}
.irv-doc{position:sticky;top:0;align-self:start;display:grid;gap:10px;justify-items:start}
.irv-doc img{width:100%;max-height:62vh;object-fit:contain;border:1px solid var(--p-line);border-radius:14px;background:#f6f8fb}
.irv-pdf{display:grid;place-items:center;gap:8px;width:100%;aspect-ratio:3/4;border:1px solid var(--p-line);border-radius:14px;background:linear-gradient(180deg,#fbfcfe,#f1f4f8);text-align:center;padding:16px}
.irv-pdf span{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--p-ink);color:#fff;font-size:12px;font-weight:700}
.irv-pdf b{font-size:13px;color:var(--p-ink-2);word-break:break-word}
.irv-form{display:grid;gap:12px;align-content:start}
.irv-source{margin:0;padding:10px 12px;border-radius:12px;background:var(--p-cu-soft);font-size:12.5px;line-height:1.45;color:var(--p-cu)}
.irv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.irv-amounts{grid-template-columns:repeat(3,1fr)}
.irv-field{display:grid;gap:5px;margin:0}
.irv-field>span{font-size:12px;font-weight:600;color:var(--p-ink-2)}
.irv-field input,.irv-field select{width:100%;height:40px;padding:0 11px;border:1px solid var(--p-line);border-radius:10px;background:#fff;font:450 14px 'Inter',sans-serif;color:var(--p-ink)}
.irv-field input:focus,.irv-field select:focus{outline:none;border-color:#8aa3c2;box-shadow:0 0 0 3px rgba(107,139,176,.18)}
.irv-field input[type=number]{-moz-appearance:textfield;appearance:textfield}
.irv-field input[type=number]::-webkit-inner-spin-button,.irv-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.irv-check{min-height:16px;margin:-4px 0 0;font-size:12px;font-weight:550}
.irv-check.ok{color:var(--p-pos)}.irv-check.bad{color:#b0302b}
.irv-pay,.irv-match{margin:0;padding:12px 14px;border:1px solid var(--p-line);border-radius:14px;display:grid;gap:10px}
.irv-credit{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--p-ink-2);cursor:pointer}
.irv-credit input{margin:2px 0 0;width:16px;height:16px;flex:none;accent-color:#14161c}
.irv.is-credit .irv-pay,.irv.is-credit .irv-match{display:none}
.irv-pay legend,.irv-match legend{padding:0 6px;font-size:12px;font-weight:650;color:var(--p-ink-2)}
.irv-pay small{font-size:12px;line-height:1.45;color:var(--p-ink-3)}
.irv-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border-radius:11px;background:#eef2f6}
.irv-seg label{position:relative;cursor:pointer}
.irv-seg input{position:absolute;opacity:0;pointer-events:none}
.irv-seg span{display:grid;place-items:center;height:32px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--p-ink-3);text-align:center;transition:background .2s,color .2s}
.irv-seg input:checked+span{background:#fff;color:var(--p-ink);box-shadow:0 1px 3px rgba(20,30,50,.12)}
.irv-seg input:focus-visible+span{outline:2px solid var(--p-cu-2);outline-offset:1px}
.irv-paid{margin:0;font-size:13px;font-weight:600;color:var(--p-pos)}
.irv-match label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.irv-match input{margin-top:3px;accent-color:#14161c}
.irv-match span{display:grid;gap:2px}.irv-match b{font-size:13px}.irv-match small{font-size:12px;color:var(--p-ink-3)}
.irv-link{margin:0;font-size:13px;color:var(--p-ink-2)}
.irv-lines summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--p-cu)}
.irv-lines ul{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}
.irv-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;font-size:12.5px;color:var(--p-ink-2)}
.irv-lines em{font-style:normal;color:var(--p-ink-3)}
.irv-lines small{font-size:12px;color:var(--p-ink-3)}
/* Connexions : relevés bancaires importés */
.cn-state.import i{background:var(--p-pos)}
@media(max-width:820px){
  .modal-back.bix-back{padding:0;place-items:end stretch}
  .modal.bix{width:100%;max-height:94vh;border-radius:22px 22px 0 0}
  .bix-head,.bix-body,.bix-foot{padding-left:16px;padding-right:16px}
  .bix-head h2{font-size:19px}
  .bix-camera{display:flex}
  .bix-row{grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"check label amount" ". treat treat";row-gap:8px;padding:12px}
  .bix-check{grid-area:check}.bix-date{display:none}.bix-label{grid-area:label}.bix-treat{grid-area:treat}.bix-amount{grid-area:amount}
  .bix-label b{white-space:normal}
  .bix-foot{flex-wrap:wrap}.bix-summary{width:100%;margin:0 0 4px}.bix-foot .btn{flex:1}
  .irv{grid-template-columns:1fr}
  .irv-doc{position:static}.irv-doc img{max-height:38vh}.irv-pdf{aspect-ratio:auto;padding:22px}
  .irv-amounts{grid-template-columns:1fr 1fr 1fr}
  .irv-field input,.irv-field select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.bix-steps li,.bix-steps span,.bix-done-mark,.bix-file{animation:none;opacity:1}}

/* ============ Finitions du 12 octobre 2026 : corrections ponctuelles, aucun changement de direction artistique ============ */
/* Support : le texte des messages envoyés reprend la couleur claire de sa bulle sombre */
.shell .support-message p{color:inherit}
.shell .support-message header{font-size:12px}
/* Pastilles dans un titre de carte : elles gardent leur largeur au lieu de s'écraser et d'élargir la page sur téléphone */
.shell .section-title .pill{flex:none;white-space:nowrap}
.shell .announcement-head .pill{flex:none}
/* Connexions sur téléphone : le texte d'une ligne garde une largeur utile, statut et bouton passent dessous */
@media(max-width:820px){.shell .cn-quiet>div{flex:1 1 180px}}
/* Finance : encadré de lecture avec une marge intérieure, état vide des dépenses, lignes de dépenses alignées */
.shell .ux-finance-reading,.shell .finance-reading{padding:16px 18px}
.shell .compact-expense-rows>.ux-empty{display:flex;border-top:0}
@media(min-width:761px){.shell .compact-expense-rows>div:not(.ux-empty){grid-template-columns:90px minmax(0,1fr) 110px 236px}}
@media(max-width:760px){
  .shell .compact-expense-rows>div:not(.ux-empty){grid-template-columns:auto minmax(0,1fr)}
  .shell .compact-expense-rows .exp-actions{display:flex;flex-wrap:wrap}
  .shell .compact-expense-rows .exp-actions .mini{white-space:nowrap}
  .shell [data-page="finance"] .section-title:has(>.row-actions),.shell [data-page="finance"] .section-title:has(>.finance-period-actions){flex-wrap:wrap}
  .shell [data-page="finance"] .section-title>.row-actions{flex:none;max-width:100%}
}
/* Planning : entre 1151 et 1322 px les sept colonnes tiennent sans se chevaucher */
@media(min-width:1151px){.shell .day-col{min-width:0}.shell .shift-top{flex-wrap:wrap}}
/* Maneo AI : les retours à la ligne d'une demande sont conservés ; sur téléphone le bouton d'envoi reste à droite */
.shell .ai-user-request{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.shell .premium-composer .ai-send{margin-left:auto}}
/* Priorités, À valider, Actions : blocs qui se touchaient */
.shell .action-result small{display:block;margin-bottom:3px}
.shell .approval-card .footer-note{margin:0 0 12px}
.shell .situation-history{margin-top:20px}
/* Navigation du bas sur téléphone : six zones de même largeur */
.shell .mobile-nav button{flex:1 1 0;min-width:0}
/* Courbe : le libellé de moyenne reste lisible quand la courbe passe dessous */
.shell .e-t-strong{paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
/* Collaborateurs : le tableau tient mieux dans la carte, et le nom reste visible quand il faut défiler */
@media(min-width:701px){
  .shell .team-table th{white-space:normal;line-height:1.35}
  .shell .team-table td:nth-child(3),.shell .team-table td:nth-child(4){white-space:nowrap}
  .shell .team-table .person-meta span{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis}
  .shell .team-table th:first-child,.shell .team-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #eceef4}
  .shell .team-table th:first-child{background:#f1f5fa}
  .shell .team-table tbody tr:hover td:first-child{background:#f3f7fc}
}
/* Fiches sur téléphone (tableaux empilés) : le second élément d'une cellule reste sous la valeur, pas sous le libellé */
@media(max-width:700px){
  .shell table[data-stack] td:not(:first-child):not([data-label=""])>*{grid-column:2}
  .shell table[data-stack] td>.pill,.shell table[data-stack] td>a,.shell table[data-stack] td>.mini{justify-self:start}
}
/* Documents : la pastille de rapprochement garde sa largeur */
.shell .recon-explainer>span{flex:none}
/* Maneo AI : explications des garde-fous affichées en entier ; nom de l'expéditeur au moins aussi lisible que son sous-titre */
.shell .ai-client-card .list-row .mainline span{white-space:normal;overflow:visible}
.shell .ai-manager-meta b{font-size:13px}
/* Maneo AI sur un écran d'ordinateur peu haut : le champ de saisie reste visible à l'ouverture (rien ne change au-delà de 820 px de haut) */
@media(max-height:820px) and (min-width:951px){.shell .premium-chat{height:calc(100dvh - 264px);min-height:420px}}
/* Abonnement : phrases affichées en entier, liste de l'offre lisible */
.shell .plan-card~.card .mainline span{white-space:normal}
.shell .plan-list li{font-size:13px}
/* Mémoire : croix de suppression plus facile à viser et à voir */
.shell .memory-card .delete{width:32px;height:32px;right:10px;top:10px;display:grid;place-items:center;border-radius:8px;font-size:17px;line-height:1;color:var(--p-ink-3);cursor:pointer}
.shell .memory-card .delete:hover{background:var(--p-line);color:var(--p-ink)}
/* Analyses : la section « Rapports et historique » montre qu'elle s'ouvre */
.shell .an-reports summary small::after{content:'›';display:inline-block;margin-left:12px;font-size:17px;line-height:1;transition:transform .15s}
.shell .an-reports[open] summary small::after{transform:rotate(90deg)}
/* Planning entre 821 et 1150 px : une amorce de colonne dépasse toujours, pour montrer que la semaine continue */
@media(min-width:821px) and (max-width:1150px){.shell .week,.shell .week.month-grid{grid-template-columns:repeat(7,calc((100% - 32px)/4.5))}.shell .day-col{min-width:0}}
@media(min-width:986px) and (max-width:1150px){.shell .week,.shell .week.month-grid{grid-template-columns:repeat(7,calc((100% - 40px)/5.5))}}
/* Menu latéral sur un ordinateur portable peu haut : toutes les entrées restent visibles sans défiler */
@media(max-height:700px) and (min-width:821px){
  .shell .sidebar{padding-top:14px}
  .shell .side-company{padding:9px 11px;margin:6px 0 8px}
  .shell .nav-scroll{gap:1px}
  .shell .nav-btn{min-height:34px;padding:7px 11px}
  .shell .nav-group.nav-utilities{padding-top:8px;margin-top:6px}
  .shell .nav-group.nav-utilities~.nav-btn{min-height:30px;padding:6px 11px}
  .shell .side-user-wrap{margin-top:6px}
}
/* Portail salarié sur téléphone : l'en-tête s'agrandit quand son sous-titre passe sur deux lignes */
@media(max-width:820px){.employee-top{height:auto;min-height:68px}}
/* Planning : le sélecteur « Semaine / 4 semaines » reste sur une ligne */
.shell [data-plan-view]{white-space:nowrap}

/* ============ Parcours d'accès unifié (13 octobre 2026) : inscription, vérification, essai, conditions, configuration ============
   Un seul univers, celui du Manager : toile ardoise, carte blanche, encre, aucun aplat bleu ni vert hérité. */
.auth-shell{--a-cu-soft:#f4f6f9;--a-cu-line:var(--a-line)}
.auth-shell .auth-path,.billing-gate .auth-path{display:flex;align-items:center;gap:0;margin:0 0 18px;padding:0;border:0;background:none;list-style:none;font-size:12.5px;font-weight:550;color:var(--a-ink-3,#696b72)}
.auth-path li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.auth-path li+li::before{content:'';width:22px;height:1px;margin:0 10px;background:#c5cfd7}
.auth-path li b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #c5cfd7;background:#fff;font-size:12px;font-weight:650;color:#696b72}
.auth-path li.on{color:#14161c}.auth-path li.on b{background:#14161c;border-color:#14161c;color:#fff}
.auth-path li.done b{background:#e8f3ec;border-color:#cfe5d7;color:#1d7049}
.auth-shell .signup-trust{margin:2px 0 16px;padding:12px 14px;border:1px solid var(--a-line);border-radius:12px;background:#f6f8fb}
.auth-shell .signup-trust b{display:block;margin-bottom:3px;font-size:13px;color:var(--a-ink)}
.auth-shell .signup-trust span{font-size:12.5px;line-height:1.55;color:var(--a-ink-2)}
.auth-shell .auth-success-icon.is-mail{background:#eef1f5;color:#14161c;box-shadow:inset 0 0 0 1px #dbe2e9}
.auth-shell .auth-success-icon.is-mail svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-shell .footer-note{font-size:12.5px;line-height:1.55}
@media(max-width:420px){.auth-path li+li::before{width:10px;margin:0 6px}.auth-path li{gap:6px;font-size:12px}}

.billing-gate,.terms-gate{min-height:100vh;min-height:100svh;padding:22px 28px 40px;color:#14161c;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-feature-settings:'cv11','ss03';-webkit-font-smoothing:antialiased;
  background:radial-gradient(1100px 520px at 72% -160px,rgba(255,255,255,.9),transparent 70%),#ecf0f5}
.terms-gate{display:grid;place-items:center}
.billing-gate-brand,.terms-gate .brand-mark{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;letter-spacing:-.02em;color:#14161c}
.billing-gate .brand-logo,.terms-gate .brand-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(160deg,#2a3242,#0d1017);color:#fff;font:700 15px/1 'Inter',sans-serif;box-shadow:0 0 0 1px rgba(13,16,23,.12),0 6px 14px -6px rgba(13,16,23,.55)}
.billing-gate-card,.terms-gate-card{width:min(520px,100%);padding:36px 36px 30px;border:0;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(30,44,70,.05),0 2px 4px rgba(30,44,70,.05),0 14px 28px -12px rgba(30,44,70,.18),0 32px 64px -32px rgba(30,44,70,.2);animation:a-in .5s cubic-bezier(.2,.8,.2,1) both}
.terms-gate-card .brand-mark{margin-bottom:26px}
.billing-gate .eyebrow,.terms-gate .eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:#696b72}
.billing-gate-card h1,.terms-gate-card h1{margin:8px 0 10px;font-size:28px;line-height:1.15;font-weight:650;letter-spacing:-.03em;color:#14161c}
.billing-gate-card>p,.terms-gate-card>p{margin:0 0 22px;font-size:14px;line-height:1.6;color:#424856}
.billing-price{display:flex;align-items:baseline;gap:12px;margin:0;padding:18px 0;border-top:1px solid #e3e8ee;border-bottom:1px solid #e3e8ee}
.billing-price strong{font-size:40px;line-height:1;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.billing-price span{font-size:13px;line-height:1.4;color:#696b72}
.billing-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:18px 0 6px;padding:0;list-style:none;font-size:13.5px;color:#424856}
.billing-points li{position:relative;padding-left:24px;line-height:1.4}
.billing-points li::before{content:'';position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#e8f3ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.6 8.3 2.3 2.3 4.6-5' fill='none' stroke='%231d7049' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.billing-gate-status{margin:16px 0 0;padding:11px 14px;border:1px solid #dbe2e9;border-radius:12px;background:#f6f8fb;font-size:13px;font-weight:550;color:#424856}
.billing-gate-status:empty{display:none}
.billing-gate .btn,.terms-gate .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:16px;padding:0 18px;border-radius:12px;font:600 14.5px/1 'Inter',sans-serif;letter-spacing:-.005em;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s}
.billing-gate .btn.primary,.terms-gate .btn.primary{border:0;color:#fff;background:linear-gradient(180deg,#2a2f3b,#14161c);box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 0 0 1px #0d0d0f,0 8px 18px -8px rgba(13,16,23,.6)}
.billing-gate .btn.primary:hover:not(:disabled),.terms-gate .btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 0 0 1px #0d0d0f,0 12px 24px -10px rgba(13,16,23,.7)}
.billing-gate .btn.primary:active:not(:disabled),.terms-gate .btn.primary:active:not(:disabled){transform:translateY(0)}
.billing-gate .btn.secondary,.terms-gate .btn.ghost{margin-top:10px!important;border:1px solid #d3dbe4;background:#fff;color:#14161c;box-shadow:0 1px 1px rgba(30,44,70,.04)}
.billing-gate .btn.secondary:hover,.terms-gate .btn.ghost:hover{background:#f6f8fb}
.billing-gate .btn:disabled,.terms-gate .btn:disabled{opacity:.55;cursor:default}
.billing-gate .btn:focus-visible,.terms-gate .btn:focus-visible{outline:2px solid #14161c;outline-offset:2px}
.billing-gate .footer-note{margin-top:18px;font-size:12.5px;line-height:1.55;color:#696b72;text-align:left}
.billing-gate .footer-note a{color:#14161c!important;text-underline-offset:2px}
.terms-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 20px}
.terms-links a{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border:1px solid #dbe2e9;border-radius:12px;background:#fff;font-size:13.5px;font-weight:550;color:#14161c;text-decoration:none;transition:background .18s,border-color .18s}
.terms-links a:hover{background:#f6f8fb;border-color:#c5cfd7}
.terms-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #dbe2e9;border-radius:12px;background:#f6f8fb;font-size:13px;line-height:1.5;color:#424856;cursor:pointer}
.terms-check input{width:16px;height:16px;margin-top:2px;accent-color:#14161c}
@media(max-width:560px){.billing-gate,.terms-gate{padding:16px 14px 28px}.billing-gate-card,.terms-gate-card{padding:26px 20px 22px;border-radius:18px}.billing-gate-card h1,.terms-gate-card h1{font-size:24px}.billing-points,.terms-links{grid-template-columns:1fr}.billing-price strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){.billing-gate-card,.terms-gate-card{animation:none}}

/* Configuration : accents à l'encre, plus de halo bleu */
.obx{--cu:#14161c;--cu-2:#424856;--cu-soft:#eef1f5;background:radial-gradient(1100px 520px at 72% -160px,rgba(255,255,255,.9),transparent 70%),#ecf0f5}
.obx-kicker{color:var(--ink-3);letter-spacing:.08em}
.obx-avatar{background:#e6eaf0;color:#424856}

/* ============ Équipe : fiche d'une personne (assistant) et fiche collaborateur (13 octobre 2026) ============ */
.obx[data-step=team] .obx-grid{gap:36px}.obx[data-step=team] .obx-main{max-width:720px}
.obx-team-head,.obx-person{grid-template-columns:34px minmax(0,1.25fr) minmax(0,1.15fr) 116px 96px 34px 32px}
.obx-team-head{font-size:12px;letter-spacing:.02em;text-transform:none;font-weight:550}
.obx-person{align-items:center;transition:border-color .2s,box-shadow .2s}
.obx-person:focus-within{border-color:#b6c3d2;box-shadow:0 1px 2px rgba(30,44,70,.04),0 0 0 3px rgba(20,22,28,.05)}
.obx-more{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--ink-3);cursor:pointer;transition:background .2s,color .2s}
.obx-more:hover{background:#f1f4f8;color:var(--ink)}
.obx-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.obx-person.is-open .obx-more{background:#f1f4f8;color:var(--ink)}.obx-person.is-open .obx-more svg{transform:rotate(180deg)}
.obx-p-extra{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px 10px;padding:10px 0 4px;border-top:1px solid #edf0f4;margin-top:2px}
.obx-p-extra[hidden]{display:none}
.obx-xf{display:grid;gap:5px;min-width:0}
.obx-xf>span:first-child{font-size:12.5px;font-weight:550;color:var(--ink-2)}
.obx-xf em{font-style:normal;font-weight:450;color:var(--ink-3)}
.obx-xhint{grid-column:1/-1;margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
@media(max-width:720px){
  .obx-person{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 34px 32px;grid-template-areas:"av name name name rm" ". role role role ." ". contract hours more .";row-gap:8px}
  .obx-p-contract{grid-area:contract}.obx-more{grid-area:more}.obx-p-email{grid-area:auto}
  .obx-p-extra{grid-column:1/-1;grid-template-columns:1fr}
}
.modal .form-part{min-width:0;margin:0 0 6px;padding:16px 0 0;border:0;border-top:1px solid var(--p-line,#dbe2e9)}
.modal .form-part:first-of-type{padding-top:0;border-top:0}
.modal .form-part>legend{float:left;width:100%;margin:0 0 12px;padding:0;font-size:12.5px;font-weight:600;color:var(--p-ink-3,#696b72)}
.modal .form-part>legend+*{clear:both}
.modal .field label em,.modal .field-hint{font-style:normal;font-weight:450;color:var(--p-ink-3,#696b72)}
.modal .field-hint{display:block;margin-top:6px;font-size:12.5px;line-height:1.45}
/* inscription : le parcours tient sur une ligne, la liste déroulante a la tenue des champs */
.auth-shell .auth-path{justify-content:space-between}
.auth-shell .auth-path li+li{flex:1;min-width:0}
.auth-shell .auth-path li+li::before{flex:1;width:auto;min-width:10px;margin:0 8px}
.auth-shell select{appearance:none;-webkit-appearance:none;font-size:15px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23696b72' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}

/* ============ Maneo AI : conversation (13 octobre 2026) ============
   Une vraie conversation : la demande à droite dans une bulle, la réponse de Maneo posée sur la page, sans carte dans la carte. */
.shell .ai-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.shell .premium-chat{display:flex;flex-direction:column;min-height:min(74vh,780px);padding:0;overflow:hidden}
.shell .premium-chat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--p-line);background:transparent}
.shell .ai-head-identity{display:flex;align-items:center;gap:11px}
.shell .ai-head-identity b{display:block;font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--p-ink)}
.shell .ai-head-identity span{display:flex;align-items:center;gap:6px;margin-top:1px;font-size:12.5px;color:var(--p-ink-3)}
.shell .ai-mode{display:flex;align-items:center;gap:10px}.shell .ai-mode-label{font-size:12.5px;color:var(--p-ink-3)}
.shell .premium-messages{flex:1;display:flex;flex-direction:column;gap:24px;min-height:0;padding:26px 24px 30px;overflow-y:auto;background:transparent;scroll-behavior:smooth}
.shell .ai-turn{animation:ai-turn-in .34s var(--p-ease) both}
@keyframes ai-turn-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.shell .ai-user-turn{align-self:flex-end;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:5px;width:auto;max-width:min(78%,640px);margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;box-shadow:none}
.shell .ai-user-request{margin:0;padding:11px 15px;border:0;border-radius:16px 16px 5px 16px;background:#e4e9f0;color:var(--p-ink);font-size:14.5px;line-height:1.55;font-weight:450;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none}
.shell .ai-user-meta{display:flex;justify-content:flex-end;gap:6px;margin:0;padding:0 4px;font-size:12px;font-weight:450;letter-spacing:0;text-transform:none;color:var(--p-ink-3)}
.shell .ai-user-meta span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shell .ai-manager-turn{align-self:stretch;width:auto;max-width:780px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transition:none}
.shell .ai-manager-turn:hover{box-shadow:none;transform:none}
.shell .ai-manager-meta{display:flex;align-items:center;gap:9px;margin:0 0 6px;padding:0;border:0;min-height:28px}
.shell .ai-manager-meta b{font-size:13.5px;font-weight:650;color:var(--p-ink)}
.shell .ai-manager-meta time{font-size:12px;color:var(--p-ink-3)}
.shell .ai-avatar{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;background:linear-gradient(160deg,#2a3242,#0d1017);color:#fff;font-size:12.5px;font-weight:700;box-shadow:0 0 0 1px rgba(13,16,23,.12)}
.shell .ai-avatar.large{width:36px;height:36px;border-radius:11px;font-size:16px}
.shell .ai-copy{margin-left:auto;height:26px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--p-ink-3);font:550 12px 'Inter',sans-serif;cursor:pointer;opacity:0;transition:opacity .18s,background .18s,color .18s}
.shell .ai-manager-turn:hover .ai-copy,.shell .ai-copy:focus-visible{opacity:1}
.shell .ai-copy:hover{background:#eef1f5;color:var(--p-ink)}
.shell .ai-answer,.shell .ai-context-actions,.shell .ai-execution-details,.shell .ai-thinking .thinking-line{margin-left:35px}
.shell .ai-answer,.shell .ai-answer p,.shell .ai-answer li{font-size:14.5px;line-height:1.65;color:var(--p-ink)}
.shell .ai-answer p{margin:0 0 10px}.shell .ai-answer p:last-child{margin-bottom:0}
.shell .ai-context-actions{margin-top:14px;padding:0;border:0}
.shell .ai-context-label{margin:0 0 8px;font-size:12.5px;font-weight:550;letter-spacing:0;text-transform:none;color:var(--p-ink-3)}
.shell .ai-execution-details{margin-top:12px;padding:0;border:0}
.shell .ai-execution-details summary{font-size:12.5px;color:var(--p-ink-3);cursor:pointer}
.shell .ai-thinking .thinking-line{display:flex;align-items:center;gap:5px;padding:4px 0;background:none;border:0}
.shell .ai-thinking .thinking-line i{width:6px;height:6px;border-radius:50%;background:#99a4af;animation:ai-dot 1.2s ease-in-out infinite}
.shell .ai-thinking .thinking-line i:nth-child(2){animation-delay:.15s}.shell .ai-thinking .thinking-line i:nth-child(3){animation-delay:.3s}
.shell .ai-thinking .thinking-line span{margin-left:8px;font-size:12.5px;color:var(--p-ink-3)}
@keyframes ai-dot{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}
.shell .ai-empty{display:grid;justify-items:center;gap:8px;max-width:520px;margin:auto;padding:28px 0;text-align:center}
.shell .ai-empty h3{margin:8px 0 0;font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--p-ink)}
.shell .ai-empty p{margin:0;font-size:14px;line-height:1.55;color:var(--p-ink-2)}
.shell .ai-starters{display:grid;gap:8px;width:100%;margin-top:14px}
.shell .ai-starters button{padding:12px 14px;border:1px solid var(--p-line);border-radius:12px;background:#fff;color:var(--p-ink);font:450 13.5px/1.45 'Inter',sans-serif;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s var(--p-ease)}
.shell .ai-starters button:hover{border-color:var(--p-line-2);background:#f8fafc;transform:translateY(-1px)}
.shell .ai-composer-shell{padding:12px 18px 14px;border-top:1px solid var(--p-line);background:linear-gradient(180deg,#fbfcfe,#f5f7fa)}
.shell .premium-composer{display:flex;align-items:flex-end;gap:8px;min-height:0;margin:0;padding:7px 7px 7px 14px;border:1px solid #cdd6e0;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(30,44,70,.05);transition:border-color .18s,box-shadow .18s}
.shell .premium-composer:focus-within{border-color:#8f9aa8;box-shadow:0 1px 2px rgba(30,44,70,.05),0 0 0 3px rgba(20,22,28,.06)}
.shell .premium-composer textarea,.shell .ai-composer-shell textarea{flex:1;min-width:0;height:auto;min-height:24px;max-height:168px;margin:0;padding:7px 0;border:0;outline:0;resize:none;background:transparent;box-shadow:none;font-size:15px;line-height:1.5;color:var(--p-ink)}
.shell .ai-voice{display:flex;align-items:center;gap:6px;flex:none;height:36px;padding:0 11px;border:1px solid var(--p-line);border-radius:11px;background:#fff;color:var(--p-ink-2);font:550 13px 'Inter',sans-serif;cursor:pointer}
.shell .ai-send{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:11px;background:linear-gradient(180deg,#2a2f3b,#14161c);color:#fff;cursor:pointer;box-shadow:0 0 0 1px #0d0d0f,0 6px 14px -8px rgba(13,16,23,.6);transition:transform .18s var(--p-ease),opacity .18s}
.shell .ai-send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.shell .ai-send:hover:not(:disabled){transform:translateY(-1px)}.shell .ai-send:disabled,.shell .ai-voice:disabled{opacity:.45;cursor:default}
.shell .voice-status:empty{display:none}.shell .voice-status{margin:8px 4px 0;font-size:12.5px;color:var(--p-ink-2)}
.shell .composer-foot{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:9px 4px 0;padding:0}
.shell .composer-foot,.shell .composer-foot span{font-size:12px;line-height:1.45;color:var(--p-ink-3)}
.shell .composer-foot .ai-transparency{display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.shell .composer-foot .ai-transparency b{display:inline;font-size:12px;font-weight:550;color:var(--p-ink-2)}
.shell .composer-foot .composer-keys{flex:none;white-space:nowrap}
.shell .ai-side .card h2{font-size:15px}
.shell .ai-suggestion-list{display:grid;gap:2px;margin:0 -8px}
.shell .ai-suggestion-list button{display:grid;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:10px;padding:9px 8px;border:0;border-radius:10px;background:transparent;box-shadow:none;text-align:left;cursor:pointer;transition:background .18s}
.shell .ai-suggestion-list button:hover{background:#f1f4f8;transform:none;box-shadow:none}
.shell .ai-suggestion-list button span{display:none}
.shell .ai-suggestion-list button b{font-size:13.5px;line-height:1.45;font-weight:450;color:var(--p-ink)}
.shell .ai-suggestion-list button em{font-style:normal;color:var(--p-ink-3);transition:transform .18s var(--p-ease)}
.shell .ai-suggestion-list button:hover em{transform:translateX(2px);color:var(--p-ink)}
.shell .ai-side-empty{margin:0;font-size:13px;color:var(--p-ink-3)}
.shell .ai-rules{display:grid;gap:12px;margin:0 0 14px;padding:0;list-style:none}
.shell .ai-rules b{display:block;font-size:13.5px;font-weight:600;color:var(--p-ink)}
.shell .ai-rules span{display:block;margin-top:2px;font-size:13px;line-height:1.5;color:var(--p-ink-2)}
@media(max-width:1180px){.shell .ai-workspace{grid-template-columns:minmax(0,1fr)}.shell .premium-chat{min-height:min(68vh,640px)}}
@media(max-width:820px){
  .shell .premium-chat-head{padding:12px 14px}.shell .ai-mode-label,.shell .composer-foot .composer-keys{display:none}
  .shell .premium-messages{gap:20px;padding:18px 14px 22px}.shell .ai-user-turn{max-width:88%}
  .shell .ai-answer,.shell .ai-context-actions,.shell .ai-execution-details,.shell .ai-thinking .thinking-line{margin-left:0}
  .shell .ai-composer-shell{padding:10px 12px 12px}.shell .ai-voice span{display:none}.shell .ai-voice{width:36px;padding:0;justify-content:center}
  .shell .ai-copy{opacity:1}
}
@media(prefers-reduced-motion:reduce){.shell .ai-turn,.shell .ai-thinking .thinking-line i{animation:none}}

/* ============ Mise en route, v3 (13 octobre 2026) : une ligne centrée sur la prochaine étape, liste dépliable ============ */
.shell .sg.sg-v3{padding:0;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}
.shell .sg-bar{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"ring next actions" "ring tools tools";align-items:center;gap:6px 18px;padding:18px 22px 14px}
.shell .sg-bar .sg-ring-wrap{grid-area:ring;align-self:start;margin-top:2px}
.shell .sg-next{grid-area:next;min-width:0}
.shell .sg-kicker{display:block;font-size:12.5px;font-weight:550;letter-spacing:0;text-transform:none;color:var(--p-ink-3)}
.shell .sg-next h2{margin:2px 0 3px;font-size:18px;line-height:1.25;font-weight:650;letter-spacing:-.02em;color:var(--p-ink)}
.shell .sg-next p{margin:0;max-width:62ch;font-size:13.5px;line-height:1.5;color:var(--p-ink-2)}
.shell .sg-bar-actions{grid-area:actions;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.shell .sg-bar-actions .sg-later{margin:0}
.shell .sg-tools{grid-area:tools;display:flex;align-items:center;gap:4px;margin:4px 0 0 -8px}
.shell .sg-tool{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--p-ink-3);font:550 12.5px 'Inter',sans-serif;cursor:pointer;transition:background .18s,color .18s}
.shell .sg-tool:hover{background:#f1f4f8;color:var(--p-ink)}
.shell .sg-tool.sg-hide{margin-left:auto;padding:0 8px}
.shell .sg-tool .sg-chev{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--p-ease)}
.shell .sg.is-expanded .sg-tool .sg-chev{transform:translateY(1px) rotate(-135deg)}
.shell .sg-panel{padding:4px 22px 12px;border-top:1px solid #edf0f4;animation:sg-panel-in .3s var(--p-ease) both}
.shell .sg-panel[hidden]{display:none}
@keyframes sg-panel-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.shell .sg-panel .sg-tour{margin:10px 0 6px;padding:12px 14px;border:1px solid var(--p-line);border-radius:12px;background:#f8fafc;box-shadow:none;color:var(--p-ink)}
.shell .sg-panel .sg-tour .sg-tour-mark{background:#fff;color:var(--p-ink);box-shadow:inset 0 0 0 1px var(--p-line)}
.shell .sg-panel .sg-tour b{color:var(--p-ink)}.shell .sg-panel .sg-tour small{color:var(--p-ink-2)}
.shell .sg-complete .sg-kicker{margin-bottom:2px}
@media(max-width:820px){
  .shell .sg-bar{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"ring next" "actions actions" "tools tools";padding:16px 16px 12px;gap:10px 12px}
  .shell .sg-bar-actions{justify-content:flex-start}.shell .sg-bar-actions .btn{flex:1 1 auto}
  .shell .sg-tools{margin-left:-8px;flex-wrap:wrap}.shell .sg-panel{padding:4px 16px 10px}
  .shell .sg-next h2{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.shell .sg-panel{animation:none}}
.shell .ai-answer{margin-top:0;padding-top:0;border-top:0}
.obx-team-head,.obx-person{grid-template-columns:34px minmax(0,1.2fr) minmax(0,1.3fr) 110px 84px 34px 32px}

@media(max-width:720px){.obx-person{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 34px 32px}}

/* ============ Fenêtres et confirmations (13 octobre 2026) ============ */
.modal{position:relative}
.modal .modal-x{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--p-ink-3,#696b72);cursor:pointer;transition:background .18s,color .18s}
.modal .modal-x:hover{background:#eef1f5;color:var(--p-ink,#14161c)}
.modal .modal-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.modal>h3{padding-right:40px}
.modal .confirm-text{margin:0 0 4px;font-size:14.5px;line-height:1.6;color:var(--p-ink-2,#424856)}
.modal.is-confirm{max-width:460px}
.modal .btn.danger{border:0;color:#fff;background:linear-gradient(180deg,#c13a34,#a62b26);box-shadow:0 0 0 1px #8f2520,0 8px 18px -10px rgba(176,48,43,.7)}
.modal .btn.danger:hover:not(:disabled){background:linear-gradient(180deg,#c9443e,#b0302b)}

/* ============ Typographie : sur-titres et petits textes (13 octobre 2026) ============
   Les sur-titres ne sont plus en capitales espacées : un libellé discret, en casse normale. Aucun texte sous 12 px
   (11 px pour les rares libellés restés en capitales : en-têtes de tableau, groupes de la barre latérale). */
.shell .eyebrow,.modal .eyebrow,.employee-app .eyebrow,.sg .eyebrow,.eyebrow{font-size:12.5px;font-weight:550;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--p-ink-3,#696b72)}
.shell .eyebrow{margin-bottom:6px}

/* sur-titres : la casse normale vaut partout, y compris là où une règle plus précise imposait encore capitales et espacement */
.shell .eyebrow,.shell .card .eyebrow,.shell section .eyebrow,.modal .eyebrow,.employee-app .eyebrow{letter-spacing:0!important;text-transform:none!important}

/* ============ Espace et composants communs · champs en erreur (13 octobre 2026) ============
   Un champ refusé est entouré de rouge et son explication s'affiche juste dessous (Paramètres > Établissement). */
.shell .field .field-error,.modal .field .field-error{display:block;margin-top:6px;font-size:12.5px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--p-neg,#b0302b)}
.shell .field input[aria-invalid="true"],.shell .field select[aria-invalid="true"],.modal .field input[aria-invalid="true"]{border-color:var(--p-neg,#b0302b);box-shadow:0 0 0 3px var(--p-neg-soft,#fbeceb)}

/* ---------- Équipe et espace salarié · passe du 13 octobre (agent 2) ---------- */
/* Planning non publié : message dans l'espace salarié et dans l'aperçu gérant */
.employee-app .employee-plan-draft,.employee-preview-window .employee-plan-draft{margin:0 0 14px;padding:14px 16px;border:1px solid var(--p-line);border-radius:14px;background:var(--p-att-soft);color:var(--p-ink-2);font-size:13.5px;line-height:1.5}
.employee-app .employee-plan-draft strong,.employee-preview-window .employee-plan-draft strong{display:block;margin-bottom:2px;font-size:14px;color:var(--p-ink)}
.shell .plan-state{letter-spacing:0}

/* ============ Espace et composants communs · fenêtres (13 octobre 2026) ============
   Lien d'information sous le texte d'une confirmation, et note discrète placée juste au-dessus des boutons d'une fenêtre. */
.modal .confirm-more{margin:6px 0 4px;font-size:13.5px;line-height:1.5}
.modal .confirm-more a{color:var(--p-ink-2,#424856);text-decoration:underline;text-decoration-color:var(--p-line-2,#d5dae2);text-underline-offset:3px}
.modal .confirm-more a:hover{color:var(--p-ink,#14161c);text-decoration-color:currentColor}
.modal .modal-note{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}

/* ===== Finance et analyses (passe du 13 octobre) — import du CA : aperçu des journées lues ===== */
.modal .sales-preview{margin-top:14px;max-height:264px;overflow:auto;border:1px solid var(--p-line);border-radius:12px;background:#fff}
.modal .sales-preview .table{margin:0;width:100%;min-width:0}
.modal .sales-preview th{position:sticky;top:0;background:#f6f8fa;z-index:1}
.modal .sales-preview td,.modal .sales-preview th{padding:9px 12px;font-size:13px;white-space:nowrap}
.modal .sales-preview td small{display:block;white-space:normal;font-size:12px;color:var(--p-ink-3)}
.modal .sales-example{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#f6f8fa;border:1px solid var(--p-line);font:500 12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--p-ink-2);white-space:pre;overflow-x:auto}
.modal .sales-paste textarea{font:500 12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}
.modal .sales-paste .btn{margin-top:10px}
.modal #sales-import .callout{margin-top:14px}
.modal #sales-import .callout div{font-size:13px;line-height:1.5}
.modal .report-metrics span{text-transform:none;letter-spacing:0;font-size:12.5px}

.modal .sales-preview th{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--p-ink-3)}

@media(max-width:560px){.modal .sales-preview td,.modal .sales-preview th{padding:8px 9px}.modal .sales-preview th:nth-child(3),.modal .sales-preview td:nth-child(3){display:none}.modal .sales-preview .pill{white-space:nowrap}}

/* ============ Espace et composants communs · Abonnement (13 octobre 2026) ============
   Un compte client, pas une plaquette : l'offre à gauche, les faits du compte à droite (statut, échéance, facturation). */
.shell .plan-card .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:10px 0 12px;font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--p-ink,#14161c)}
.shell .plan-card .price small{font-size:13.5px;font-weight:500;letter-spacing:0;color:var(--p-ink-3,#696b72)}
.shell .plan-card .plan-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--p-ink-2,#424856)}
.shell .plan-card .plan-list{margin:16px 0 0;display:grid;gap:9px}
.shell .plan-card .plan-list li{position:relative;margin:0;padding-left:22px;font-size:13.5px;line-height:1.45;color:var(--p-ink-2,#424856)}
.shell .plan-card .plan-list li:before{content:"";position:absolute;left:3px;top:3px;width:5px;height:9px;margin:0;border:solid var(--p-pos,#1f7a55);border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.shell .sub-account .section-title{margin-bottom:6px}
.shell .sub-facts{display:grid;margin:0}
.shell .sub-facts>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:15px 0;border-top:1px solid var(--p-line,#e7eaf0)}
.shell .sub-facts>div:first-child{border-top:0;padding-top:6px}
.shell .sub-facts dt{padding-top:3px;font-size:13px;font-weight:500;color:var(--p-ink-3,#696b72)}
.shell .sub-facts dd{margin:0;min-width:0;font-size:14.5px;color:var(--p-ink,#14161c)}
.shell .sub-facts dd b{font-weight:600}
.shell .sub-facts dd p{margin:8px 0 0;font-size:13.5px;line-height:1.6;color:var(--p-ink-2,#424856)}
.shell .sub-facts dd b+p{margin-top:2px}
.shell .sub-facts dd>p:first-child{margin-top:2px}
.shell .sub-account .sub-actions{margin-top:18px}
@media(max-width:640px){.shell .sub-facts>div{grid-template-columns:1fr;gap:6px}.shell .sub-account .sub-actions .btn{width:100%;justify-content:center}}

@media(max-width:560px){.modal .sales-preview td,.modal .sales-preview th{padding:8px 5px;font-size:12.5px}.modal .sales-preview td:first-child,.modal .sales-preview th:first-child{padding-left:10px}.modal .sales-preview .pill{padding-inline:7px;font-size:12px}}

/* ============ Espace et composants communs · Connexions (13 octobre 2026) ============
   En-tête factuel (pas de note ni de compteur trompeur), sources sans action regroupées sous un titre discret, une ligne de réassurance. */
.shell .cn-summary h2{margin-top:0}
.shell .cn-summary-main{min-width:0}
.shell .cn-later{margin-top:22px}
.shell .cn-later .cn-section-head h2{margin-bottom:10px;font-size:13.5px;font-weight:600;letter-spacing:0;color:var(--p-ink-3,#696b72)}
.shell .cn-later .cn-quiet{background:transparent}
.shell .cn-quiet .cn-state{white-space:normal;text-align:right}
.shell .cn-footnote{margin:20px 2px 0;font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}
@media(max-width:640px){.shell .cn-summary-side,.shell .cn-summary-side .row-actions{width:100%}.shell .cn-summary-side .btn{width:100%;justify-content:center}.shell .cn-quiet .cn-state{padding-left:0;text-align:left}}

/* ===== Opérations et documents — passe de finalisation du 13 octobre 2026 ===== */
/* Réservations : filtre « À venir · Passées · Annulées » */
.shell .res-tabs{margin:0 0 14px}
/* Formulaires : avertissement sous un champ (prévient sans bloquer) et erreur de saisie */
.modal .field-warn{display:block;margin-top:6px;font-size:12.5px;line-height:1.45;font-weight:550;color:var(--p-att)}
.modal .field-warn.is-error{color:var(--p-neg)}
.modal .field-warn[hidden]{display:none}
/* Stock : actions sur une ligne, explication repliée sous la liste */
.shell .stock-table .row-actions{flex-wrap:nowrap}
.shell .stock-table .row-actions .mini{white-space:nowrap}
.shell .stock-how{margin-top:18px;max-width:760px}
.shell .stock-how summary{display:inline-block;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--p-ink-2);text-decoration:underline;text-decoration-color:var(--p-line-2);text-underline-offset:4px;border-radius:6px}
.shell .stock-how summary::-webkit-details-marker{display:none}
.shell .stock-how summary:hover,.shell .stock-how[open] summary{color:var(--p-ink)}
.shell .stock-how>div{margin-top:12px;padding:16px 18px;background:#fff;border:1px solid var(--p-line);border-radius:18px}
.shell .stock-how p{margin:0;font-size:13.5px;line-height:1.6;color:var(--p-ink-2)}
.shell .stock-how ol{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:0;list-style:none;counter-reset:etape}
.shell .stock-how li{counter-increment:etape;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--p-ink)}
.shell .stock-how li::before{content:counter(etape);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--p-canvas);color:var(--p-ink-2);font-size:12px;font-weight:650}
.shell .supplier-grid article small{display:block;margin-top:4px}
/* Documents : ligne de tête, une action principale et un menu par pièce */
.shell .documents-lead{align-items:center}
.shell .documents-lead p{margin:0;max-width:640px;font-size:13.5px;line-height:1.55;color:var(--p-ink-2)}
.shell .document-row .document-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}
.shell .mini.is-main{background:var(--p-ink);border-color:var(--p-ink);color:#fff}
.shell .mini.is-main:hover{background:#23262f;color:#fff}
.shell .row-menu{position:relative}
.shell .row-menu summary{list-style:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--p-line);border-radius:10px;background:#fff;color:var(--p-ink-2);cursor:pointer;transition:background .18s var(--p-ease),color .18s var(--p-ease)}
.shell .row-menu summary::-webkit-details-marker{display:none}
.shell .row-menu summary svg{width:18px;height:18px}
.shell .row-menu summary:hover,.shell .row-menu[open] summary{background:var(--p-canvas);color:var(--p-ink)}
.shell .row-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;gap:2px;min-width:200px;padding:6px;background:#fff;border:1px solid var(--p-line);border-radius:12px;box-shadow:0 18px 38px -16px rgba(20,22,28,.38),0 2px 6px rgba(20,22,28,.06)}
.shell .row-menu-list button{appearance:none;border:0;background:transparent;width:100%;padding:9px 10px;border-radius:8px;font:inherit;font-size:13px;font-weight:550;line-height:1.3;text-align:left;white-space:nowrap;color:var(--p-ink);cursor:pointer}
.shell .row-menu-list button:hover,.shell .row-menu-list button:focus-visible{background:var(--p-canvas)}
.shell .row-menu-list button.is-danger{color:var(--p-neg)}
.shell .row-menu-list button.is-danger:hover,.shell .row-menu-list button.is-danger:focus-visible{background:var(--p-neg-soft)}
.shell .row-menu-list button[disabled]{color:var(--p-ink-3);cursor:default}
/* Fenêtre « Ajouter un document » : champ natif masqué, fichier retenu affiché dans la carte */
.modal .smart-upload-choice.is-single{grid-template-columns:1fr}
.modal .smart-upload-card{position:relative;display:block;cursor:pointer;transition:border-color .18s var(--p-ease),background .18s var(--p-ease)}
.modal .smart-upload-card input[type=file]{position:absolute;inset:auto auto 0 0;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.modal .smart-upload-card:hover,.modal .smart-upload-card.is-over{border-color:var(--p-line-2);background:#fafbfd}
.modal .smart-upload-card:focus-within{outline:2px solid #6b8bb0;outline-offset:2px}
.modal .smart-upload-card .smart-upload-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:10px;border-radius:10px;background:var(--p-canvas);color:var(--p-ink-2)}
.modal .smart-upload-card .smart-upload-icon svg{width:20px;height:20px}
.modal .smart-upload-card b{font-size:13.5px;color:var(--p-ink)}
.modal .smart-upload-card small{font-size:12.5px;overflow-wrap:anywhere}
.modal .smart-upload-card.has-file{border-color:#c6e2d2;background:var(--p-pos-soft)}
.modal .smart-upload-card.has-file .smart-upload-icon{background:#fff;color:var(--p-pos)}
.modal .smart-upload-card.has-file small{color:var(--p-pos);font-weight:600}
.modal .upload-note{margin:12px 0 0}
@media (max-width:640px){
  .shell .document-row .document-actions{grid-column:2;justify-content:flex-start}
  .shell .row-menu-list{right:auto;left:0}
  .modal.sticky-actions{--pad:21px}
  .modal.sticky-actions .modal-actions{position:sticky;bottom:calc(-1*var(--pad));z-index:2;margin:14px calc(-1*var(--pad)) calc(-1*var(--pad));padding:12px var(--pad) calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--p-line)}
  .modal.sticky-actions .modal-actions .btn{flex:1}
}

/* Opérations et documents (suite) : mêmes libellés dans « Ajouter un document » et « Vérifier la facture », qui s'enchaînent */
.modal.doc-add-modal .field label{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--p-ink-2)}
.shell .document-icon.image{font-size:11px;font-weight:700;letter-spacing:.02em}

/* ===== Finance et analyses — onglet Dépenses : justificatifs ===== */
.shell .kpi-grid.finance-client-kpis.solo{grid-template-columns:minmax(220px,1fr) 2fr}
.shell .finance-client-kpis .finance-proof-start{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap}
.shell .finance-client-kpis .finance-proof-start p{margin:0;flex:1 1 240px;font-size:14px;line-height:1.5;color:var(--p-ink-2)}
.shell .finance-client-grid.single{grid-template-columns:1fr}
.shell .finance-proof-card{align-self:start}
.shell .finance-proof-status{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--p-ink-2)}
.shell .recon-kpis{margin:4px 0 16px}
@media(max-width:720px){.shell .kpi-grid.finance-client-kpis.solo{grid-template-columns:1fr}}

/* Opérations et documents (suite) : le menu d'une pièce n'est pas rogné par sa carte */
.shell .document-category{overflow:visible}
.shell .document-category-head{border-radius:18px 18px 0 0}
.shell .document-add-category{border-radius:0 0 18px 18px}

/* ===== Finance et analyses — en-tête unique de Finance : onglets et actions sur une ligne, menu « Ajouter » sur téléphone ===== */
.shell .finance-head{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:10px}
.shell .finance-head .finance-view-tabs{margin:0;min-width:0;max-width:100%}
.shell .finance-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;margin-left:auto}
.shell .finance-add-toggle{display:none}
.shell .finance-add-menu{display:flex;gap:8px;flex-wrap:wrap}
.shell .ux-finance-source-access .mini{min-height:30px}
@media(max-width:820px){
  .shell .finance-actions{width:100%;margin-left:0;flex-wrap:nowrap}
  .shell .finance-actions>.btn{flex:1 1 0;justify-content:center;min-width:0}
  .shell .finance-add-toggle{display:inline-flex}
  .shell .finance-add-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:232px;flex-direction:column;align-items:stretch;gap:2px;padding:6px;border:1px solid var(--p-line);border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(20,22,28,.16)}
  .shell .finance-add-menu.open{display:flex}
  .shell .finance-add-menu .btn{justify-content:flex-start;border-color:transparent;box-shadow:none;background:transparent;min-height:44px}
  .shell .finance-add-menu .btn:hover{background:var(--p-canvas)}
}

/* Équipe (agent 2) · tableau des collaborateurs : nom cliquable, une action visible, menu « … » */
.shell .team-table .person-link{display:block;padding:0;border:0;background:none;font:600 13.5px/1.35 Inter,system-ui,sans-serif;color:var(--p-ink);text-align:left;cursor:pointer;border-radius:4px}
.shell .team-table .person-link:hover{text-decoration:underline;text-underline-offset:3px}
.shell .team-table .person-link:focus-visible{outline:2px solid var(--p-cu);outline-offset:2px}
.shell .team-table .team-access{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.shell .team-table .team-access .btn.small{padding:6px 11px;white-space:nowrap}
.shell .row-menu-btn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0}
.shell .row-menu-btn[aria-expanded="true"]{background:var(--p-cu-soft);border-color:var(--p-cu-line)}
.shell .toolbar .link-btn{padding:0;font:600 12.5px/1.4 Inter,system-ui,sans-serif;color:var(--p-cu);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.row-menu-pop{position:fixed;z-index:65;display:grid;gap:2px;min-width:236px;padding:6px;border:1px solid var(--p-line);border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(20,28,45,.16),0 2px 6px rgba(20,28,45,.08)}
.row-menu-pop button{display:block;width:100%;min-height:40px;padding:9px 12px;border:0;border-radius:8px;background:none;font:500 13.5px/1.35 Inter,system-ui,sans-serif;color:var(--p-ink);text-align:left;cursor:pointer}
.row-menu-pop button:hover,.row-menu-pop button:focus-visible{background:var(--p-canvas);outline:none}
@media(max-width:700px){.shell .team-table .row-menu-btn{width:44px;height:44px}.row-menu-pop button{min-height:46px}}

/* Finance — les trois ajouts tiennent sur la ligne des onglets sur grand écran ; en dessous, ils se rangent dans « Ajouter » */
.shell .finance-actions .btn{padding-inline:13px}
.shell .finance-add-toggle svg{margin-left:6px;transition:transform .18s var(--p-ease)}
.shell .finance-add-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
@media(max-width:1419px){
  .shell .finance-add-toggle{display:inline-flex;align-items:center}
  .shell .finance-add-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:232px;flex-direction:column;align-items:stretch;gap:2px;padding:6px;border:1px solid var(--p-line);border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(20,22,28,.16)}
  .shell .finance-add-menu.open{display:flex}
  .shell .finance-add-menu .btn{justify-content:flex-start;border-color:transparent;box-shadow:none;background:transparent;min-height:44px}
  .shell .finance-add-menu .btn:hover{background:var(--p-canvas)}
}

/* Opérations et documents (suite) : suppression discrète dans une fenêtre de modification */
.modal .link-danger{appearance:none;border:0;background:transparent;min-height:32px;padding:6px 2px;font:inherit;font-size:13px;font-weight:600;color:var(--p-neg);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(176,48,43,.35);text-underline-offset:3px}
.modal .link-danger:hover{text-decoration-color:var(--p-neg)}

.shell .finance-head{gap:10px 12px}
@media(min-width:1420px){.shell .finance-actions,.shell .finance-add-menu{gap:6px;flex-wrap:nowrap}.shell .finance-actions .btn{padding-inline:12px;white-space:nowrap}}

/* ============ Espace et composants communs · Paramètres > Sécurité et autonomie (13 octobre 2026) ============
   Mode d'autonomie puis liste des autorisations (boutons de 36 px, 44 px au doigt), sessions et événements côte à côte. */
.shell .settings-block{margin-top:14px}
.shell .autonomy-card .segmented{display:inline-flex;max-width:100%;margin:0 0 14px}
.shell .autonomy-card .segmented button{min-height:36px;padding:0 18px;border:0;background:transparent}
.shell .autonomy-card .segmented button.active{background:#fff}
.shell .autonomy-card .autonomy-note{margin:0;max-width:720px;font-size:14px;line-height:1.6;color:var(--p-ink-2,#424856)}
.shell .autonomy-card .autonomy-note b{font-weight:600;color:var(--p-ink,#14161c)}
.shell .policy-card .policy-table{max-width:860px}
.shell .policy-card .policy-group+.policy-group{margin-top:24px}
.shell .policy-card .policy-group h3{margin:0 0 2px;font-size:13px;font-weight:600;letter-spacing:0;color:var(--p-ink-3,#696b72)}
.shell .policy-card .policy-row{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:9px 0;border-bottom:1px solid var(--p-line,#e7eaf0)}
.shell .policy-card .policy-row:last-child{border-bottom:0}
.shell .policy-card .policy-row>b{font-size:14px;font-weight:500;line-height:1.4;color:var(--p-ink,#14161c)}
.shell .policy-card .policy-segment{padding:3px;gap:2px;border-radius:12px;background:#eef1f5}
.shell .policy-card .policy-segment button{min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13px;font-weight:600;line-height:1.2;color:var(--p-ink-3,#696b72);white-space:nowrap;cursor:pointer;transition:background .18s var(--p-ease,ease),color .18s}
.shell .policy-card .policy-segment button:hover:not(.active){color:var(--p-ink,#14161c)}
.shell .policy-card .policy-segment button:focus-visible{outline:2px solid var(--p-ink,#14161c);outline-offset:2px}
.shell .policy-card .policy-segment button.active{box-shadow:0 1px 2px rgba(30,44,70,.14)}
.shell .policy-card .policy-segment button.active.auto{background:#fff;color:var(--p-pos,#1f7a55)}
.shell .policy-card .policy-segment button.active.approval{background:#fff;color:var(--p-ink,#14161c)}
.shell .policy-card .policy-segment button.active.blocked{background:#fff;color:var(--p-neg,#b0302b)}
.shell .session-row b,.shell .security-event b{font-size:14px;font-weight:600;color:var(--p-ink,#14161c)}
.shell .session-row small,.shell .security-event small{font-size:13px;line-height:1.45;color:var(--p-ink-3,#696b72)}
.shell .mfa-status-row b{font-size:14px;font-weight:600}
.shell .mfa-status-row small{font-size:13px;line-height:1.45}
.shell .security-check{position:relative;padding:12px 0 12px 26px}
.shell .security-check:before{content:"";position:absolute;left:5px;top:16px;width:5px;height:9px;border:solid var(--p-pos,#1f7a55);border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.shell .security-check b{font-size:14px;font-weight:600;color:var(--p-ink,#14161c)}
.shell .security-check span{font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}
@media(max-width:760px){
  .shell .autonomy-card .segmented{display:flex}
  .shell .autonomy-card .segmented button{flex:1;min-height:44px;padding:0 8px}
  .shell .policy-card .policy-row{grid-template-columns:1fr;gap:8px;padding:12px 0}
  .shell .policy-card .policy-segment button{flex:1;min-height:44px;padding:0 6px;white-space:normal}
  .shell .session-row{flex-wrap:wrap}
  .shell .session-row>div{flex:1 1 180px}
}

/* Équipe (agent 2) · collaborateurs sur téléphone : une fiche courte ; le menu « … » en haut à droite ; coût et disponibilités restent dans la fiche */
@media(max-width:700px){
  .shell .team-table[data-stack] tr{position:relative}
  .shell .team-table[data-stack] td:last-child:not([colspan]){position:absolute;top:10px;right:10px;display:block}
  .shell .team-table[data-stack] td:last-child:not([colspan])::before{display:none}
  .shell .team-table[data-stack] td:first-child:not([colspan]){padding-right:56px}
  .shell .team-table[data-stack] td:nth-child(5),.shell .team-table[data-stack] td:nth-child(6){display:none}
  .shell .team-table .person-link{font-size:15px;min-height:28px}
}

/* ===== Finance et analyses — cartes d'analyse en texte suivi, sans sur-titres ===== */
.shell .an-card h3{font-size:16.5px;line-height:1.35}
.shell .an-text{display:grid;gap:8px}
.shell .an-text p{margin:0;font-size:14px;line-height:1.6;color:var(--p-ink-2)}
.shell .an-text strong{font-weight:620;color:var(--p-ink)}
.shell .an-text .an-todo b{font-weight:650;color:var(--p-ink)}
.shell .an-card footer{align-items:center}
.shell .an-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.shell .an-conf{cursor:help}
.shell .an-coverage h3{font-size:13px;font-weight:650;letter-spacing:0;text-transform:none;color:var(--p-ink-2)}
.shell .an-hero h2{margin-top:0}
.shell .an-quiet{margin:18px 2px 0;font-size:13.5px;color:var(--p-ink-3)}

/* Opérations et documents (suite) : sur tablette, le tableau du stock tient dans sa carte avec « Modifier » et « Supprimer » côte à côte */
@media (min-width:701px) and (max-width:1180px){
  .shell .stock-table th,.shell .stock-table td{padding-left:7px;padding-right:7px}
  .shell .stock-table th{letter-spacing:.04em}
  .shell .stock-table .row-actions{gap:5px}
  .shell .stock-table .row-actions .mini{padding-left:8px;padding-right:8px}
}

/* Opérations et documents (suite) : icônes au trait dans les états vides du stock */
.shell .premium-empty>span svg{width:20px;height:20px}

/* Espace salarié (agent 2) · accueil resserré, icônes au trait, barre du bas avec de vraies zones tactiles */
.employee-app .emp-icon,.employee-preview-window .emp-icon{width:18px;height:18px;flex:none;vertical-align:-4px}
.employee-app .employee-kpis,.employee-preview-window .employee-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.employee-app .employee-kpis .kpi strong,.employee-preview-window .employee-kpis .kpi strong{font-size:22px;line-height:1.25}
.employee-app .employee-kpis .kpi strong::first-letter,.employee-preview-window .employee-kpis .kpi strong::first-letter{text-transform:uppercase}
.employee-app .clock-big{min-height:48px;padding:12px 20px;font:650 15px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.employee-app #employee-account{white-space:nowrap}
@media(max-width:820px){
  .employee-app .employee-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .employee-app .employee-mobile-nav{gap:2px;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .employee-app .employee-mobile-nav button{flex:1 1 0;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 2px;border-radius:10px;font:500 12px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
  .employee-app .employee-mobile-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .employee-app .employee-mobile-nav button.active{background:rgba(255,255,255,.08)}
  .employee-app .employee-mobile-nav .emp-icon{width:20px;height:20px}
  .employee-app .clock-big{width:100%}
}

/* ============ Pilotage et cadre · passe du 13 octobre 2026 (agent 1) ============
   Aujourd'hui, Priorités, À valider, Actions, barre latérale, barre du haut, recherche, « Créer », menu du compte, menu « Plus ». */

/* Barre du haut : la pastille IA n'existe que lorsqu'elle apprend quelque chose (Maneo travaille, IA indisponible) */
.shell #global-ai-status[hidden]{display:none!important}
.shell #global-ai-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.shell #quick-create{display:inline-flex;align-items:center;gap:6px}
.shell #quick-create .maneo-icon{width:15px;height:15px}

/* Barre latérale : établissement — libellé discret, ville si elle est connue, chevron à droite */
.shell .side-company{position:relative;padding-right:38px}
.shell .side-company small{text-transform:none;letter-spacing:0;font-size:12px;margin-bottom:3px}
.shell .side-company .company-health{display:block;margin-top:0}
.shell .side-company .company-health>span{display:block;margin-top:3px}
.shell .side-company .company-health>span:empty{display:none}
.shell .side-company .company-health em{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:grid;color:#8790a6}
.shell .side-company .company-health em .maneo-icon{width:15px;height:15px}
.shell .side-more .maneo-icon{width:17px;height:17px}

/* Menu du compte : icônes au trait, texte lisible */
.shell .account-menu button{display:flex;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;line-height:1.3;color:var(--p-ink)}
.shell .account-menu button .maneo-icon{width:16px;height:16px;flex:none;color:var(--p-ink-3)}
.shell .account-menu button:hover{background:var(--p-canvas)}
.shell .account-menu .danger-text,.shell .account-menu .danger-text .maneo-icon{color:var(--p-neg)}
.shell .account-menu-head b{font-size:13.5px}
.shell .account-menu-head span{font-size:12.5px}

/* Onglets secondaires qui dépassent : fondu tant qu'il reste des onglets à faire défiler */
.shell .context-tabs.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
.shell .context-tabs.more-left{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px);mask-image:linear-gradient(90deg,transparent,#000 44px)}
.shell .context-tabs.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent)}

/* Recherche : icônes au trait, intitulé discret, aide clavier masquée sur téléphone */
#modal-root .command-palette .command-input-icon{display:grid;place-items:center;color:var(--p-ink-3)}
#modal-root .command-palette .command-input-icon .maneo-icon{width:18px;height:18px}
#modal-root .command-palette .palette-close{display:grid;place-items:center}
#modal-root .command-palette .palette-close .maneo-icon{width:16px;height:16px}
#modal-root .command-palette .cmd-count{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;padding:10px 16px 6px}
#modal-root .command-palette .cmd-result>span{color:var(--p-ink-2)}
#modal-root .command-palette .cmd-result>span .maneo-icon{width:16px;height:16px}
#modal-root .command-palette .cmd-result b{font-size:13.5px}
#modal-root .command-palette .cmd-result small{font-size:12.5px}
#modal-root .command-palette .command-hint{justify-content:flex-end}

/* « Créer » et menu « Plus » : fenêtres-menus */
.modal .quick-card>span .maneo-icon{width:18px;height:18px}
.modal .quick-card b{font-size:14px}
.modal .quick-card small{font-size:12.5px;line-height:1.4}
.modal .mobile-more{display:grid;gap:12px;margin-top:6px}
.modal .more-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:9px 12px;border:1px solid var(--p-line);border-radius:12px;background:#fff;text-align:left;color:var(--p-ink);cursor:pointer;font:inherit}
.modal .more-row:hover{background:var(--p-canvas)}
.modal .more-row-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--p-canvas);color:var(--p-ink-2);flex:none}
.modal .more-row-icon .maneo-icon{width:17px;height:17px}
.modal .more-row-text{min-width:0}
.modal .more-row-text b{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal .more-row-text small{display:block;margin-top:1px;font-size:12.5px;color:var(--p-ink-3)}
.modal .mobile-more-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal .mobile-more-list{display:grid;border:1px solid var(--p-line);border-radius:12px;overflow:hidden;background:#fff}
.modal .mobile-more-list .more-row{border:0;border-radius:0;border-bottom:1px solid var(--p-line)}
.modal .mobile-more-list .more-row:last-child{border-bottom:0}
.modal .more-row.danger-text,.modal .more-row.danger-text .more-row-icon{color:var(--p-neg)}

/* Aujourd'hui */
.shell .ux-attention-empty{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--p-ink-3);max-width:520px}
.shell .ux-team-strip h3{line-height:1.45}

/* Priorités : cartes allégées */
.shell .situations-hero h2{margin:0}
.shell .situation-resolve-when{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--p-ink-3)}
.shell .situation-resolve-when b{font-weight:600;color:var(--p-ink-2)}
.shell .situation-actions{margin-top:14px;align-items:center}
.shell details.more-menu{position:relative}
.shell details.more-menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding-left:10px;padding-right:10px;cursor:pointer}
.shell details.more-menu>summary::-webkit-details-marker{display:none}
.shell details.more-menu>summary .maneo-icon{width:17px;height:17px}
.shell .more-menu-list{position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;min-width:200px;display:grid;gap:2px;padding:6px;background:#fff;border:1px solid var(--p-line);border-radius:12px;box-shadow:0 16px 40px -14px rgba(20,22,28,.3)}
.shell .more-menu-list button{border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:8px;font:500 13.5px/1.3 'Inter',sans-serif;color:var(--p-ink);cursor:pointer}
.shell .more-menu-list button:hover{background:var(--p-canvas)}
.shell .situation-closed-row{align-items:center;gap:12px}
.shell .situation-closed-row .mainline{min-width:0;flex:1}
.shell .situation-closed-row .row-actions{flex:none;flex-wrap:nowrap}
.shell details.situation-observed{margin-top:14px}
.shell details.situation-observed>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:14.5px;color:var(--p-ink)}
.shell details.situation-observed>summary::-webkit-details-marker{display:none}
.shell details.situation-observed>summary::after{content:"";width:8px;height:8px;margin-left:auto;border-right:1.6px solid var(--p-ink-3);border-bottom:1.6px solid var(--p-ink-3);transform:rotate(45deg);transition:transform .2s var(--p-ease)}
.shell details.situation-observed[open]>summary::after{transform:rotate(-135deg)}
.shell details.situation-observed>summary span{min-width:22px;padding:2px 7px;border-radius:999px;background:var(--p-canvas);font-size:12.5px;font-weight:600;color:var(--p-ink-2);text-align:center}
.shell details.situation-observed[open]>summary{margin-bottom:10px}
.shell .situation-history{margin-top:14px}

/* Actions */
.shell .task-suggestions article{flex-wrap:wrap}
.shell .task-suggestions article .task-covered{flex:0 0 100%;padding-left:17px;font-size:12.5px;line-height:1.45;color:var(--p-ink-3)}
.shell .task-source b{font-size:12.5px;font-weight:600;color:var(--p-neg)}
.shell .content>.ux-empty .btn{margin-top:6px}

/* Fenêtres « Nouvelle action », « Modifier l'action », « Créer une action reliée » et « Clôturer la priorité » */
.modal.task-form .field label{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:var(--p-ink-2)}
.modal .field textarea[aria-invalid="true"]{border-color:var(--p-neg,#b0302b);box-shadow:0 0 0 3px var(--p-neg-soft,#fbeceb)}
.modal details.modal-more{margin:2px 0 0}
.modal details.modal-more>summary{width:max-content;padding:6px 0;cursor:pointer;font-size:13.5px;font-weight:550;color:var(--p-ink-2)}
.modal details.modal-more>summary:hover{color:var(--p-ink)}
.modal details.modal-more[open]>summary{margin-bottom:8px}
.modal .modal-actions .modal-delete{margin-right:auto;color:var(--p-neg)}
.modal .situation-timeline .list-row{align-items:flex-start}
.modal .situation-timeline .dot{margin-top:6px}

@media(max-width:820px){
  /* Champs empilés : même écart vertical entre tous les champs */
  .modal.task-form .grid2{gap:0}
}
@media(max-width:640px){
  .modal.task-form.sticky-actions .modal-actions{flex-wrap:wrap}
  .modal.task-form.sticky-actions .modal-actions .modal-delete{order:3;flex:1 0 100%;margin:0}
  .shell .situation-closed-row{flex-wrap:wrap}
  .shell .situation-closed-row .row-actions{width:100%;padding-left:20px}
  .shell .more-menu-list{left:auto;right:0}
}
@media(max-width:560px){
  /* Téléphone : la recherche reste à côté de la cloche */
  .shell .search-trigger{display:inline-flex;width:30px;min-width:30px;height:32px}
  #modal-root .command-palette .command-hint{display:none}
}

/* Pilotage et cadre (agent 1, suite) : ajustements après vérification à l'écran */
.shell .situations-hero{align-items:center}
.shell .sidebar .side-more .maneo-icon{color:#c5ccdb!important}
.modal .quick-card{display:flex;flex-direction:column;align-items:flex-start}
.modal.is-menu h3{margin-bottom:14px}

/* ===== Finance et analyses — automatisations : deux lignes de faits au lieu de cinq cases, suppression discrète ===== */
.shell .automation-card{display:flex;flex-direction:column}
.shell .automation-card h3{margin:0}
.shell .automation-card .automation-type{display:block;margin-bottom:3px;font-size:12.5px;color:var(--p-ink-3)}
.shell .automation-card>p{min-height:0;margin:8px 0 0;font-size:13.5px;line-height:1.55;color:var(--p-ink-2)}
.shell .automation-card.paused h3{color:var(--p-ink-2)}
.shell .automation-facts{list-style:none;margin:14px 0 16px;padding:12px 0 0;border-top:1px solid var(--p-line);display:grid;gap:6px;font-size:13.5px;line-height:1.5;color:var(--p-ink-2)}
.shell .automation-facts b{font-weight:600;color:var(--p-ink)}
.shell .automation-facts li.bad b{color:var(--p-neg)}
.shell .automation-facts span{display:block;font-size:13px;color:var(--p-ink-3)}
.shell .automation-card .row-actions{margin-top:auto;align-items:center}
.shell .automation-delete{margin-left:auto;min-height:32px;padding:4px 6px;border:0;background:none;font:500 13px/1.2 'Inter',sans-serif;color:var(--p-ink-3);text-decoration:underline;text-underline-offset:3px;cursor:pointer;border-radius:8px}
.shell .automation-delete:hover,.shell .automation-delete:focus-visible{color:var(--p-neg)}
.shell .run-state svg{display:block}
.shell .memory-card .delete{display:grid;place-items:center}

/* ============ Espace et composants communs · libellés de champ et barre d'enregistrement (13 octobre 2026) ============
   Composant commun : les libellés de champ sont en casse normale, à 13 px (plus de petites capitales espacées), cases à cocher comprises.
   Barre d'enregistrement d'une page de réglages : en bas de page, fixe au-dessus de la navigation sur téléphone. */
.shell .field label,.modal .field label{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.35;color:var(--p-ink-2,#424856)}
.shell .field label.check-card,.modal .field label.check-card{font-size:14px;font-weight:500;justify-content:flex-start;color:var(--p-ink,#14161c)}
.shell .field label.check-card span,.modal .field label.check-card span{color:inherit}
.shell .save-bar{position:sticky;bottom:16px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 12px 12px 20px;border:1px solid var(--p-line-2,#d5dae2);border-radius:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 34px -22px rgba(20,22,28,.45)}
.shell .save-bar-state{min-width:0;font-size:13.5px;line-height:1.4;color:var(--p-ink-3,#696b72)}
.shell .save-bar.dirty .save-bar-state{font-weight:500;color:var(--p-ink,#14161c)}
.shell .save-bar .btn{flex:none}
@media(max-width:820px){.shell .save-bar{bottom:calc(78px + env(safe-area-inset-bottom));gap:10px;padding:10px 10px 10px 16px}.shell .save-bar-state{font-size:13px}}

/* Pilotage et cadre (agent 1, suite) : lignes « réglé » et « clôturées » lisibles en entier sur téléphone */
.shell .situation-closed-row .mainline span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}

.shell .automation-card .toggle{position:relative}
.shell .automation-card .toggle::after{content:'';position:absolute;inset:-10px -6px}
.shell .automation-card .row-actions{gap:6px}

/* Équipe (agent 2) · fiche collaborateur : boutons toujours visibles, détails repliés ; encadré du créneau en phrases */
.modal.team-form{--pad:21px}
.modal.team-form .modal-actions{position:sticky;bottom:calc(-1*var(--pad));z-index:2;margin:14px calc(-1*var(--pad)) calc(-1*var(--pad));padding:12px var(--pad) calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--p-line);border-radius:0 0 22px 22px}
.modal .form-more{margin:0 0 6px;border-top:1px solid var(--p-line)}
.modal .form-more>summary{display:flex;align-items:baseline;gap:8px;padding:14px 0;list-style:none;font:600 13.5px/1.35 Inter,system-ui,sans-serif;color:var(--p-ink);cursor:pointer;border-radius:8px}
.modal .form-more>summary::-webkit-details-marker{display:none}
.modal .form-more>summary small{font-size:12.5px;font-weight:450;color:var(--p-ink-3)}
.modal .form-more>summary::after{content:'';flex:none;align-self:center;width:7px;height:7px;margin-left:auto;margin-right:4px;border-right:1.6px solid var(--p-ink-3);border-bottom:1.6px solid var(--p-ink-3);transform:rotate(45deg);transition:transform .18s var(--p-ease)}
.modal .form-more[open]>summary::after{transform:rotate(-135deg)}
.modal .form-more>summary:focus-visible{outline:2px solid var(--p-cu);outline-offset:2px}
.modal .shift-notes{display:grid;gap:4px;font-size:13px;line-height:1.5}
/* Lien d'aperçu et notifications : zone tactile suffisante, texte entier */
.shell .toolbar .link-btn{display:inline-block;padding:7px 0}
.employee-app .employee-notif .mainline span{white-space:normal;overflow:visible;text-overflow:clip}
.shell .team-start .ux-empty{padding:34px 16px}

/* ============ Espace et composants communs · Qualité des données (13 octobre 2026) ============
   La note n'apparaît qu'une fois (l'anneau), chaque manque porte son action, le bloc des achats reliés reste discret tant qu'il est vide. */
.shell .data-hero h2{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--p-ink,#14161c)}
.shell .data-hero p{margin:0;font-size:14px;line-height:1.55;color:var(--p-ink-2,#424856)}
.shell .quality-ring span{display:flex;align-items:baseline;gap:1px;font-size:22px;font-weight:650;color:var(--p-ink,#14161c)}
.shell .quality-ring small{font-size:12px;font-weight:500;color:var(--p-ink-3,#696b72)}
.shell .data-missing{gap:16px;padding:13px 2px;cursor:pointer}
.shell .data-missing b{font-size:14px;font-weight:600;color:var(--p-ink,#14161c)}
.shell .data-missing span{font-size:13px;line-height:1.45;color:var(--p-ink-3,#696b72)}
.shell .data-missing em{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:13px;font-weight:600;font-style:normal;white-space:nowrap;color:var(--p-ink,#14161c)}
.shell .data-missing em:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:1.6px 1.6px 0 0;transform:rotate(45deg)}
.shell .data-missing:hover em{text-decoration:underline;text-underline-offset:3px}
.shell .data-lineage .recon-none{margin:0;font-size:14px;color:var(--p-ink-3,#696b72)}
.shell .data-lineage .footer-note{font-size:13px;color:var(--p-ink-3,#696b72)}
@media(max-width:640px){.shell .data-missing{flex-direction:column;align-items:flex-start;gap:8px}.shell .datahub-missing .section-title{flex-wrap:wrap;gap:10px}}

.shell .stock-move-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Pilotage et cadre (agent 1, reprise) : « Demander à Maneo » porte l'icône au trait de la barre latérale.
   Spécificité volontairement basse : la règle « .shell .top-actions [data-global-ai]{display:none} » (≤ 950 px) continue de l'emporter. */
.shell [data-global-ai]{display:inline-flex;align-items:center;gap:6px}
.shell [data-global-ai] .maneo-icon{width:15px;height:15px;flex:none}

/* Finance et analyses — interrupteur des automatisations : la pastille (::after) garde sa forme, la zone tactile élargie (54 × 44 px) est portée par ::before */
.shell .automation-card .toggle::after{position:static;inset:auto}
.shell .automation-card .toggle::before{content:'';position:absolute;inset:-10px -6px}

/* ============ Espace et composants communs · états vides sobres, toute l'application (13 octobre 2026) ============
   Plus de carré décoratif : un titre net (b), une phrase d'aide (span ou p) et, s'il y a lieu, une action.
   Vaut pour les trois écritures existantes : .empty, .ux-empty (fonction uiEmpty) et .premium-empty. Les cases du planning (.day-closed, .day-gap) gardent leur style. */
.shell .empty:not(.day-closed):not(.day-gap),.modal .empty,.employee-app .empty{font-size:13.5px;line-height:1.55;letter-spacing:0;color:var(--p-ink-3,#696b72)}
.shell .empty:not(.day-closed):not(.day-gap) b,.modal .empty b,.employee-app .empty b{display:block;font-size:14.5px;font-weight:600;line-height:1.4;color:var(--p-ink,#14161c)}
.shell .empty:not(.day-closed):not(.day-gap) span,.modal .empty span,.employee-app .empty span{display:block;max-width:56ch;margin:4px auto 0;font-size:13.5px;line-height:1.55;color:var(--p-ink-3,#696b72)}
.shell .empty a,.modal .empty a{color:var(--p-ink-2,#424856);text-decoration:underline;text-decoration-color:var(--p-line-2,#d5dae2);text-underline-offset:3px}
.shell .empty.success-empty,.modal .empty.success-empty{padding:22px 20px!important;border:0;border-radius:0;background:transparent;text-align:center}
.shell .empty.success-empty b,.modal .empty.success-empty b{font-size:14.5px;color:var(--p-ink,#14161c)}
.shell .empty.success-empty span,.modal .empty.success-empty span{font-size:13.5px;color:var(--p-ink-3,#696b72)}
.shell .ux-empty,.modal .ux-empty,.employee-app .ux-empty{gap:4px;padding:28px 16px;color:var(--p-ink-3,#696b72)}
.shell .ux-empty>span,.modal .ux-empty>span,.employee-app .ux-empty>span{display:none}
.shell .ux-empty b,.modal .ux-empty b,.employee-app .ux-empty b{font-size:14.5px;font-weight:600;line-height:1.4;color:var(--p-ink,#14161c)}
.shell .ux-empty p,.modal .ux-empty p,.employee-app .ux-empty p{max-width:56ch;margin:0;font-size:13.5px;line-height:1.55;color:var(--p-ink-3,#696b72)}
.shell .ux-empty .btn,.shell .ux-empty .mini,.modal .ux-empty .btn,.employee-app .ux-empty .btn{margin-top:10px}
.shell .premium-empty,.modal .premium-empty,.modal.notification-center .premium-empty{padding:28px 20px;border:0;border-radius:0;background:transparent;text-align:center;color:var(--p-ink-3,#696b72)}
.shell .premium-empty>span,.modal .premium-empty>span,.modal.notification-center .premium-empty>span{display:none}
.shell .premium-empty b,.modal .premium-empty b,.modal.notification-center .premium-empty b{display:block;margin:0;font-size:14.5px;font-weight:600;line-height:1.4;color:var(--p-ink,#14161c)}
.shell .premium-empty p,.modal .premium-empty p{max-width:56ch;margin:4px auto 0;font-size:13.5px;line-height:1.55;color:var(--p-ink-3,#696b72)}
.shell .email-empty-detail>span{display:none}

/* ============ Espace et composants communs · Support (13 octobre 2026) ============
   Un seul message quand rien n'a été demandé ; la demande ouverte est repérée dans la liste ; la suite (où arrive la réponse) est dite sous le fil. */
.shell .support-hero{align-items:center}
.shell .support-hero h2{margin:0 0 6px}
.shell .support-hero .btn{flex:none}
.shell .support-none .empty{padding:30px 20px}
.shell .support-ticket{border-left-width:1px;cursor:pointer}
.shell .support-ticket b{font-size:14px;font-weight:600;line-height:1.35;color:var(--p-ink,#14161c)}
.shell .support-ticket span,.shell .support-ticket small{font-size:13px;line-height:1.45;color:var(--p-ink-3,#696b72)}
.shell .support-ticket small{white-space:nowrap}
.shell .support-ticket.active-ticket{border-left-width:1px;border-color:var(--p-ink,#14161c);background:#fff;box-shadow:inset 0 0 0 1px var(--p-ink,#14161c)}
.shell .support-ticket:focus-visible{outline:2px solid var(--p-ink,#14161c);outline-offset:2px}
.shell .support-direct{margin:14px 2px 0;font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}
.shell .support-direct a{color:var(--p-ink-2,#424856);text-decoration:underline;text-decoration-color:var(--p-line-2,#d5dae2);text-underline-offset:3px}
.shell .support-message p{font-size:13.5px;line-height:1.55}
.shell .support-wait{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}
.shell #support-thread .section-title .pill{flex:none;white-space:nowrap}
.shell #support-reply .field{margin-bottom:10px}
@media(max-width:760px){.shell .support-hero{align-items:flex-start}.shell .support-hero .btn{width:100%;justify-content:center}.shell #support-reply .btn{width:100%;justify-content:center}}

/* ============ Espace et composants communs · croix de fermeture des fenêtres communes (13 octobre 2026) ============ */
.modal.company-switch-modal .icon-btn,.modal.notification-center .icon-btn{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--p-ink-3,#696b72);cursor:pointer}
.modal.company-switch-modal .icon-btn:hover,.modal.notification-center .icon-btn:hover{background:#eef1f5;color:var(--p-ink,#14161c)}
.modal.company-switch-modal .icon-btn .maneo-icon,.modal.notification-center .icon-btn .maneo-icon{width:17px;height:17px;color:inherit}

/* Équipe (agent 2, reprise) · finitions : détail d'une demande lisible en entier, fiche collaborateur resserrée sur téléphone, état d'un créneau côté salarié */
.shell .team-request-row .mainline span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}
.shell .team-table .person-link{min-height:24px}
.employee-app .employee-shift-state,.employee-preview-window .employee-shift-state{font-size:13px;line-height:1.4;font-weight:500;color:var(--p-ink-3)}
@media(max-width:820px){.employee-app .employee-shift-state{grid-column:1/-1}}
@media(max-width:700px){
  .shell .team-table[data-stack] tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:center}
  .shell .team-table[data-stack] td:first-child,.shell .team-table[data-stack] td:nth-child(2),.shell .team-table[data-stack] td[colspan]{grid-column:1/-1}
  .shell .team-table[data-stack] td:nth-child(2),.shell .team-table[data-stack] td:nth-child(3),.shell .team-table[data-stack] td:nth-child(4),.shell .team-table[data-stack] td:nth-child(7),.shell .team-table[data-stack] td:nth-child(8){display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
  .shell .team-table[data-stack] td:nth-child(2)::before,.shell .team-table[data-stack] td:nth-child(3)::before,.shell .team-table[data-stack] td:nth-child(7)::before,.shell .team-table[data-stack] td:nth-child(8)::before{display:none}
  .shell .team-table[data-stack] td:nth-child(2) .footer-note{margin:0}
  .shell .team-table[data-stack] td:nth-child(3){color:var(--p-ink-2)}
  .shell .team-table[data-stack] td:nth-child(4){justify-content:flex-end;color:var(--p-ink-2)}
  .shell .team-table[data-stack] td:nth-child(4)::before{content:'Cette semaine';padding:0;font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--p-ink-3)}
  .shell .team-table[data-stack] td:nth-child(7),.shell .team-table[data-stack] td:nth-child(8){align-items:center}
  .shell .team-table[data-stack] td:nth-child(8){justify-content:flex-end}
  .shell .team-table[data-stack] td:nth-child(8) .team-access{justify-content:flex-end}
}

/* Équipe (agent 2, reprise) · jetons de couleur disponibles dans l'espace salarié, son aperçu gérant et le menu « … » (ils n'existaient que sous .shell et .modal) */
.employee-app,.employee-preview-window,.row-menu-pop{--p-canvas:#ecf0f5;--p-surface:#ffffff;--p-line:#dbe2e9;--p-line-2:#c5cfd7;--p-ink:#14161c;--p-ink-2:#424856;--p-ink-3:#696b72;--p-cu:#3f5f86;--p-cu-soft:#e8eef6;--p-cu-line:#c3d3e6;--p-pos:#1d7049;--p-pos-soft:#e8f3ec;--p-att:#8a5a0c;--p-att-soft:#fbf1dc;--p-neg:#b0302b;--p-neg-soft:#fbeceb;--p-ease:cubic-bezier(.2,.8,.2,1)}

/* Pilotage et cadre (agent 1, reprise) : le menu « ⋯ » d'une priorité s'aligne du côté où il reste de la place */
.shell .more-menu-list.align-right{left:auto;right:0}
.shell .more-menu-list.align-left{left:0;right:auto}

/* Opérations et documents (suite) : champ « Pièces jointes » d'un brouillon de facture — le bouton natif reprend l'aspect des boutons Maneo */
.modal input.file-input{height:auto;padding:8px 10px;font-size:13px;color:var(--p-ink-2);cursor:pointer}
.modal input.file-input::file-selector-button{appearance:none;-webkit-appearance:none;margin:0 12px 0 0;padding:7px 12px;border:1px solid var(--p-line-2);border-radius:10px;background:#fff;font:600 13px/1.2 Inter,system-ui,sans-serif;color:var(--p-ink);cursor:pointer;transition:background .18s var(--p-ease)}
.modal input.file-input::file-selector-button:hover{background:var(--p-canvas)}

/* ============ Espace et composants communs · Connexions, sources à venir (13 octobre 2026) ============
   Le titre « À venir » suffit : l'état n'est pas répété sur chaque ligne du groupe. */
.shell .cn-later .cn-quiet .cn-state{display:none}

/* Espace salarié (agent 2, reprise) · libellés de champ en casse normale, comme dans le Manager */
.employee-app .field label,.employee-preview-window .field label{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.35;color:var(--p-ink-2)}

/* ============ Espace et composants communs · boutons des fenêtres au doigt (13 octobre 2026) ============ */
@media(max-width:640px){.modal .modal-actions .btn{min-height:44px}}

/* ============ Espace et composants communs · centre de notifications sur téléphone (13 octobre 2026) ============ */
.modal.notification-center .section-title{align-items:center}
@media(max-width:640px){.modal.notification-center{width:100%;padding:20px 18px 18px}}

/* ============ Espace et composants communs · état vide de la recherche, aux mêmes tailles que les autres (13 octobre 2026) ============ */
.command-palette .command-empty{gap:4px;text-align:center}
.command-palette .command-empty b{font-size:14.5px;font-weight:600;line-height:1.4;color:var(--p-ink,#14161c)}
.command-palette .command-empty span{font-size:13.5px;line-height:1.55;color:var(--p-ink-3,#696b72)}

/* marque Maneo AI sur les boutons : une icône au trait, à la couleur du texte */
.ai-mark{display:inline-block;flex:none;width:1.05em;height:1.05em;margin-right:.42em;vertical-align:-.16em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5c.7 4.6 2.6 6.5 7.5 7.2-4.9.7-6.8 2.6-7.5 7.8-.7-5.2-2.6-7.1-7.5-7.8 4.9-.7 6.8-2.6 7.5-7.2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5c.7 4.6 2.6 6.5 7.5 7.2-4.9.7-6.8 2.6-7.5 7.8-.7-5.2-2.6-7.1-7.5-7.8 4.9-.7 6.8-2.6 7.5-7.2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Essai mission 5 — Maneo AI : une proposition à valider ne porte pas la coche verte d’une action exécutée */
.shell .tool-state.wait{background:var(--p-att-soft);color:var(--p-att)}
.shell .tool-state.bad{background:var(--p-neg-soft);color:var(--p-neg)}
.shell .ai-action-chip.pending{color:var(--p-att)}
.shell .ai-action-chip.pending>span{background:var(--p-att-soft);color:var(--p-att)}
.shell .ai-action-chip.failed>span{background:var(--p-neg-soft);color:var(--p-neg)}
.shell .ai-action-chip small{color:inherit;opacity:.85}

/* Essai mission 6 (téléphone, tablette, cas limites) : sortie de l'assistant vers un établissement déjà en service */
.obx .obx-leave{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:22px 0 0;font-size:13px;line-height:1.5;color:var(--p-ink-3,#696b72)}
.obx .obx-leave-btn{appearance:none;border:1px solid var(--p-line,#d9dfe5);background:#fff;color:var(--p-ink,#14161c);font:inherit;font-weight:600;border-radius:12px;padding:8px 14px;cursor:pointer}
.obx .obx-leave-btn:hover{border-color:var(--p-ink-3,#696b72)}
.obx .obx-leave-btn:focus-visible{outline:2px solid var(--p-ink,#14161c);outline-offset:2px}

/* Essai mission 5 — Maneo AI : la pastille d’état garde sa taille quand le libellé passe sur deux lignes */
.shell .action-log .tool-state{flex:none}

/* Essai mission 2 · équipe : fiche inactive dans la liste, heure pointée dans l'espace salarié */
.shell .team-table .person-inactive{display:block;font-size:12px;font-weight:600;color:var(--p-att,#8a5a00)}
.employee-app .employee-hero .employee-clock-note{margin-top:6px;font-size:13px;font-weight:600;color:var(--p-ink-2,#3a3f4b)}

/* Essai mission 5 — Planning : service fermé d’après les horaires de l’établissement */
.shell .day-col .day-service-note{display:block;margin:0 0 8px;padding:0 2px;font-size:12px;font-weight:600;line-height:1.4;color:var(--p-ink-3)}

/* Essai mission 1 (premiers pas) : le titre du repère de mise en route passe à la ligne au lieu d'être coupé */
.shell .gp-text b{white-space:normal}

/* barre latérale : un nom d’établissement long passe sur deux lignes au lieu d’être coupé */
.shell .side-company b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;text-overflow:clip;line-height:1.25;overflow-wrap:anywhere}

/* dernières finitions du 13 octobre : libellés des absences sur écran étroit, tableau des collaborateurs sur tablette */
@media(max-width:1100px){.shell .list-row .mainline>span,.shell .list-row .mainline>.coverage-state{white-space:normal;overflow:visible;text-overflow:clip}}
.shell .team-table th:last-child{position:relative}

/* 13 oct. (soir) — relevés importés (Finance › Banque) et retrait d'une annonce */
.shell .bank-imports{margin-top:18px;border-top:1px solid var(--p-line);padding-top:14px}
.shell .bank-imports>summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--p-ink);list-style:none;display:flex;align-items:center;gap:8px}
.shell .bank-imports>summary::-webkit-details-marker{display:none}
.shell .bank-imports>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid var(--p-ink-3);border-bottom:1.5px solid var(--p-ink-3);transform:rotate(-45deg);transition:transform .18s var(--p-ease)}
.shell .bank-imports[open]>summary::before{transform:rotate(45deg)}
.shell .bank-imports .count{font-weight:500;color:var(--p-ink-3);font-size:13px}
.shell .bank-imports .list{margin-top:10px}
.shell .bank-imports .list-row{align-items:center;gap:12px}
.shell .announcement>.mini{margin-left:auto;align-self:flex-start;flex:none}

/* 13 oct. (soir) — nouvelle conversation Maneo AI, retours en arrière côté salarié */
.shell .premium-chat-head .ai-new-chat{flex:none;white-space:nowrap}
.employee-app .employee-shift-state+.btn{margin:10px 0 0}
@media(max-width:640px){.shell .premium-chat-head{flex-wrap:wrap;row-gap:8px}.shell .premium-chat-head .ai-new-chat{margin-left:auto}}

/* 13 oct. (soir) — téléphone : « Supprimer… » passe sous les deux boutons d'une fenêtre au lieu de les tasser sur deux lignes */
@media(max-width:480px){
  #modal-root form.modal .modal-actions:has(.modal-delete){flex-wrap:wrap}
  #modal-root form.modal .modal-actions:has(.modal-delete)>.btn:not(.modal-delete){flex:1 1 0}
  #modal-root form.modal .modal-actions>.modal-delete{order:3;flex:1 0 100%;margin:4px 0 0;justify-content:center;text-align:center}
}

/* 13 oct. (nuit) — fil d'étapes de l'inscription sur téléphone : plus de libellé coupé au bord */
@media(max-width:480px){
  .auth-shell .auth-path,.billing-gate .auth-path{font-size:12px}
  .auth-path li{gap:6px;min-width:0;white-space:normal;line-height:1.2}
  .auth-path li b{flex:none}
  .auth-path li+li::before{width:10px;margin:0 6px;flex:none}
}
