:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef0f2;background:#090b0d;--bg:#090b0d;--panel:#0d1013;--panel2:#11151a;--line:#20252b;--muted:#78818b;--text:#eef0f2;--accent:#c8ff55;--good:#71df89}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,textarea{font:inherit}.app{height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.sidebar{width:224px;flex:0 0 224px;background:#0b0d10;border-right:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30;overflow:hidden;isolation:isolate}.sidebar *{position:relative;z-index:1}.sidebar:before,.sidebar:after{display:none!important;content:none!important}.sideTop{display:flex;align-items:center;justify-content:space-between;height:38px;margin-bottom:14px}.wordmark{font-size:11px;font-weight:800;letter-spacing:.12em}.closeMenu{display:none;width:32px;height:32px;border:1px solid var(--line);background:#11151a;color:#d9dde1;border-radius:7px;font-size:21px;line-height:1;cursor:pointer}.newMission{height:38px;border:0;border-radius:7px;background:var(--accent);color:#0d1109;font-size:11px;font-weight:800;cursor:pointer;margin-bottom:14px}.nav{display:flex;flex-direction:column;gap:2px}.navItem{height:36px;border:0;background:transparent;color:#7f8892;border-radius:7px;text-align:left;padding:0 10px;font-size:11px;cursor:pointer}.navItem:hover{background:#11151a;color:#e8eaed}.navItem.active{background:#151a12;color:#f2f4f5}.navItem.active:before{content:"";display:inline-block;width:2px;height:13px;background:var(--accent);vertical-align:-2px;margin-right:9px;border-radius:2px}.count{margin-left:5px;background:#ff626c;color:white;border-radius:99px;padding:2px 6px;font-size:8px}.sideBottom{margin-top:auto;color:#68717b;font-size:9px;display:flex;align-items:center;gap:7px;padding:8px}.statusDot,.online i{width:6px;height:6px;border-radius:50%;background:var(--good);display:inline-block}.main{flex:1;min-width:0;height:100dvh;overflow:hidden}.topbar{height:52px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;background:rgba(9,11,13,.96);position:sticky;top:0;z-index:20}.menuButton{display:none;width:32px;height:32px;border:1px solid var(--line);background:#11151a;color:#dce0e4;border-radius:7px;margin-right:8px}.crumb{font-size:10px;color:#6c747e}.crumb span{margin:0 7px;color:#343a40}.crumb b{color:#e0e3e6}.topRight{margin-left:auto}.online{font-size:9px;color:#7f8892;display:flex;align-items:center;gap:6px}.content{height:calc(100dvh - 52px);padding:10px 14px;max-width:1080px;margin:auto;overflow:hidden}.panel{height:100%;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}
.panel:not(.chatPanel)>:not(.panelHead){flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chatPanel{display:flex;flex-direction:column}.chatIntro{padding:18px 20px 13px;border-bottom:1px solid var(--line)}.kicker,.panelHead span{font-size:8px;letter-spacing:.14em;color:#626b75}.chatIntro h1{margin:3px 0 4px;font-size:23px;letter-spacing:-.035em}.chatIntro p{margin:0;color:#7b848e;font-size:10px}.quickBar{display:flex;gap:7px;padding:8px 10px;border-bottom:1px solid var(--line);overflow:auto}.quickCard{display:flex;align-items:center;gap:12px;white-space:nowrap;border:1px solid var(--line);background:#101419;color:#aeb5bd;border-radius:7px;padding:7px 9px;font-size:9px;cursor:pointer}.quickCard b{color:#777f89}.messages{flex:1;min-height:0;overflow:auto;padding:10px 16px}.composerWrap{padding:9px 12px 10px;border-top:1px solid var(--line);background:#0b0e11}.composer{border:1px solid #292f36;border-radius:9px;background:#0a0d10;padding:8px}.composer:focus-within{border-color:#414950}.composer textarea{display:block;width:100%;min-height:36px;max-height:130px;resize:none;outline:0;border:0;background:transparent;color:#eef0f2;font-size:12px}.composer textarea::placeholder{color:#5f6872}.composerBottom{display:flex;align-items:center;gap:8px}.attach{width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:#11151a;color:#aeb5bd;cursor:pointer}.composerMeta{font-size:8px;color:#59626c;flex:1}.send{border:0;border-radius:6px;background:var(--accent);color:#10130b;font-size:9px;font-weight:800;padding:8px 10px;cursor:pointer}.hint{text-align:center;color:#4d565f;font-size:7px;margin-top:4px}.panelHead{height:58px;flex:0 0 58px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--panel)}.panelHead h2{font-size:16px;margin:2px 0}.secondary{border:1px solid var(--line);background:#11151a;color:#c9ced4;border-radius:6px;padding:7px 9px;font-size:9px}.cards{padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.timeline{padding:14px}.badge{border:1px solid var(--line);border-radius:99px;padding:4px 7px;font-size:8px}.hidden{display:none!important}.toast{position:fixed;right:12px;bottom:12px;background:#15191e;border:1px solid var(--line);padding:9px 11px;border-radius:7px;font-size:9px;z-index:100}
@media(max-width:800px){.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;transform:translateX(-102%);transition:transform .18s ease;box-shadow:18px 0 50px rgba(0,0,0,.5);overflow:hidden}.sidebar.open{transform:translateX(0)}.closeMenu,.menuButton{display:block}.topbar{padding:0 10px}.content{height:calc(100dvh - 52px);padding:0 6px 64px;overflow:hidden}.panel{border-radius:8px}.chatIntro{padding:14px 13px 10px}.chatIntro h1{font-size:19px}.chatIntro p{font-size:9px}.quickBar{padding:7px}.quickCard{padding:7px 8px}.quickCard:nth-child(3){display:none}.messages{padding:8px 10px}.composerWrap{padding:7px}.composerMeta{display:none}.hint{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.projectFilesSection{margin:0 14px 14px;border:1px solid var(--line);border-radius:9px;background:#0d1013;padding:14px}.projectFilesHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.projectFilesHead h3{margin:3px 0;font-size:14px}.projectFilesHead small{display:block;color:var(--muted);font-size:9px;line-height:1.45}.projectFilesList{display:flex;flex-direction:column;gap:7px;margin-top:12px}.projectFile{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#101419;border-radius:7px;padding:9px}.projectFileIcon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#151a12;color:var(--accent);font-size:7px;font-weight:800;flex:0 0 34px}.projectFileMain{min-width:0;flex:1}.projectFileMain b{display:block;color:var(--text);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectFileMain small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.projectFileOpen,.projectFileDelete{border:1px solid var(--line);border-radius:5px;padding:6px 8px;color:#c9ced4;text-decoration:none;font-size:8px;white-space:nowrap;background:transparent;cursor:pointer}.projectFileOpen:hover,.projectFileDelete:hover{border-color:#4b5660;color:var(--text)}.projectFileDelete{color:#ff9aab;border-color:#5b2840}.projectFileDelete:hover{background:#21101a}.projectFilesEmpty{padding:12px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);font-size:9px;line-height:1.5;text-align:center}@media(max-width:800px){.projectFilesSection{margin:0 8px 10px;padding:11px}.projectFilesHead{align-items:flex-start}.projectFilesHead h3{font-size:13px}.projectFileOpen{padding:6px}.projectFileMain b{font-size:9px}}.attachmentList{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%;min-width:0}.attachmentChip{display:flex;align-items:center;gap:7px;max-width:100%;min-height:42px;padding:5px 7px;border:1px solid #303942;border-radius:9px;background:#101419;color:#dbe0e5;font-size:10px}.attachmentThumb{width:34px;height:34px;object-fit:cover;border-radius:6px;display:block}.attachmentPdf{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#2a1518;color:#ff8b91;font-size:8px;font-weight:900}.attachmentName{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachmentChip button{width:28px;height:28px;border:0;border-radius:7px;background:#1a2027;color:#c7d0d8;cursor:pointer;font-size:17px;line-height:1}.attachmentChip button:active{background:#252d35}

.eventLog{padding:14px 0}.eventLog h3{margin:0 0 9px;font-size:11px;color:#dfe3e7}.missionEvent{display:flex;gap:9px;padding:9px 10px;border-bottom:1px solid var(--line);background:#0d1115}.missionEvent:first-of-type{border-top:1px solid var(--line)}.eventDot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--accent);margin-top:5px}.missionEvent b{display:block;text-transform:capitalize;font-size:9px;color:#dfe3e7}.missionEvent small{display:block;margin-top:3px;color:#737d87;font-size:8px;line-height:1.35}.missionEvent small:last-child{color:#555e67}

/* Écran de connexion isolé : aucun contenu de l’application n’est visible avant validation. */
.authModal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#090b0d}
.authModal.hidden{display:none!important}
.authBox{width:min(100%,420px);border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:clamp(22px,7vw,34px);box-shadow:0 24px 60px rgba(0,0,0,.4)}
.authBox h1{margin:0 0 9px;font-size:clamp(28px,8vw,36px);letter-spacing:-.04em;color:var(--text)}
.authBox p{margin:0 0 28px;font-size:16px;line-height:1.5;color:#b9c0c7}
.authBox label{display:block;margin:0 0 7px;color:#dfe3e7;font-size:14px;font-weight:600}
.authBox input{display:block;width:100%;min-height:52px;box-sizing:border-box;margin-bottom:20px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:#101419;color:var(--text);font:inherit;font-size:16px}
.authBox input:focus{outline:0;border-color:var(--accent)}
.authBox #authSubmit{width:100%;min-height:56px;margin-top:3px;font-size:17px}
.authBox #authSubmit:disabled{opacity:.65;cursor:wait}
.authError{margin-top:14px;padding:12px 14px;border:1px solid #633036;border-radius:9px;background:#21101a;color:#ffb0b4;font-size:15px;line-height:1.45}
.authError.hidden{display:none!important}
body.auth-required #app,body.auth-required #toast,body.auth-required #credentialModal,body.auth-required .mobileShade{display:none!important}
.mobileNav{display:none}
/* Barre de navigation mobile : 5 colonnes et une hauteur suffisante pour une
 * zone d'appui de 44 px (Apple). Les valeurs exactes sont définies en fin de
 * feuille pour l'emporter sur les surcharges précédentes. */
.mobileNav{display:none}
@media(max-width:800px){
 .mobileNav{position:fixed;left:6px;right:6px;bottom:6px;height:58px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;background:#0b0d10;border:1px solid var(--line);border-radius:10px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.45)}
 .mobileNavItem{min-width:0;min-height:44px;border:0;border-radius:7px;background:transparent;color:#737d87;font-size:9px;font-weight:700;cursor:pointer}
 .mobileNavItem.active{background:#151a12;color:#f2f4f5}
 .content{padding-bottom:74px}
 .sidebar{z-index:60}
}

/* Lecture humaine des missions */
.missionReadable{display:flex!important;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;cursor:pointer}
.missionRowMain{min-width:0;flex:1}.missionRowMain>b{display:block;color:var(--text);font-size:12px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.missionRowMain>small{display:block;color:var(--muted);font-size:9px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.missionRowMain .missionDate{font-size:8px;color:#59616a;margin-top:4px}
.missionToolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.missionFilterLabel{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7f8790}.missionFilter{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#111418;color:#e8ebee;font:inherit;font-size:12px}.missionStatus{display:inline-block;border-radius:99px;padding:3px 7px;font-size:8px;margin-bottom:6px;border:1px solid var(--line);color:#aeb5bd}
.missionStatus.good{color:#7fe596;border-color:#295e37;background:#101b13}.missionStatus.bad{color:#ff8b91;border-color:#633036;background:#1b1012}.missionStatus.warn{color:#e5c36d;border-color:#5e5128;background:#1a170d}.missionStatus.active{color:#c8ff55;border-color:#405820;background:#141a0d}
.missionProgress{width:78px;flex:0 0 78px;text-align:right}.missionProgress strong{font-size:16px;color:var(--text);display:block}.missionProgress small{font-size:7px;color:#59616a}.miniBar{height:4px;background:#20262c;border-radius:99px;overflow:hidden;margin:5px 0}.miniBar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.missionHumanHead{display:flex;align-items:end;justify-content:space-between;gap:12px}.missionHumanHead h3{margin:3px 0 0;font-size:18px}.missionHumanHead>strong{font-size:22px;color:var(--accent)}.eyebrow,.humanBlock>span{font-size:8px;letter-spacing:.12em;color:#68727c}
.humanBlock{margin-top:14px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#0b0f12}.humanBlock p{margin:7px 0 0;color:#e4e8eb;font-size:11px;line-height:1.55}.resultHuman{background:#0d1310}.stepLine{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;color:#7d8790;font-size:9px;border-bottom:1px solid var(--line)}.stepLine span{color:#c5cbd0}.technicalDetails{margin-top:12px;color:#68727c;font-size:8px}.technicalDetails summary{cursor:pointer;color:#7f8892}.technicalDetails small{display:block;margin-top:5px;word-break:break-all}
#missionPageStatus.good{color:#7fe596;border-color:#295e37;background:#101b13}#missionPageStatus.bad{color:#ff8b91;border-color:#633036;background:#1b1012}#missionPageStatus.warn{color:#e5c36d;border-color:#5e5128;background:#1a170d}#missionPageStatus.active{color:#c8ff55;border-color:#405820;background:#141a0d}
@media(max-width:800px){.missionReadable{padding:12px!important;gap:8px}.missionProgress{width:62px;flex-basis:62px}.missionProgress strong{font-size:15px}.missionRowMain>b{font-size:11px}.missionRowMain>small{font-size:8px}.missionHumanHead h3{font-size:16px}}

/* UI polish: priorité lisibilité, identité et usage mobile */
.mobileShade{display:none}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.brandMark{width:30px;height:30px;border:1px solid #30363d;border-radius:8px;background:#11151a;display:grid;place-items:center;overflow:hidden;flex:0 0 30px}
.brandMark img{width:25px;height:25px;object-fit:contain;filter:grayscale(1) sepia(1) hue-rotate(70deg) saturate(5) brightness(.9);mix-blend-mode:screen}
.brand small{display:block;color:#59626c;font-size:7px;letter-spacing:.08em;margin-top:2px;white-space:nowrap}
.chatBrand{display:flex;align-items:center;gap:14px}
.chatLogo{width:64px;height:64px;flex:0 0 64px;border:1px solid #2a3138;border-radius:14px;background:#101419;display:grid;place-items:center;overflow:hidden}
.chatLogo img{width:56px;height:56px;object-fit:contain;filter:grayscale(1) sepia(1) hue-rotate(70deg) saturate(5) brightness(.9);mix-blend-mode:screen}
.chatIntro{background:linear-gradient(135deg,#101419 0%,#0d1013 55%,#0b0e11 100%)}
.quickBar{scrollbar-width:none}
.quickBar::-webkit-scrollbar{display:none}
.quickCard{transition:border-color .15s ease,background .15s ease,transform .15s ease}
.quickCard:hover{border-color:#3a424b;background:#14191e;transform:translateY(-1px)}
.composerWrap{position:relative;z-index:5}
.composer{box-shadow:0 10px 28px rgba(0,0,0,.18)}
.msg{max-width:min(760px,88%);margin:0 auto 10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#11151a;color:#dfe3e7;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.msg.user{background:#151a12;border-color:#405820;color:#f0f4e8}
.msg.system{background:transparent;border-color:transparent;color:#69727b;font-size:9px;text-align:center}
.card{border:1px solid var(--line);background:#101419;border-radius:8px;padding:12px;color:#dfe3e7}
.card b{font-size:11px}.card small{display:block;color:#727c86;font-size:9px;line-height:1.45;margin-top:4px}
.errorBox{margin-top:12px;padding:11px 12px;border:1px solid #633036;background:#1b1012;border-radius:8px;color:#ffb0b4}
.errorBox h3{margin:0 0 5px;font-size:10px}.errorBox p{margin:4px 0;color:#d9a4a8;font-size:9px;line-height:1.5}.errorBox small{display:block;color:#b98186;font-size:8px;line-height:1.45}
.progressLabel{margin-top:12px;font-size:8px;color:#68727c;letter-spacing:.08em}.bar{height:5px;background:#20262c;border-radius:99px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.activity{margin-top:9px;color:#9da6ae;font-size:9px}
@media(max-width:800px){
 .mobileShade{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:55;opacity:0;pointer-events:none;transition:opacity .18s ease}
 .mobileShade.open{opacity:1;pointer-events:auto}
 .sidebar{z-index:60}
 .chatBrand{gap:11px}.chatLogo{width:48px;height:48px;flex-basis:48px;border-radius:11px}.chatLogo img{width:43px;height:43px}
 .chatIntro h1{font-size:18px}.chatIntro p{max-width:31em;line-height:1.5}
 .quickBar{padding:7px 8px}.quickCard{flex:0 0 auto}
 .messages{padding:10px 8px 12px}
 .composerWrap{padding:7px 7px 9px}
 .composer{padding:7px}
 .composer textarea{font-size:16px;min-height:36px}
 .send{padding:8px 9px}
}

/* Conversation UX — style messagerie / DM */
.chatPanel{border:0;border-radius:0;background:var(--bg)}
.chatIntro,.quickBar{transition:opacity .16s ease,max-height .2s ease,padding .2s ease,border-color .2s ease}
.chatIntro.conversationStarted,.quickBar.conversationStarted{display:none}
.messages{width:min(860px,100%);margin:0 auto;padding:18px 22px 14px}
.msg{width:fit-content;max-width:min(72%,680px);margin:0 0 12px;padding:10px 13px;border:0;border-radius:16px;background:#171b20;color:#e7eaed;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.msg.user{margin-left:auto;margin-right:0;background:#c8ff55;color:#10130b;border-radius:17px 17px 5px 17px}
.msg.assistant{margin-right:auto;margin-left:0;background:#171b20;border-radius:17px 17px 17px 5px}
.msg.system{width:100%;max-width:100%;margin:8px auto;color:#66717b;font-size:9px;text-align:center;background:transparent}
.msg.streaming::after{content:"▍";color:#c8ff55;animation:hermesBlink 1s steps(1) infinite}
@keyframes hermesBlink{50%{opacity:0}}
.hermesStatus{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:8px 12px;border-radius:9px;background:#1c2128;border:1px solid #2b323b;color:#c9ced4;max-width:100%;white-space:normal;line-height:1.35}
.hermesStatus::before{content:"";width:9px;height:9px;border-radius:50%;background:#5a636d;flex:0 0 auto}
.hermesStatus.online{color:#c8ff55;border-color:#3c4a22}
.hermesStatus.online::before{background:#c8ff55;box-shadow:0 0 8px #c8ff55}
.hermesStatus.connecting{color:#d8b24a;border-color:#4a3f22}
.hermesStatus.connecting::before{background:#d8b24a;animation:hermesBlink 1s steps(1) infinite}
.hermesStatus.offline,.hermesStatus.error{color:#ff8a7a;border-color:#4a2b26}
.hermesStatus.offline::before,.hermesStatus.error::before{background:#d9614a}
.hermesBar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:#0d1013;position:sticky;top:0;z-index:5}
.composerWrap{background:linear-gradient(to bottom,rgba(9,11,13,.35),#090b0d 30%);border-top:0;padding:8px 12px 12px}
.composer{width:min(860px,100%);margin:0 auto;border:1px solid #30363d;border-radius:18px;background:#11151a;padding:8px 9px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.composer textarea{font-size:13px}
.composerBottom{padding-top:3px}
.hint{font-size:7px}
@media(max-width:800px){
 .messages{width:100%;padding:14px 9px 150px}
 .msg{max-width:84%;margin-bottom:9px;padding:9px 12px;font-size:13px;border-radius:16px}
 .msg.user{border-radius:17px 17px 5px 17px}
 .msg.assistant{border-radius:17px 17px 17px 5px}
 .composerWrap{position:fixed;left:6px;right:6px;bottom:64px;z-index:45;padding:7px 7px 9px;background:linear-gradient(to bottom,rgba(9,11,13,0),#090b0d 22%)}
 .composer{border-radius:18px;padding:7px 8px}
 .composer textarea{font-size:16px;min-height:36px}
}

.pauseBox{margin-top:12px;padding:12px;border:1px solid #5e5128;background:#1a170d;border-radius:8px;color:#e5c36d}
.pauseBox h3{margin:0 0 5px;font-size:10px}.pauseBox p{margin:0;color:#d9c98e;font-size:9px;line-height:1.55}
.missionStatus.warn{max-width:180px;line-height:1.25}

/* Command Center — observabilité des missions longues */
.commandPanel{display:flex;flex-direction:column;background:radial-gradient(circle at 85% 0%,rgba(200,255,85,.055),transparent 32%),var(--panel)}
.commandHead{flex:0 0 auto}.commandPulse{font-size:8px;color:#7fe596;display:flex;align-items:center;gap:6px}.commandPulse i{width:6px;height:6px;border-radius:50%;background:#71df89;box-shadow:0 0 10px rgba(113,223,137,.7)}
.commandScroll{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px 28px}
.commandHero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;border:1px solid #2a3138;border-radius:12px;background:linear-gradient(135deg,#12171b,#0d1114);margin-bottom:10px}
.commandHero h1{font-size:22px;letter-spacing:-.04em;margin:5px 0 6px}.commandHero p{max-width:620px;margin:0;color:#7f8992;font-size:10px;line-height:1.55}
.commandLaunch{border:0;border-radius:7px;background:var(--accent);color:#10130b;padding:10px 12px;font-size:9px;font-weight:800;white-space:nowrap}
.commandGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.commandStat{border:1px solid var(--line);border-radius:9px;background:#101419;padding:11px}.commandStat span{font-size:7px;color:#68727c;letter-spacing:.12em}.commandStat strong{display:block;font-size:21px;margin-top:4px}.commandStat small{color:#5e6872;font-size:8px}
.commandSection{border:1px solid var(--line);border-radius:10px;background:#0f1317;padding:12px;margin-top:10px}.commandSectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.commandSectionHead span{font-size:7px;color:#68727c;letter-spacing:.14em}.commandSectionHead h3{font-size:12px;margin:3px 0 0}
.commandEmpty{padding:14px;border:1px dashed #283039;border-radius:8px;color:#cbd1d6}.commandEmpty small{display:block;color:#69737d;font-size:9px;margin-top:4px}
.ccMission{position:relative;width:100%;display:grid;grid-template-columns:1fr 45px;gap:8px;text-align:left;border:1px solid #242b32;background:#11161a;color:#e5e9ec;border-radius:8px;padding:10px;margin-bottom:6px;cursor:pointer}.ccMission b{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccMission small{display:block;color:#707a84;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccMission strong{text-align:right;font-size:14px;color:var(--accent)}.ccMission i{grid-column:1/3;height:3px;background:#222a30;border-radius:99px;overflow:hidden}.ccMission i em{display:block;height:100%;background:var(--accent);border-radius:99px}
.copilotBridge{display:flex;align-items:center;gap:10px;border:1px solid #283039;background:#11161a;border-radius:9px;padding:11px}.copilotAvatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:#10130b;font-size:9px;font-weight:900}.copilotBridge b{font-size:10px}.copilotBridge p{margin:4px 0 0;color:#707a84;font-size:8px;line-height:1.45}.copilotBridge .secondary{margin-left:auto}
.commandActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.commandActions button{border:1px solid #2b333b;background:#11161a;color:#bfc6cc;border-radius:6px;padding:7px 9px;font-size:8px;cursor:pointer}
.labGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.labGrid>div{padding:10px;border:1px solid #252c33;border-radius:8px;background:#101419}.labGrid b{font-size:8px;color:var(--accent)}.labGrid small{display:block;color:#68727c;font-size:8px;line-height:1.45;margin-top:5px}
@media(max-width:800px){.commandScroll{padding:10px 10px 18px}.commandHero{display:block}.commandHero h1{font-size:19px}.commandLaunch{margin-top:12px;width:100%}.commandGrid{grid-template-columns:repeat(2,1fr)}.labGrid{grid-template-columns:repeat(2,1fr)}.commandStat strong{font-size:18px}}

.panelActions{display:flex;gap:6px}.notificationSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}.notificationSummary>div{border:1px solid var(--line);background:#101419;border-radius:9px;padding:11px}.notificationSummary b{font-size:19px;color:var(--text)}.notificationSummary small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.notificationFilters{display:flex;gap:6px;padding:0 14px 4px;overflow:auto}.notificationFilter{border:1px solid var(--line);background:#11151a;color:#77818b;border-radius:99px;padding:7px 10px;font-size:8px;cursor:pointer}.notificationFilter.active{background:#171c14;color:var(--accent);border-color:#405820}.notif{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:9px;background:#101419;padding:11px;margin-bottom:7px;cursor:pointer;color:var(--text)}.notif.read{opacity:.65}.notifMark{font-size:7px;letter-spacing:.08em;color:#8a949e;border:1px solid var(--line);border-radius:99px;padding:4px 6px;white-space:nowrap}.notif.success .notifMark{color:#7fe596;border-color:#295e37}.notif.error .notifMark,.notif.warning .notifMark{color:#ff8b91;border-color:#633036}.notifBody{min-width:0}.notifBody b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notifBody small{display:block;color:#727c86;font-size:8px;line-height:1.4;margin-top:3px}.notifArrow{font-size:18px;color:#59636d}.engineCard{min-width:0}.engineTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.engineTop b{font-size:11px}.engineTop small{display:block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engineMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.engineMetrics span{border-top:1px solid var(--line);padding-top:7px}.engineMetrics b{display:block;font-size:13px}.engineMetrics small{font-size:7px;color:var(--muted)}.engineBar{height:4px;background:#20262c;border-radius:99px;overflow:hidden;margin:10px 0 7px}.engineBar i{display:block;height:100%;background:var(--accent);border-radius:99px}.engineIncident{display:block;color:#69737d;font-size:8px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:800px){.panelActions{gap:4px}.notificationSummary{padding:10px 8px}.notificationFilters{padding-left:8px;padding-right:8px}.notif{grid-template-columns:auto 1fr auto}.engineMetrics{grid-template-columns:repeat(2,1fr)}.engineTop small{max-width:170px}}

.copilotPanel{padding:20px;overflow-y:auto;background:radial-gradient(circle at 80% 0%,rgba(200,255,85,.07),transparent 35%),var(--panel)}.copilotHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding:6px 2px 18px}.copilotHeader h1{font-size:28px;margin:4px 0}.copilotHeader p{margin:0;color:var(--muted);font-size:10px}.copilotStatus{border:1px solid var(--line);border-radius:99px;padding:7px 10px;font-size:8px;letter-spacing:.08em}.copilotStatus.good{color:#7fe596;border-color:#295e37}.copilotStatus.warn{color:#e5c36d;border-color:#5e5128}.copilotStatus.bad{color:#ff8b91;border-color:#633036}.copilotHero{display:flex;align-items:center;gap:14px;margin-top:18px;padding:18px;border:1px solid #2a3138;border-radius:12px;background:linear-gradient(135deg,#12171b,#0d1114)}.copilotSeal{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--accent);color:#10130b;font-weight:900;font-size:11px}.copilotHero b{font-size:13px}.copilotHero p{margin:6px 0 0;color:#7c8790;font-size:9px;line-height:1.55}.copilotGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.copilotGrid article{border:1px solid var(--line);background:#101419;border-radius:9px;padding:13px}.copilotGrid article span{display:block;color:#68727c;font-size:7px;letter-spacing:.12em}.copilotGrid article b{display:block;margin-top:7px;font-size:11px}.copilotGrid article p{color:#727c86;font-size:8px;line-height:1.55}.copilotConnection{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#0f1317}.copilotConnection h3{margin:4px 0;font-size:12px}.copilotConnection p{margin:0;color:#727c86;font-size:8px;line-height:1.5}.copilotComposer{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0f1317}.copilotComposer textarea{width:100%;min-height:80px;resize:vertical;border:1px solid #2b333b;border-radius:8px;background:#0a0d10;color:#e8ebee;padding:10px;outline:none;font-size:11px}.copilotMessages{display:flex;flex-direction:column;gap:8px;margin-top:10px}.copilotMessage{max-width:86%;padding:10px 12px;border-radius:10px;font-size:10px;line-height:1.6;white-space:pre-wrap}.copilotMessage.user{align-self:flex-end;background:var(--accent);color:#10130b}.copilotMessage.assistant{align-self:flex-start;background:#171c21;border:1px solid #2a3138;color:#e1e6ea}.copilotMessage.system{align-self:center;color:#8b949c;background:transparent;font-size:9px}.copilotPanel .secondary{cursor:pointer}
@media(max-width:800px){.copilotPanel{padding:12px 10px 90px}.copilotHeader h1{font-size:23px}.copilotHero{padding:13px}.copilotGrid{grid-template-columns:1fr}.copilotComposer{grid-template-columns:1fr}.copilotComposer .commandLaunch{width:100%}.copilotMessage{max-width:94%}}

/* === SUIVI EN TEMPS RÉEL DES PROJETS === */
.trackingCard{display:flex;flex-direction:column;gap:12px}
.trackingHeader{display:flex;align-items:center;justify-content:space-between;gap:14px}
.trackingTitle{display:flex;align-items:center;gap:10px;min-width:0}
.trackingTitle b{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.trackingPercent{text-align:right;flex:0 0 80px}
.trackingPercent strong{font-size:18px;color:var(--text);display:block}
.trackingPercent .miniBar{margin-top:6px}
.trackingMeta{display:flex;flex-wrap:wrap;gap:12px;font-size:8px;color:var(--muted)}
.trackingLegend{padding:12px 14px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}
.trackingDot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:6px;animation:trackingPulse 2s ease-in-out infinite}
@keyframes trackingPulse{0%,100%{opacity:1}50%{opacity:.4}}
@media(max-width:800px){.trackingHeader{flex-direction:column;align-items:flex-start;gap:10px}.trackingPercent{text-align:left;flex:1}.trackingMeta{gap:8px}}

.hermesStatus{font-size:14px;font-weight:700;padding:6px 10px;border-radius:8px;background:#1c2128}
.hermesStatus.online{color:#c8ff55}
.hermesStatus.connecting{color:#d8b24a}
.hermesStatus.offline,.hermesStatus.error{color:#ff8a7a}

/* ───────────────────────────────────────────────────────────────────────────
 * Zones tactiles mobiles — 44 x 44 px minimum (Apple Human Interface).
 *
 * Ces règles sont placées en fin de feuille, après les blocs de surcharge
 * précédents, car certaines d'entre elles définissent un min-height:36px
 * plus spécifique (.composer textarea). La cascade donnerait sinon la
 * priorité à l'ancienne valeur et la zone d'appui resterait sous 44 px.
 *
 * Tout le style est enveloppé dans @media(max-width:800px) : le rendu
 * bureau, déjà conforme, n'est pas modifié.
 * ─────────────────────────────────────────────────────────────────────────── */
@media(max-width:800px){
 .navItem{height:44px}
 .newMission{height:44px}
 .menuButton,.closeMenu{min-width:44px;min-height:44px}
 .mobileNav{height:58px}
 .mobileNavItem{min-height:44px}
 .quickCard{min-height:44px}
 .projectContext select{min-height:44px}
 .composer textarea{min-height:44px}
 .attach{min-width:44px;min-height:44px}
 .send{min-height:44px}
}


/* Secure Hermes credential intake — separate from the chat composer and transcript. */
.credentialOpen{white-space:nowrap;cursor:pointer}
.credentialBox{width:min(100%,430px);max-height:min(88dvh,760px);overflow:auto}
.credentialBox label{display:block;margin:10px 0 5px;color:var(--muted);font-size:11px}
.credentialBox select{display:block;width:100%;box-sizing:border-box;margin-bottom:10px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#101419;color:var(--text);font:inherit;font-size:15px}
.credentialBox select:focus{outline:0;border-color:var(--accent)}
.credentialBox .credentialSafety{margin:0 0 14px;padding:9px 10px;border:1px solid #263a2c;border-radius:8px;background:#101914;color:#9ab6a1;font-size:10px}
.credentialBox .credentialSuccess{border-color:#295e37;background:#102117;color:#a6efb5}
.credentialBox button:disabled{opacity:.55;cursor:wait}
@media(max-width:560px){.credentialOpen{font-size:8px;padding:7px 6px}.composerBottom{gap:5px}}

/* États vides lisibles sur mobile */
.missionEmpty{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.missionEmpty small{color:var(--muted);font-size:10px;line-height:1.5}.missionEmpty .commandLaunch,.commandEmpty .commandLaunch{margin-top:4px;min-height:38px;padding:9px 13px;font-size:10px}

/* Cible tactile minimale pour l’accès aux réglages sécurisés */
.credentialOpen{min-height:44px}
