/* ============================================================================
   Atlas Shell — coquille transverse de l'univers Dentego
   Feuille de style AUTONOME et RÉUTILISABLE. À inclure telle quelle dans chaque
   brique (Cockpit, Travaux, Pilotage, Réunion, Dashboard, Communication…) et
   dans le portail Atlas lui-même.

   Contrat d'isolation : TOUT est préfixé `.atlas-` et vit sous `.atlas-shell`.
   Aucune règle ne cible d'élément global (pas de reset, pas de `body{}`), donc
   la coquille ne peut pas déteindre sur le front de la brique hôte.

   Palette Atlas : bleu profond #005EA6 · bleu vif #1C9DE8 · neutres.
   Aucune dépendance externe (police système, aucun asset distant) → CSP stricte.
   ========================================================================== */

.atlas-shell{
  /* Jetons — surchargables par la brique en redéfinissant ces variables. */
  --a-bleu:#005EA6;
  --a-bleu-2:#1C9DE8;
  --a-ink:#122536;
  --a-ink-2:#5A6B7E;
  --a-line:#E2EAF2;
  --a-surface:#ffffff;
  --a-surface-2:#F3F7FB;
  --a-alert:#E24A3F;
  --a-amber:#EE9207;
  --a-ok:#12A05C;
  --a-radius:16px;
  --a-radius-sm:11px;
  --a-h-h:58px;                 /* hauteur de l'en-tête (référence de calage) */
  --a-shadow:0 1px 2px rgba(16,40,70,.06), 0 18px 44px rgba(16,40,70,.16);
  --a-shadow-sm:0 1px 2px rgba(16,40,70,.05), 0 8px 22px rgba(16,40,70,.10);
  --a-z:2147480000;
  --a-font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  font-family:var(--a-font);
  color:var(--a-ink);
}
.atlas-shell *{box-sizing:border-box}
.atlas-shell button{font-family:inherit;cursor:pointer}
.atlas-shell input,.atlas-shell textarea,.atlas-shell select{font-family:inherit}
.atlas-shell :focus-visible{outline:2px solid var(--a-bleu-2);outline-offset:2px;border-radius:6px}

/* ============================= EN-TÊTE ==================================== */
.atlas-topbar{
  position:sticky;top:0;left:0;right:0;
  z-index:calc(var(--a-z) - 5);
  display:flex;align-items:center;gap:12px;
  min-height:var(--a-h-h);
  padding:9px clamp(10px,2.4vw,20px);
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.92));
  backdrop-filter:saturate(1.4) blur(8px);
  -webkit-backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--a-line);
}

/* -------- Switcher (logo + marque + brique + chevron) = app-switcher ----- */
.atlas-switcher{
  display:flex;align-items:center;gap:9px;flex:0 0 auto;
  padding:6px 9px 6px 6px;border:1px solid transparent;border-radius:12px;
  background:transparent;color:inherit;transition:background .14s,border-color .14s;
}
.atlas-switcher:hover{background:var(--a-surface-2);border-color:var(--a-line)}
.atlas-switcher[aria-expanded="true"]{background:var(--a-surface-2);border-color:var(--a-line)}
.atlas-switcher .a-logo{
  width:30px;height:30px;border-radius:9px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2));
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;
  box-shadow:0 4px 12px rgba(0,94,166,.28);
}
.atlas-switcher .a-logo--img{object-fit:cover;box-shadow:none}
.atlas-switcher .a-brand{font-weight:800;font-size:15px;letter-spacing:-.01em}
.atlas-switcher .a-sw-sep{width:1px;height:18px;background:var(--a-line);flex:0 0 auto}
.atlas-switcher .a-brique{font-weight:600;font-size:14px;color:var(--a-ink-2);white-space:nowrap;max-width:24ch;overflow:hidden;text-overflow:ellipsis}
.atlas-switcher .a-chevron{display:grid;place-items:center;flex:0 0 auto}
.atlas-switcher .a-chevron svg{width:15px;height:15px;stroke:var(--a-ink-2);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.atlas-switcher[aria-expanded="true"] .a-chevron svg{transform:rotate(180deg)}

/* -------- Espaceur central (l'en-tête est sobre : switcher · avatar) ----- */
.atlas-topbar-spacer{flex:1 1 auto;min-width:0}

/* Avatar — ouvre le menu (compte/paramètres). */
.atlas-avatar{position:relative;flex:0 0 auto;width:38px;height:38px;border:1px solid var(--a-line);border-radius:50%;padding:0;overflow:hidden;background:var(--a-surface)}
.atlas-avatar .a-av-ini{width:100%;height:100%;display:grid;place-items:center;font-weight:800;font-size:13.5px;color:#fff;background:linear-gradient(135deg,#2C3E52,#4A6076)}
.atlas-avatar .a-av-img{width:100%;height:100%;object-fit:cover;display:block}
.atlas-avatar[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(28,157,232,.28)}

/* ======================= DOCK FLOTTANT (déplaçable) ==================== */
/* Actions fréquentes, UNIFORME partout, en surimpression (aucune page touchée).
   Barre de VERRE compacte, HORIZONTALE par défaut. DÉPLAÇABLE (grip ⠿) : se
   pose sur un bord — gauche/droite → colonne verticale, haut/bas → rangée.
   RÉTRACTABLE (poignée ⌄) : repliée → un seul bouton lanceur. */
.atlas-dock{
  position:fixed;z-index:calc(var(--a-z) - 3);
  display:flex;align-items:center;gap:6px;padding:5px;
  border-radius:16px;border:1px solid rgba(226,234,242,.85);
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(1.5) blur(12px);-webkit-backdrop-filter:saturate(1.5) blur(12px);
  box-shadow:0 6px 22px rgba(16,40,70,.16);
  transition:opacity .2s ease, transform .2s ease;
  touch-action:none;
}
.atlas-dock.is-horizontal{flex-direction:row}
.atlas-dock.is-vertical{flex-direction:column}
.atlas-dock.is-dragging{transition:none;cursor:grabbing;box-shadow:0 16px 40px rgba(16,40,70,.28)}
/* Masqué (non interactif) quand un panneau/palette occupe l'écran. */
.atlas-dock.a-hidden{opacity:0;transform:translateY(10px) scale(.96);pointer-events:none}

.atlas-dock-actions{display:flex;align-items:center;gap:6px}
.atlas-dock.is-horizontal .atlas-dock-actions{flex-direction:row}
.atlas-dock.is-vertical .atlas-dock-actions{flex-direction:column}
.atlas-dock.is-collapsed .atlas-dock-actions{display:none}

/* Grip de déplacement (⠿). */
.atlas-dock-grip{
  flex:0 0 auto;width:18px;height:34px;border:none;border-radius:9px;
  background:transparent;color:var(--a-ink-2);display:grid;place-items:center;
  cursor:grab;transition:background .14s,color .14s;touch-action:none;
}
.atlas-dock.is-vertical .atlas-dock-grip{width:34px;height:18px}
.atlas-dock-grip:hover{background:var(--a-surface-2);color:var(--a-ink)}
.atlas-dock-grip:active{cursor:grabbing}
.atlas-dock-grip svg{width:16px;height:16px;fill:currentColor;stroke:none}
.atlas-dock.is-vertical .atlas-dock-grip svg{transform:rotate(90deg)}
.atlas-dock.is-collapsed .atlas-dock-grip{display:none}

/* Boutons compacts (~34px). */
.atlas-dock-btn{
  position:relative;width:34px;height:34px;flex:0 0 auto;
  border:none;border-radius:50%;display:grid;place-items:center;
  font-size:16px;color:#fff;box-shadow:0 3px 10px rgba(0,40,90,.22);
  transition:transform .12s, box-shadow .16s, filter .16s;
}
.atlas-dock-btn .a-db-sym{line-height:1}
.atlas-dock-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,40,90,.30)}
.atlas-dock.is-vertical .atlas-dock-btn:hover{transform:translateX(-2px)}
.atlas-dock-btn:active{transform:scale(.92)}
.atlas-dock-btn--search{background:#fff;color:var(--a-bleu);border:1px solid #cfe6f8;box-shadow:0 3px 10px rgba(0,40,90,.14)}
.atlas-dock-btn--ai{background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2))}
.atlas-dock-btn--chat{background:linear-gradient(135deg,#1C9DE8,#39B0F0)}
.atlas-dock-btn--feedback{background:linear-gradient(135deg,#F5A623,#EE9207)}
/* REC = micro blanc sur fond rouge pulsant (caméra qui enregistre). */
.atlas-dock-btn--rec{background:linear-gradient(135deg,#F0584C,#E24A3F);animation:atlas-rec-glow 1.7s ease-out infinite}
.atlas-dock-btn--rec .a-db-mic{display:grid;place-items:center}
.atlas-dock-btn--rec .a-db-mic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Présence + pastille de compteur (Conversations). */
.atlas-dock-btn .a-db-presence{position:absolute;top:1px;right:1px;width:8px;height:8px;border-radius:50%;background:var(--a-ok);border:2px solid #fff}
.atlas-dock-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--a-alert);color:#fff;font-size:10px;font-weight:800;display:none;align-items:center;justify-content:center;border:1.5px solid #fff}
.atlas-dock-badge.a-show{display:flex}

/* Poignée de repli (⌄). */
.atlas-dock-handle{
  position:relative;flex:0 0 auto;width:26px;height:34px;
  border:none;border-radius:9px;background:transparent;color:var(--a-ink-2);
  display:grid;place-items:center;transition:background .14s,color .14s,transform .12s;
}
.atlas-dock.is-vertical .atlas-dock-handle{width:34px;height:26px}
.atlas-dock-handle:hover{background:var(--a-surface-2);color:var(--a-ink)}
.atlas-dock-handle .a-dh-chev{display:grid;place-items:center}
.atlas-dock-handle .a-dh-chev svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.atlas-dock.is-vertical .atlas-dock-handle .a-dh-chev svg{transform:rotate(-90deg)}
/* Replié = un SEUL bouton lanceur rond (pastille de marque). */
.atlas-dock.is-collapsed{padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;gap:0}
.atlas-dock.is-collapsed .atlas-dock-handle{
  width:48px;height:48px;border-radius:50%;color:#fff;
  background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2));
  box-shadow:0 8px 20px rgba(0,94,166,.34);
}
.atlas-dock.is-collapsed .atlas-dock-handle:hover{box-shadow:0 11px 26px rgba(0,94,166,.42);transform:translateY(-2px)}
.atlas-dock.is-collapsed .atlas-dock-handle .a-dh-chev{display:none}
.atlas-dock-handle .a-dh-launcher{display:grid;place-items:center}
.atlas-dock-handle .a-dh-launcher svg{width:22px;height:22px;fill:currentColor;stroke:none}
/* Point d'alerte sur le lanceur replié quand un compteur > 0. */
.atlas-dock.is-collapsed .atlas-dock-handle.has-alert::after{
  content:"";position:absolute;top:3px;right:3px;width:11px;height:11px;
  border-radius:50%;background:var(--a-alert);border:2px solid #fff;
}

/* Infobulle du dock — orientée selon le bord d'ancrage. */
.atlas-dock-tip{
  position:absolute;white-space:nowrap;background:var(--a-ink);color:#fff;
  font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;
  box-shadow:var(--a-shadow-sm);opacity:0;pointer-events:none;transition:opacity .14s;z-index:2;
}
.atlas-dock.on-bottom .atlas-dock-tip{bottom:calc(100% + 9px);left:50%;transform:translateX(-50%)}
.atlas-dock.on-top    .atlas-dock-tip{top:calc(100% + 9px);left:50%;transform:translateX(-50%)}
.atlas-dock.on-right  .atlas-dock-tip{right:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.atlas-dock.on-left   .atlas-dock-tip{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.atlas-dock-btn:hover .atlas-dock-tip,.atlas-dock-btn:focus-visible .atlas-dock-tip{opacity:1}
@media (hover:none){.atlas-dock-tip{display:none}}

/* ====================== PALETTE DE RECHERCHE (🔍 / Cmd-K) =============== */
.atlas-palette-ov{
  position:fixed;inset:0;z-index:calc(var(--a-z) + 2);
  background:rgba(8,26,44,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  display:none;align-items:flex-start;justify-content:center;padding:13vh 16px 16px;
}
.atlas-palette-ov.a-open{display:flex;animation:a-fade .16s ease both}
.atlas-palette{
  width:min(600px,100%);max-height:72vh;display:flex;flex-direction:column;overflow:hidden;
  background:var(--a-surface);border:1px solid var(--a-line);
  border-radius:18px;box-shadow:var(--a-shadow);animation:a-pop .18s ease both;
}
.atlas-palette-search{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--a-line)}
.atlas-palette-search .a-p-spark{font-size:18px;line-height:1;filter:saturate(1.2)}
.atlas-palette-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:16px;color:var(--a-ink)}
.atlas-palette-input::placeholder{color:var(--a-ink-2)}
.atlas-palette-input::-webkit-search-cancel-button{-webkit-appearance:none}
.atlas-palette-kbd{flex:0 0 auto;font-size:10.5px;font-weight:800;color:var(--a-ink-2);border:1px solid var(--a-line);border-radius:6px;padding:2px 7px}
.atlas-palette-close{flex:0 0 auto;width:32px;height:32px;border:none;border-radius:9px;background:transparent;display:grid;place-items:center;color:var(--a-ink-2);transition:background .14s,color .14s}
.atlas-palette-close:hover{background:var(--a-surface-2);color:var(--a-ink)}
.atlas-palette-close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.atlas-palette-body{flex:1 1 auto;overflow:auto;padding:8px}

/* États + résultats (partagés par la palette). */
.atlas-search-state{padding:26px 18px;text-align:center;color:var(--a-ink-2);font-size:13.5px;line-height:1.5}
.atlas-search-state .a-state-title{display:block;color:var(--a-ink);font-weight:800;font-size:14.5px;margin-bottom:5px}
.atlas-result{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:11px;text-decoration:none;color:inherit}
.atlas-result:hover{background:var(--a-surface-2)}
.atlas-result .a-r-ico{width:30px;height:30px;border-radius:8px;flex:0 0 auto;background:#EAF4FC;display:grid;place-items:center;font-size:14px}
.atlas-result .a-r-txt{min-width:0}
.atlas-result .a-r-title{font-weight:700;font-size:13.5px;margin:0 0 2px;display:block}
.atlas-result .a-r-desc{font-size:12px;color:var(--a-ink-2);margin:0;line-height:1.4;display:block}
.atlas-result .a-r-tag{margin-left:auto;flex:0 0 auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--a-bleu);background:#EAF4FC;border:1px solid #cfe6f8;padding:2px 7px;border-radius:999px}

/* ===================== MENU DÉROULANT (app-switcher) ==================== */
.atlas-menu{
  position:fixed;z-index:var(--a-z);
  width:min(320px,calc(100vw - 16px));
  background:var(--a-surface);border:1px solid var(--a-line);
  border-radius:var(--a-radius);box-shadow:var(--a-shadow);
  padding:7px;max-height:min(78dvh,640px);overflow:auto;display:none;
}
.atlas-menu.a-open{display:block;animation:a-pop .16s ease both}
.atlas-menu-sec{display:flex;flex-direction:column;gap:1px}
.atlas-menu-h{margin:6px 8px 4px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--a-ink-2)}
.atlas-menu-div{height:1px;background:var(--a-line);margin:7px 4px}

.atlas-mi{
  display:flex;align-items:center;gap:11px;width:100%;text-align:left;
  padding:9px 10px;border:1px solid transparent;border-radius:11px;
  background:transparent;color:var(--a-ink);text-decoration:none;
  font-size:14px;font-weight:600;transition:background .12s,border-color .12s;
}
.atlas-mi:hover,.atlas-mi:focus-visible{background:var(--a-surface-2)}
.atlas-mi .a-mi-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Icône briques (emoji, tuile chaude) */
.atlas-mi .a-mi-emoji{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;font-size:17px;border-radius:9px;background:var(--a-surface-2)}
/* Tuile de marque « Retour à Atlas » */
.atlas-mi .a-mi-brandtile{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;border-radius:9px;background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2))}
/* Icône transverse (SVG mono, jeu disjoint des emoji → aucun doublon) */
.atlas-mi .a-mi-ico{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;color:var(--a-ink-2)}
.atlas-mi .a-mi-ico svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Brique courante : marquée, non cliquable */
.atlas-mi.is-current{background:#EAF4FC;border-color:#cfe6f8;cursor:default}
.atlas-mi.is-current .a-mi-label{color:var(--a-bleu);font-weight:800}
.atlas-mi .a-mi-here{margin-left:auto;flex:0 0 auto;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--a-bleu);background:#fff;border:1px solid #cfe6f8;padding:2px 7px;border-radius:999px}

/* Danger (Quitter) */
.atlas-mi.is-danger .a-mi-ico{color:var(--a-alert)}
.atlas-mi.is-danger:hover{background:#fbe9e7}
.atlas-mi.is-danger:hover .a-mi-label{color:var(--a-alert)}

/* Paramètres : entrée expansible + sous-entrées indentées */
.atlas-mi.has-sub .a-mi-caret{margin-left:auto;flex:0 0 auto;display:grid;place-items:center}
.atlas-mi.has-sub .a-mi-caret svg{width:15px;height:15px;stroke:var(--a-ink-2);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.atlas-mi-group.is-open > .has-sub .a-mi-caret svg{transform:rotate(180deg)}
.atlas-mi-sub{display:flex;flex-direction:column;gap:1px;padding:2px 0 2px 20px;margin:1px 0}
.atlas-mi-sub .atlas-mi{font-weight:600;font-size:13.5px}
.atlas-mi-sub .a-mi-ico svg{width:17px;height:17px}

/* ========================= PANNEAUX (sheets) ============================= */
.atlas-backdrop{position:fixed;inset:0;z-index:calc(var(--a-z) - 1);background:rgba(16,40,70,.28);backdrop-filter:blur(1px);display:none}
.atlas-backdrop.a-open{display:block;animation:a-fade .2s ease both}

.atlas-sheet{
  position:fixed;z-index:var(--a-z);
  right:clamp(12px,2.6vw,22px);top:calc(var(--a-h-h) + 12px);
  width:min(384px,calc(100vw - 24px));
  max-height:calc(100dvh - var(--a-h-h) - 28px);
  background:var(--a-surface);border:1px solid var(--a-line);
  border-radius:var(--a-radius);box-shadow:var(--a-shadow);
  display:none;flex-direction:column;overflow:hidden;
}
.atlas-sheet.a-open{display:flex;animation:a-slide .22s cubic-bezier(.2,.8,.2,1) both}
.atlas-sheet-head{display:flex;align-items:center;gap:10px;padding:14px 14px 13px;border-bottom:1px solid var(--a-line)}
.atlas-sheet-head .a-h-sym{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:grid;place-items:center;font-size:17px;background:var(--a-surface-2);border:1px solid var(--a-line)}
.atlas-sheet--ai .a-h-sym{background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2));border-color:transparent}
.atlas-sheet-head .a-h-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover}
.atlas-sheet-head .a-h-txt{min-width:0;flex:1 1 auto;line-height:1.25}
.atlas-sheet-head .a-h-title{font-weight:800;font-size:15px;letter-spacing:-.01em;display:block}
.atlas-sheet-head .a-h-sub{font-size:11.5px;color:var(--a-ink-2);display:block}
.atlas-sheet-close{width:32px;height:32px;border:none;border-radius:9px;background:transparent;flex:0 0 auto;display:grid;place-items:center;color:var(--a-ink-2);transition:background .14s,color .14s}
.atlas-sheet-close:hover{background:var(--a-surface-2);color:var(--a-ink)}
.atlas-sheet-close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.atlas-sheet-body{flex:1 1 auto;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.atlas-sheet-foot{border-top:1px solid var(--a-line);padding:10px 12px}

/* Chat (IA + Conversations partagent la mécanique) */
.atlas-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.atlas-msg--bot{align-self:flex-start;background:var(--a-surface-2);border:1px solid var(--a-line);border-bottom-left-radius:5px;color:var(--a-ink)}
.atlas-msg--me{align-self:flex-end;background:var(--a-bleu);color:#fff;border-bottom-right-radius:5px}
.atlas-msg--sys{align-self:center;background:transparent;color:var(--a-ink-2);font-size:12px;text-align:center;max-width:100%}
.atlas-msg--err{align-self:flex-start;background:#fbe9e7;border:1px solid #f4c9c2;color:#a5342b}
.atlas-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:12px 14px;background:var(--a-surface-2);border:1px solid var(--a-line);border-radius:14px;border-bottom-left-radius:5px}
.atlas-typing span{width:6px;height:6px;border-radius:50%;background:var(--a-ink-2);opacity:.5;animation:a-blink 1.2s infinite}
.atlas-typing span:nth-child(2){animation-delay:.2s}
.atlas-typing span:nth-child(3){animation-delay:.4s}
.atlas-composer{display:flex;align-items:flex-end;gap:8px}
.atlas-composer textarea{flex:1 1 auto;resize:none;max-height:120px;padding:10px 12px;border:1px solid var(--a-line);border-radius:12px;font-size:14px;line-height:1.4;color:var(--a-ink);background:var(--a-surface-2)}
.atlas-composer textarea:focus{outline:none;background:#fff;border-color:var(--a-bleu-2);box-shadow:0 0 0 3px rgba(28,157,232,.14)}
.atlas-send{width:40px;height:40px;flex:0 0 auto;border:none;border-radius:12px;background:var(--a-bleu);color:#fff;display:grid;place-items:center;transition:filter .15s,transform .1s}
.atlas-send:hover{filter:brightness(1.08)}
.atlas-send:active{transform:scale(.95)}
.atlas-send[disabled]{opacity:.5;cursor:not-allowed;filter:none}
.atlas-send svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Conversations : liste de fils (stub) */
.atlas-thread{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:12px;text-decoration:none;color:inherit;border:1px solid transparent;cursor:pointer;text-align:left;background:none;width:100%}
.atlas-thread:hover{background:var(--a-surface-2)}
.atlas-thread .a-t-av{width:36px;height:36px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--a-bleu),var(--a-bleu-2))}
.atlas-thread .a-t-main{min-width:0;flex:1 1 auto}
.atlas-thread .a-t-name{font-weight:700;font-size:13.5px;margin:0;display:block}
.atlas-thread .a-t-last{font-size:12px;color:var(--a-ink-2);margin:1px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.atlas-thread .a-t-meta{margin-left:auto;flex:0 0 auto;text-align:right}
.atlas-thread .a-t-time{font-size:10.5px;color:var(--a-ink-2);display:block}
.atlas-thread .a-t-unread{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--a-bleu-2);color:#fff;font-size:10.5px;font-weight:800;align-items:center;justify-content:center;margin-top:3px}

/* Bug & Idée : formulaire */
.atlas-form{display:flex;flex-direction:column;gap:14px}
.atlas-field{display:flex;flex-direction:column;gap:7px}
.atlas-field > .a-label{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--a-ink-2)}
.atlas-segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.atlas-seg{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid var(--a-line);border-radius:12px;background:var(--a-surface-2);font-weight:700;font-size:13.5px;color:var(--a-ink-2);transition:border-color .14s, background .14s, color .14s}
.atlas-seg .a-seg-sym{font-size:16px}
.atlas-seg[aria-pressed="true"]{background:#EAF4FC;border-color:var(--a-bleu-2);color:var(--a-bleu)}
.atlas-form textarea{min-height:110px;resize:vertical;padding:11px 12px;border:1px solid var(--a-line);border-radius:12px;font-size:14px;line-height:1.5;color:var(--a-ink);background:var(--a-surface-2)}
.atlas-form textarea:focus{outline:none;background:#fff;border-color:var(--a-bleu-2);box-shadow:0 0 0 3px rgba(28,157,232,.14)}
.atlas-submit{padding:12px;border:none;border-radius:12px;background:var(--a-bleu);color:#fff;font-weight:700;font-size:14.5px;transition:filter .15s,transform .1s}
.atlas-submit:hover{filter:brightness(1.08)}
.atlas-submit:active{transform:translateY(1px)}
.atlas-submit[disabled]{opacity:.6;cursor:progress}
.atlas-formmsg{font-size:13px;line-height:1.45;min-height:16px;margin:0}
.atlas-formmsg.a-ok{color:var(--a-ok);font-weight:600}
.atlas-formmsg.a-no{color:var(--a-alert);font-weight:600}
.atlas-formmsg.a-info{color:var(--a-amber);font-weight:600}
.atlas-note{font-size:11px;color:var(--a-ink-2);line-height:1.4;margin:2px 0 0}

/* ============================== TOAST ==================================== */
.atlas-toast{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(10px);
  z-index:var(--a-z);background:var(--a-ink);color:#fff;
  font-size:13px;font-weight:600;padding:11px 16px;border-radius:12px;
  box-shadow:var(--a-shadow);max-width:min(90vw,420px);text-align:center;
  opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;
}
.atlas-toast.a-show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============================ ANIMATIONS ================================ */
@keyframes a-pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes a-fade{from{opacity:0}to{opacity:1}}
@keyframes a-slide{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes a-blink{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@keyframes a-sheet-up{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
/* REC : halo rouge pulsant « caméra qui enregistre » (micro blanc sur rouge). */
@keyframes atlas-rec-glow{0%{box-shadow:0 3px 10px rgba(226,74,63,.30),0 0 0 0 rgba(226,74,63,.55)}70%{box-shadow:0 3px 10px rgba(226,74,63,.30),0 0 0 8px rgba(226,74,63,0)}100%{box-shadow:0 3px 10px rgba(226,74,63,.30),0 0 0 0 rgba(226,74,63,0)}}

/* ===================== RESPONSIVE (mobile) ============================== */
@media (max-width:600px){
  .atlas-switcher .a-brand,.atlas-switcher .a-sw-sep{display:none}
}
@media (max-width:430px){
  .atlas-switcher .a-brique{display:none}
}
/* Panneaux = feuilles de bas de page sur mobile. */
@media (max-width:520px){
  .atlas-sheet{left:0;right:0;bottom:0;top:auto;width:100%;max-height:88dvh;border-radius:18px 18px 0 0;border-bottom:none}
  .atlas-sheet.a-open{animation:a-sheet-up .24s cubic-bezier(.2,.8,.2,1) both}
}
/* Palette = plein écran sur mobile (seul moyen de recherche sur iPhone). */
@media (max-width:560px){
  .atlas-palette-ov{padding:0}
  .atlas-palette{width:100%;max-width:none;height:100dvh;height:100svh;max-height:none;border-radius:0;border:none}
  .atlas-palette-kbd{display:none}
}

@media (prefers-reduced-motion:reduce){
  .atlas-shell *,
  .atlas-sheet.a-open,.atlas-backdrop.a-open,.atlas-palette-ov.a-open,.atlas-palette,.atlas-menu.a-open,
  .atlas-toast,.atlas-switcher .a-chevron svg,.atlas-mi-caret svg,
  .atlas-dock,.atlas-dock-btn,.atlas-dock-handle,
  .atlas-dock-btn--rec{animation:none!important;transition:none!important}
  /* REC sans mouvement : garde une lisibilité forte (halo rouge net, fixe). */
  .atlas-dock-btn--rec{box-shadow:0 3px 10px rgba(226,74,63,.30),0 0 0 3px rgba(226,74,63,.5)!important}
}
