/* Console d’agents — refonte claire (24/10/2026, principal). Sombre, aéré, une page à la fois. */
:root {
  --fond:#0b0b0f; --fond-2:#111116; --carte:#16161c; --carte-2:#1c1c24; --trait:rgba(255,255,255,.08); --trait-2:rgba(255,255,255,.15);
  --texte:#ededf2; --texte-2:#b9b9c6; --texte-3:#7c7c8a; --accent:#ff6a3d; --vert:#4ade80; --rouge:#ff8fa3; --jaune:#fbbf24; --bleu:#38bdf8;
  --titre:'Manrope','DM Sans',system-ui,sans-serif; --mono:ui-monospace,"Cascadia Code",Consolas,monospace;
}
* { box-sizing:border-box; }
html { color-scheme:dark; height:100%; }
body { margin:0; height:100%; background:var(--fond); color:var(--texte); font:15px/1.5 'DM Sans',system-ui,sans-serif; }
button, input, textarea, select { font:inherit; color:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
h2, h3, h4 { font-family:var(--titre); margin:0; } h2 { font-size:18px; } h3 { font-size:15px; } h4 { font-size:15px; margin:8px 0 4px; }
.discret { color:var(--texte-3); } .petit { font-size:12.5px; } .erreur { color:var(--rouge); }
.vide { color:var(--texte-3); text-align:center; padding:40px 20px; margin:0; }
.bouton { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:38px; padding:0 16px; border-radius:10px; border:1px solid var(--trait-2); background:var(--carte-2); font-weight:600; font-size:14px; }
.bouton:hover { border-color:rgba(255,255,255,.3); }
.bouton.principal { border:0; color:#fff; background:linear-gradient(135deg,#ff7a45,#e23d2b); }
.bouton.mini { height:30px; padding:0 11px; font-size:13px; } .bouton.plein { width:100%; }
.bouton:disabled { opacity:.5; cursor:default; }
.lien { background:none; border:0; padding:0; color:var(--bleu); font-size:13.5px; text-align:left; }
.lien:hover { text-decoration:underline; }
.badge { font-size:11px; font-weight:700; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--accent); color:#fff; display:inline-grid; place-items:center; }
.pastille { font-size:11.5px; font-weight:700; padding:2px 9px; border-radius:99px; border:1px solid var(--trait-2); color:var(--texte-2); white-space:nowrap; }
.pastille.ok { color:var(--vert); border-color:rgba(74,222,128,.35); } .pastille.ko { color:var(--rouge); border-color:rgba(255,143,163,.35); }
.carte { background:var(--carte); border:1px solid var(--trait); border-radius:14px; }
.logo { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; font:800 17px var(--titre); background:linear-gradient(135deg,#ff7a45,#e23d2b); flex-shrink:0; }
.avatar { --c:#888; display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; flex-shrink:0; font:800 12px var(--titre); color:var(--c); background:color-mix(in srgb, var(--c) 18%, transparent); border:2px solid color-mix(in srgb, var(--c) 60%, transparent); }
.avatar.grand { width:42px; height:42px; font-size:15px; }
input, textarea, select { background:var(--fond-2); border:1px solid var(--trait); border-radius:10px; padding:10px 12px; outline:none; }
input:focus, textarea:focus { border-color:var(--trait-2); }

/* accès */
.acces { min-height:100%; display:grid; grid-template-columns:minmax(0,1fr); place-items:center; padding:16px; }
.acces-carte { width:min(400px,100%); padding:24px; display:flex; flex-direction:column; gap:14px; overflow-wrap:anywhere; }
.acces-carte h1 { margin:4px 0 0; font:800 22px var(--titre); }
.acces-carte label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--texte-2); }
.marque { display:flex; align-items:center; gap:12px; } .marque strong { display:block; font:800 15px var(--titre); } .marque small { color:var(--texte-3); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }

/* cadre : rail à gauche + une page */
.app { display:grid; grid-template-columns:84px minmax(0,1fr); height:100vh; height:100dvh; }
.rail { display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 6px; background:var(--fond-2); border-right:1px solid var(--trait); }
.rail .logo { margin-bottom:10px; }
.rail-bouton { position:relative; width:72px; display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 2px; border:0; border-radius:12px; background:none; color:var(--texte-3); font-size:11.5px; font-weight:600; }
.rail-bouton span { font-size:19px; filter:grayscale(.35); }
.rail-bouton:hover { color:var(--texte); background:rgba(255,255,255,.04); }
.rail-bouton.actif { color:#fff; background:rgba(255,106,61,.14); } .rail-bouton.actif span { filter:none; }
.rail-bouton .badge { position:absolute; top:4px; right:10px; }
.rail-direct { margin-top:auto; display:flex; flex-direction:column; align-items:center; gap:2px; color:var(--texte-3); }
.rail-direct i { width:9px; height:9px; border-radius:50%; background:var(--rouge); } .rail-direct.ok i { background:var(--vert); box-shadow:0 0 8px var(--vert); }
.rail-direct small { font-size:10px; }
.page { min-width:0; min-height:0; display:flex; flex-direction:column; }
.entete { display:flex; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--trait); min-height:66px; }
.entete-titre { flex:1; min-width:0; } .entete-titre p { margin:2px 0 0; }
.defile { flex:1; min-height:0; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:16px; }
.bloc { padding:18px; } .bloc > summary { cursor:pointer; list-style:none; } .bloc > summary::-webkit-details-marker { display:none; }
.cartes { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(320px,100%),1fr)); gap:14px; }
.ligne { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.seul-tel { display:none; }

/* PRINCIPAL */
#page-principal:not([hidden]) { display:grid; grid-template-columns:260px minmax(0,1fr); }
.convs { border-right:1px solid var(--trait); padding:14px 10px; display:flex; flex-direction:column; gap:10px; min-height:0; background:var(--fond-2); }
.convs-liste { flex:1; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:2px; }
.conv { display:flex; flex-direction:column; gap:1px; text-align:left; padding:9px 11px; border:0; border-radius:10px; background:none; }
.conv:hover { background:rgba(255,255,255,.04); } .conv.actif { background:rgba(255,255,255,.08); }
.conv-titre { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chat { min-width:0; min-height:0; display:flex; flex-direction:column; }
.etat-pastille { font-size:12px; font-weight:700; padding:3px 11px; border-radius:99px; border:1px solid var(--trait-2); color:var(--texte-2); }
.etat-pastille.actif { color:var(--jaune); border-color:rgba(251,191,36,.4); background:rgba(251,191,36,.08); }
.messages { flex:1; min-height:0; overflow-y:auto; padding:22px max(20px, calc((100% - 820px) / 2)); display:flex; flex-direction:column; gap:14px; }
.bulle { display:flex; flex-direction:column; gap:4px; max-width:92%; }
.bulle.moi { align-self:flex-end; align-items:flex-end; } .bulle.lui, .bulle.ia { align-self:flex-start; }
.bulle-texte { padding:11px 15px; border-radius:16px; background:var(--carte); border:1px solid var(--trait); overflow-wrap:anywhere; }
.bulle.moi .bulle-texte { white-space:pre-wrap; background:rgba(255,106,61,.12); border-color:rgba(255,106,61,.28); }
.bulle.ia .bulle-texte { border-color:rgba(56,189,248,.3); background:rgba(56,189,248,.06); }
.bulle.brouillon .bulle-texte { opacity:.7; }
.bulle-meta { font-size:11.5px; color:var(--texte-3); padding:0 4px; }
.bulle-texte p, .pensee p { margin:0 0 8px; } .bulle-texte p:last-child, .pensee p:last-child { margin-bottom:0; }
.bulle-texte ul, .bulle-texte ol, .pensee ul, .pensee ol { margin:4px 0 8px; padding-left:20px; }
code { font:13px var(--mono); background:rgba(255,255,255,.08); padding:1px 5px; border-radius:5px; }
pre { font:12.5px/1.45 var(--mono); background:#08080b; border:1px solid var(--trait); border-radius:10px; padding:10px 12px; overflow-x:auto; margin:6px 0; white-space:pre; }
blockquote { margin:6px 0; padding:2px 10px; border-left:3px solid var(--accent); color:var(--texte-2); }
.md-titre { font:700 15px var(--titre); }
.saisie { display:flex; gap:10px; padding:14px max(20px, calc((100% - 820px) / 2)); border-top:1px solid var(--trait); }
.saisie textarea { flex:1; resize:none; min-height:48px; max-height:200px; }
/* missions proposées */
.mission { align-self:stretch; max-width:820px; padding:16px; border-radius:14px; border:1px solid var(--trait-2); background:var(--carte); display:flex; flex-direction:column; gap:8px; }
.mission.attente { border-color:rgba(255,106,61,.55); box-shadow:0 0 0 1px rgba(255,106,61,.15); }
.mission.encours { border-color:rgba(74,222,128,.45); } .mission.faite { border-color:rgba(74,222,128,.3); } .mission.echec { border-color:rgba(255,143,163,.45); } .mission.refusee { opacity:.6; }
.mission-tete { display:flex; align-items:center; gap:10px; } .mission-type { font-weight:700; flex:1; }
.mission-consigne summary { cursor:pointer; color:var(--texte-3); font-size:13px; }
.mission-consigne > div { margin-top:8px; font-size:14px; color:var(--texte-2); max-height:340px; overflow-y:auto; }
.mission-etat { margin:4px 0 0; font-weight:600; font-size:14px; }
.mission.attente .mission-etat { color:#ffb199; } .mission.encours .mission-etat, .mission.faite .mission-etat { color:var(--vert); } .mission.echec .mission-etat { color:var(--rouge); } .mission.envoyee .mission-etat { color:var(--bleu); }

/* ÉQUIPE */
.equipier { text-align:left; padding:16px; display:flex; flex-direction:column; gap:10px; border-left:4px solid var(--c); }
.equipier:hover { border-color:var(--trait-2); border-left-color:var(--c); background:var(--carte-2); }
.equipier-tete { display:flex; align-items:center; gap:12px; } .equipier-tete > div { flex:1; min-width:0; } .equipier-tete strong { font:700 16px var(--titre); margin-right:8px; }
.lieu { font-size:11px; font-weight:700; padding:2px 7px; border-radius:6px; } .lieu.serveur { color:#86efac; background:rgba(74,222,128,.12); } .lieu.pc { color:#fcd34d; background:rgba(245,158,11,.12); }
.point { width:10px; height:10px; border-radius:50%; background:var(--texte-3); flex-shrink:0; }
.point.travaille { background:var(--vert); box-shadow:0 0 10px var(--vert); animation:battre 1.6s infinite; } .point.pause { background:var(--jaune); } .point.toi { background:var(--bleu); }
@keyframes battre { 50% { opacity:.45; } }
.equipier-phrase { margin:0; font-weight:600; } .equipier.libre .equipier-phrase { color:var(--texte-2); font-weight:500; }
.equipier-dernier { margin:0; font-size:13px; color:var(--texte-3); font-style:italic; overflow-wrap:anywhere; }
.mini-quotas { display:flex; flex-direction:column; gap:4px; }
.mini-quota { display:grid; grid-template-columns:62px 1fr 42px; align-items:center; gap:8px; color:var(--texte-3); }
.piste { position:relative; height:7px; border-radius:99px; background:rgba(255,255,255,.07); display:block; }
.piste i { display:block; height:100%; border-radius:99px; background:var(--vert); } .piste i.orange { background:var(--jaune); } .piste i.rouge { background:var(--rouge); }
.repere { position:absolute; top:-3px; width:2px; height:13px; background:#fff; border-radius:2px; opacity:.8; }
.repos summary { cursor:pointer; color:var(--texte-3); font-size:13.5px; }
.repos-liste { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.chip-repos { display:inline-flex; align-items:center; gap:8px; padding:4px 10px 4px 4px; border-radius:99px; background:var(--carte); border:1px solid var(--trait); font-size:13px; color:var(--texte-3); }
.chip-repos .avatar { width:24px; height:24px; font-size:10px; }

/* UNE IA */
.ia-entete h2 { font-size:17px; }
.statut-travaille { color:var(--vert); font-weight:600; } .statut-pause { color:var(--jaune); } .statut-libre { color:var(--texte-2); } .statut-toi { color:var(--bleu); }
.ia-onglets { display:flex; gap:4px; padding:0 16px; border-bottom:1px solid var(--trait); }
.ia-onglets button { background:none; border:0; border-bottom:2px solid transparent; padding:11px 14px; color:var(--texte-3); font-weight:600; display:flex; gap:6px; align-items:center; }
.ia-onglets button.actif { color:#fff; border-bottom-color:var(--accent); }
.ia-vue { flex:1; min-height:0; overflow-y:auto; padding:16px max(16px, calc((100% - 900px) / 2)); display:flex; flex-direction:column; gap:6px; }
.activite-mission { padding:12px 14px; border-radius:12px; background:rgba(255,106,61,.08); border:1px solid rgba(255,106,61,.25); margin:6px 0; }
.activite-mission summary { cursor:pointer; font-size:13px; color:var(--texte-3); margin-top:4px; }
.activite-fin { padding:12px 14px; border-radius:12px; margin:8px 0; } .activite-fin.ok { background:rgba(74,222,128,.07); border:1px solid rgba(74,222,128,.3); } .activite-fin.ko { background:rgba(255,143,163,.07); border:1px solid rgba(255,143,163,.3); }
.action { display:grid; grid-template-columns:44px 24px minmax(0,1fr); align-items:start; gap:6px; padding:5px 8px; border-radius:8px; font-size:14px; }
.action:hover { background:rgba(255,255,255,.03); }
.action-heure { font-size:11.5px; color:var(--texte-3); padding-top:2px; } .action-icone { text-align:center; }
.action-corps { min-width:0; overflow-wrap:anywhere; color:var(--texte-2); }
.action.echoue .action-corps { color:var(--rouge); }
.action-detail summary { font-size:12px; color:var(--texte-3); cursor:pointer; } .action-detail pre { max-height:260px; overflow:auto; }
.pensee { display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px; padding:10px 8px; font-size:14.5px; }
.pensee > :not(time) { grid-column:2; }
/* fichiers */
.ia-vue.fichiers:not([hidden]) { display:grid; grid-template-columns:270px minmax(0,1fr); padding:0; gap:0; overflow:hidden; }
.explorateur { border-right:1px solid var(--trait); overflow-y:auto; padding:10px 8px; background:var(--fond-2); min-height:0; }
.recherche { width:100%; padding:7px 10px; font-size:13px; margin-bottom:6px; }
.section-f { font-size:11px; font-weight:700; letter-spacing:.04em; color:var(--texte-2); margin:12px 2px 4px; padding-left:8px; border-left:3px solid var(--trait-2); }
.fichier { display:flex; align-items:center; gap:6px; width:100%; text-align:left; border:0; background:none; border-radius:6px; padding:3px 6px; font:12.5px/1.6 var(--mono); color:var(--texte-2); }
.fichier:hover { background:rgba(255,255,255,.05); } .fichier.ouvert { background:rgba(255,106,61,.14); color:#fff; } .fichier.change { color:#fde68a; }
.fichier-nom { flex-shrink:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fichier-dossier { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; direction:rtl; text-align:left; font-size:10.5px; color:var(--texte-3); }
.explorateur .dossier .fichier .fichier-nom { flex:1; }
.fichier-compte { font-size:10.5px; color:var(--texte-3); } .pt { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.etat-f { font:700 10.5px var(--mono); padding:0 5px; border-radius:4px; }
.etat-M { color:#fbbf24; background:rgba(245,158,11,.15); } .etat-A { color:#4ade80; background:rgba(74,222,128,.15); } .etat-D { color:#ff8fa3; background:rgba(255,143,163,.15); }
.dossier > summary { cursor:pointer; list-style:none; padding:2px 6px; font:12.5px var(--mono); color:var(--texte-2); }
.dossier > summary::before { content:"▸ "; color:var(--texte-3); } .dossier[open] > summary::before { content:"▾ "; } .dossier > :not(summary) { margin-left:12px; }
.editeur { min-width:0; min-height:0; display:flex; flex-direction:column; }
.editeur-tete { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 14px; border-bottom:1px solid var(--trait); }
.chemin { font:12.5px var(--mono); color:var(--texte-2); overflow-wrap:anywhere; }
.legende { display:flex; gap:6px; flex-wrap:wrap; margin-left:auto; }
.chip { --c:#888; font-size:11.5px; font-weight:700; padding:2px 9px; border-radius:99px; color:var(--c); border:1px solid color-mix(in srgb, var(--c) 45%, transparent); background:color-mix(in srgb, var(--c) 10%, transparent); }
.code { flex:1; min-height:0; overflow:auto; font:12.5px/19px var(--mono); background:#08080b; padding:8px 0 30px; tab-size:2; }
.ln { display:grid; grid-template-columns:10px 54px max-content; min-width:100%; }
.ln:hover { background:rgba(255,255,255,.03); }
.ln.ajout { background:color-mix(in srgb, var(--c) 15%, transparent); box-shadow:inset 3px 0 0 var(--c); } .ln.modif { background:color-mix(in srgb, var(--c) 9%, transparent); box-shadow:inset 3px 0 0 var(--c); }
.num { color:#55555f; text-align:right; padding-right:14px; user-select:none; cursor:pointer; } .num:hover { color:var(--accent); }
.txt { white-space:pre; color:#d4d4d8; padding-right:30px; }
.marge { display:flex; gap:1px; padding-left:2px; } .marge i { width:3px; border-radius:1px; }
.suppr { margin-left:64px; color:var(--rouge); font-size:11.5px; border-left:3px solid var(--rouge); padding:1px 8px; background:rgba(255,143,163,.06); }
.note { --c:#888; margin:4px 14px 4px 64px; padding:7px 11px; border-radius:9px; font:13.5px/1.45 'DM Sans',system-ui,sans-serif; border:1px solid color-mix(in srgb, var(--c) 40%, transparent); background:color-mix(in srgb, var(--c) 9%, #121217); white-space:normal; }
.note strong { color:var(--c); font-size:12.5px; } .note .lien { margin:0 6px; font:12.5px var(--mono); }
#ia-mots .note { margin:4px 0; }
.mot-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px 14px; background:rgba(244,114,182,.06); border:1px solid rgba(244,114,182,.2); border-radius:10px; margin:8px 0; }
.mot-form input { flex:1; min-width:180px; padding:7px 10px; font-size:13.5px; } .mot-form select { padding:6px 8px; }
.editeur .mot-form { margin:8px 14px; }
.jm { color:#c586c0; } .js { color:#ce9178; } .jc { color:#6a9955; font-style:italic; } .jn { color:#b5cea8; } .jf { color:#dcdcaa; } .jp { color:#8b8b97; } .jt { color:#569cd6; font-weight:700; }

/* QUOTAS et RÉGLAGES */
.quota { padding:16px; display:flex; flex-direction:column; gap:12px; border-left:4px solid var(--c); }
.quota-phrase { margin:0; font-size:14px; color:var(--texte-2); }
.statut-libre { color:var(--vert); } .statut-àutiliser { color:var(--bleu); } .statut-économie, .statut-réserve { color:var(--jaune); } .statut-bloqué { color:var(--rouge); }
.barre { display:flex; flex-direction:column; gap:5px; } .barre-haut { display:flex; justify-content:space-between; font-size:13px; color:var(--texte-2); }
.barre .piste { height:9px; }
.resets { margin:10px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:6px; } .resets strong { color:var(--accent); }
.regles { display:flex; flex-direction:column; gap:6px; padding-left:18px; margin:10px 0 0; font-size:13.5px; }
.liste-comptes { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.compte-ligne { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; background:var(--fond-2); }
.compte-ligne > div { flex:1; min-width:0; } .compte-ligne p { margin:2px 0 0; }
.grille-acces { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin:12px 0; }
.grille-acces label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--texte-2); }
.etapes { display:flex; flex-direction:column; gap:12px; padding-left:20px; }
.lien-connexion a { color:var(--bleu); overflow-wrap:anywhere; }

/* téléphone */
@media (max-width:860px) {
  .app { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; }
  .rail { grid-row:2; flex-direction:row; justify-content:space-around; padding:4px 4px calc(4px + env(safe-area-inset-bottom)); border-right:0; border-top:1px solid var(--trait); }
  .rail .logo, .rail-direct small { display:none; } .rail-direct { margin:0; justify-content:center; }
  .rail-bouton { width:auto; flex:1; padding:6px 2px; }
  .seul-tel { display:inline-flex; }
  #page-principal:not([hidden]) { display:flex; position:relative; }
  .convs { position:absolute; inset:0 30% 0 0; z-index:5; transform:translateX(-105%); transition:transform .2s; box-shadow:10px 0 30px rgba(0,0,0,.5); }
  body.convs-ouvertes .convs { transform:none; }
  .chat { flex:1; }
  .entete { padding:10px 14px; min-height:56px; } .defile { padding:14px; }
  .messages { padding:14px; } .saisie { padding:10px; }
  .ia-onglets { padding:0 6px; overflow-x:auto; } .ia-onglets button { padding:10px 10px; white-space:nowrap; }
  .ia-vue.fichiers:not([hidden]) { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .explorateur { max-height:30vh; border-right:0; border-bottom:1px solid var(--trait); }
  .ln { grid-template-columns:8px 40px max-content; } .num { padding-right:8px; } .suppr, .note { margin-left:48px; }
  .action { grid-template-columns:38px 20px minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .convs { transition:none; } .point.travaille { animation:none; } }

/* une seule discussion avec le principal (24/10) : plus de liste de discussions */
#page-principal:not([hidden]) { display:flex !important; }
.convs, #ouvrir-convs { display:none !important; }
