/* Prism: a cool, precise working surface with a persistent steel navigation rail. */
:root {
 --bg:#f0f4fa;--surface:#fff;--soft:#f5f8fc;--hover:#eaf1fb;
 --ink:#12213a;--sub:#53647e;--muted:#75839a;--line:#e0e8f3;--line-strong:#cbd8ea;
 --accent:#0866e9;--accent-hover:#0056ce;--accent-soft:#e9f2ff;--accent-faint:#f5f9ff;
 --green:#217a5d;--green-bg:#eaf6f0;--amber:#98640e;--amber-bg:#fff5e0;
 --red:#bb4252;--red-bg:#fff0f2;--blue:#0866e9;--blue-bg:#edf5ff;
 --font:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
 --sidebar:234px;--radius:9px;--shadow:0 2px 3px #183d7302,0 7px 22px #183d7304;--elevated:0 22px 70px #102a5029;
 --nav-bg:#182330;--nav-ink:#f0f5ff;--nav-muted:#9eafc5;--nav-line:#c8daf017;
 --g1:#92ccff;--g2:#58a7ff;--g3:#2b85ef;--g4:#0660d4;
}
[data-theme=dark] {
 --bg:#111a26;--surface:#1a2636;--soft:#202e41;--hover:#2a3b52;
 --ink:#edf3ff;--sub:#bccbe0;--muted:#96a9c3;--line:#2c3b50;--line-strong:#405574;
 --accent:#80b7ff;--accent-hover:#abd0ff;--accent-soft:#253e61;--accent-faint:#1c2e46;
 --green:#93dabb;--green-bg:#203d33;--amber:#eec881;--amber-bg:#443b2a;
 --red:#f1a5b3;--red-bg:#472f3b;--blue:#80b7ff;--blue-bg:#213b5d;
 --nav-bg:#0e1722;--shadow:0 6px 22px #00000013;
}
body {font-size:14px;letter-spacing:-.1px}
button,a,input,textarea,select {touch-action:manipulation}
::selection {background:var(--accent-soft);color:var(--accent)}
h1 {font-size:32px;letter-spacing:-1.1px;font-weight:650}
h2 {font-weight:600}
.eyebrow {font-size:10px;letter-spacing:1.3px}
.btn {min-height:39px;padding:9px 14px;border-radius:6px;font-size:12px;font-weight:600}
.g-page .btn.g-contourn{white-space:normal;text-align:left;height:auto;max-width:100%;overflow-wrap:anywhere;line-height:1.4}
.btn.primary {background:linear-gradient(180deg,#1478f6,#0561dc);border-color:#0863df;color:#fff;box-shadow:inset 0 1px 0 #ffffff22,0 2px 4px #0866e918}
.btn.primary:hover {background:linear-gradient(180deg,#086aeb,#0057ca);box-shadow:0 3px 9px #0866e925}
[data-theme=dark] .btn.primary {color:#fff}
.btn.sm {min-height:33px;padding:6px 10px;font-size:11px}
.btn.large {min-height:46px;font-size:13px}
.badge {padding:3px 8px;font-size:11px;border-radius:5px;font-weight:500}
.iconbox {width:36px;height:36px;border-radius:8px}
.textbtn {font-size:12px}
.ib {width:34px;height:34px;border-radius:7px}
.field>label {font-size:12px}
.field small {font-size:11px}
.input,input[type=text],input[type=search],input[type=email],textarea,select {font-size:14px;border-radius:6px}
.note {font-size:12px;border-radius:8px}
.pad {padding:23px}
.page {padding:28px 30px 36px;animation:none}
.pagehead {margin-bottom:24px}
.pagehead h1 {font-size:31px;font-weight:650;letter-spacing:-1px}
.pagehead p {font-size:13px;line-height:1.7;max-width:75ch}
.sectionhead {margin:0 0 18px;gap:12px}
.sectionhead h2 {font-size:17px;letter-spacing:-.4px;font-weight:650}
.sectionhead .count {font:11px var(--font)}
.empty h3 {font-size:18px;letter-spacing:-.3px}
.empty p {font-size:13px;line-height:1.7}

/* Navigation and scope keep their existing routes and delegated actions. */
.shell {grid-template-rows:66px minmax(0,1fr) 28px}
.shell.avecdisque {grid-template-rows:66px auto minmax(0,1fr) 28px}
.sidebar {background:linear-gradient(165deg,#1c2a3a,var(--nav-bg) 45%);border-right:1px solid #293a50;color:var(--nav-ink)}
[data-theme=dark] .sidebar {background:var(--nav-bg)}
.sidebar :focus-visible {outline-color:#9ac8ff}
.brandrow {height:78px;min-height:78px;padding:0 22px;gap:10px}
.brandrow .brandmark {width:32px}
.brandrow .brandname {color:#f4f7ff;font:800 23px/1.1 var(--font);letter-spacing:-.8px}
.sidebar .ezmot .e,.sidebar .ezmot .z {color:#a6cfff}
.workspacepick {margin:0 15px 18px;padding:11px 10px;border:1px solid var(--nav-line);border-radius:8px;background:#b9d6ff04;gap:10px}
.workspacepick:hover {background:#b9d6ff09}
.workspacepick strong {font-size:12px;color:var(--nav-ink);font-weight:550}
.workspacepick small {font-size:10px;color:var(--nav-muted);margin-top:3px}
.workspacepick>.ico {color:var(--nav-muted)}
.orgmark {width:30px;height:30px;border-radius:7px;background:linear-gradient(145deg,#405875,#2d3f57);color:#dceaff;font-size:10px;border:1px solid #b6d4ff25}
.sidebar .newmission {margin:0 15px 24px;min-height:41px;padding:9px 12px;color:#fff;border-radius:6px;font-size:12px}
.newmission kbd {background:#ffffff12;border-color:#ffffff38;color:#fff;font:10px var(--font)}
.navscroll {scrollbar-color:#c8daf023 transparent}
.navgroup {padding:0 13px;margin-bottom:23px}
.navlabel {padding:0 11px 8px;color:#91a5c0;font:500 9px/1.7 var(--font);letter-spacing:1.1px}
.navitem {min-height:41px;padding:10px 11px;margin:3px 0;gap:11px;border-radius:6px;color:#b8c7dc;font-size:12px;border:1px solid transparent}
.navitem .ico {width:17px;height:17px;stroke-width:1.5;color:#91a9c8}
.navitem:hover {background:#b8d7ff08;color:#f3f7ff}
.navitem.active {background:linear-gradient(110deg,#2f5684,#294465);border-color:#6089ba26;color:#f5f9ff;font-weight:550;box-shadow:0 2px 8px #0000000c}
.navitem.active .ico {color:#b5d9ff}
.navitem .navcount,.navitem.active .navcount {background:#b1d4ff12;color:#daeaff;font:10px/19px var(--font);border-radius:4px}
.sidebar .navitem[data-view=decisions] .navcount {background:#edc17817;color:#edcb91}
.sidebar .sidehelp {margin:7px 18px 20px;padding:13px 0 0;border:0;border-top:1px solid var(--nav-line);border-radius:0;background:none}
.sidebar .sidehelp strong {font-size:10px;font-weight:500;color:#b8cce6}
.sidebar .sidehelp p {font-size:10px;line-height:1.8;color:var(--nav-muted);margin-bottom:0}
.sidebar .sidehelp .ico {width:14px;height:14px;color:#9fc4f5}
.profile {min-height:74px;padding:16px 20px;border-color:var(--nav-line);background:#00000009}
.profile:hover {background:#bad6ff05}
.profile strong {font-size:12px;font-weight:550;color:var(--nav-ink)}
.profile small {font-size:10px;color:var(--nav-muted);margin-top:2px}
.profile .ico {color:var(--nav-muted)}
.profile .avatar {width:32px;height:32px;border-radius:50%;background:#36557d;color:#deecff;font-size:10px;border:1px solid #a6c9fa23}
.topbar {padding:0 29px;gap:22px;background:linear-gradient(180deg,var(--surface),var(--soft));border-bottom:1px solid var(--line);box-shadow:0 3px 14px #1c457a03}
.topbar .mobilemenu {display:none}
.breadcrumb {gap:10px;flex:0 1 auto;min-width:0}
.breadcrumb button {font-size:12px;min-height:34px}
.breadcrumb strong {font-weight:600}
.contextmark {display:inline-flex;color:var(--accent);margin-right:3px}
.contextmark .ico {width:21px;height:21px;stroke-width:1.6}
.breadcrumb .badge {background:var(--blue-bg);border:1px solid var(--line);color:var(--sub);font-size:11px;padding:3px 8px;border-radius:5px}
.breadcrumb .badge.red {background:var(--red-bg);color:var(--red)}
.topbar>.topsearch {display:flex;flex:1;max-width:460px;min-width:120px;min-height:36px;margin:0 auto;gap:9px;border:1px solid var(--line);border-radius:6px;background:var(--hover);color:var(--muted);font-size:11px;padding:7px 10px;box-shadow:inset 0 1px 1px #163e6a03}
.topsearch kbd {font:10px var(--font);background:var(--soft)}
.topactions {gap:8px;flex-shrink:0}
.livebadge {font-size:10px;border-color:var(--line);background:var(--surface)}
.topavatar {width:31px;height:31px;border-radius:50%;background:#0866e9;color:white}
.statusbar {padding:0 23px;background:var(--soft);font-size:9px;color:var(--muted)}
.diskbanner,.diskbanner.discret {padding-left:30px;padding-right:30px}
.bandeaux-plateforme {min-width:0}

.remark {font-size:12px;line-height:1.7;padding:13px 14px;border-radius:8px}
.briefbanner {font-size:12px;border-radius:8px;padding:16px}
.monitoringcard {margin-bottom:20px}
.decisioncard {border-radius:9px;padding:23px;box-shadow:var(--shadow)}
.decisioncard .decisiontitle {font-size:20px;font-weight:600;letter-spacing:-.5px}
.decisioncard .decisiondesc {font-size:13px;line-height:1.7}
.decisionmeta {font-size:11px}
.decisionbottom .row {font-size:11px}
.toolbar {padding:13px 0;gap:12px}
.stat {padding:18px;border-radius:8px;box-shadow:var(--shadow)}
.stat label {font-size:11px}
.stat strong {font-size:28px;font-weight:600}
.resourcerow strong,.missionrow strong {font-size:12px}
.resourcegrouphead {padding:16px 19px}
.resourcegrouphead h3 {font-size:14px}
.dialoghead,.dialogbody {padding:23px}
.dialogfoot {padding:16px 23px}
.dialoghead h2 {font-size:21px;font-weight:650;letter-spacing:-.5px}
.dialoghead p {font-size:12px;line-height:1.6}
.dialogbody .small,.dialogbody .helptext {font-size:12px}
 dialog:not(.drawer):not(.toaststack) {border-radius:11px}
 dialog::backdrop {background:#0d203666;backdrop-filter:blur(5px)}
.shell.compact {--sidebar:80px}
.compact .brandrow {padding:0 23px}
.compact .brandrow .brandmark {width:32px}
.compact .workspacepick {margin:0 20px 20px;padding:3px;border:0}
.compact .newmission {margin:0 18px 25px;padding:9px}
.compact .navgroup {padding:0 13px}
.compact .navitem {padding:10px;justify-content:center}
.compact .profile {padding:18px 0}
@media(min-width:1750px) {
 :root {--sidebar:246px}
}
@media(max-width:1280px) {
 :root {--sidebar:212px}
 .topbar {padding:0 24px;gap:15px}
 .page,.first-home {padding-left:24px;padding-right:24px}
 .topactions #connectionState,.topactions .helpbutton {display:none}
}
@media(min-width:721px) and (max-width:1050px) {
 :root {--sidebar:80px}
 .brandrow {padding:0 23px}
 .brandrow .brandmark {width:32px}
 .workspacepick {margin:0 20px 20px;padding:3px;background:none;border:0}
 .sidebar .newmission {margin:0 18px 25px;padding:9px}
 .navgroup {padding:0 13px}
 .navitem {justify-content:center;padding:10px}
 .profile {justify-content:center;padding:18px 0}
}
@media(max-width:1000px) {
 .topbar>.topsearch {flex:0 0 33px;width:33px;min-width:0;max-width:none;min-height:34px;padding:8px;margin-left:auto;background:none;border-color:transparent;box-shadow:none}
 .topsearch span,.topsearch kbd {display:none}
 .topactions {gap:6px}
 .contextmark {display:none}
}
@media(max-width:720px) {
 :root {--sidebar:0px}
 .shell,.shell.compact {--sidebar:0px;grid-template-columns:0 minmax(0,1fr);grid-template-rows:62px minmax(0,1fr) calc(65px + env(safe-area-inset-bottom,0px))}
 .shell.avecdisque {grid-template-rows:62px auto minmax(0,1fr) calc(65px + env(safe-area-inset-bottom,0px))}
 .sidebar {position:fixed;inset:0 auto 0 0;width:min(290px,calc(100vw - 54px));transform:translateX(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s ease;z-index:75;box-shadow:var(--elevated)}
 .navopen .sidebar {transform:translateX(0);visibility:visible}
 .navopen .navscrim {display:block;position:fixed;inset:0;z-index:74;background:#0c1c3273;backdrop-filter:blur(4px)}
 .sidebar .brandrow {padding:0 24px}
 .sidebar .brandmark,.navopen .brandmark {width:32px}
 .sidebar .brandname,.sidebar .workspacepick .grow,.sidebar .workspacepick>.ico,.sidebar .newmission span,.sidebar .navtext,.sidebar .navcount,.sidebar .profile .grow,.sidebar .profile>.ico {display:initial}
 .sidebar .navlabel {display:block}
 .sidebar .sidehelp {display:block}
 .sidebar .workspacepick {margin:0 15px 18px;padding:11px 10px;border:1px solid var(--nav-line)}
 .sidebar .newmission {margin:0 15px 25px;padding:10px 12px}
 .sidebar .navgroup {padding:0 13px}
 .sidebar .navitem {justify-content:flex-start;min-height:44px;padding:11px;font-size:13px}
 .sidebar .profile {justify-content:flex-start;padding:17px 20px}
 .topbar {padding:0 15px;gap:5px}
 .breadcrumb {flex:1;gap:7px}
 .breadcrumb button {font-size:11px}
 .breadcrumb .badge {font-size:10px}
 .breadcrumb .slash {display:none}
 .breadcrumb #projectLabel {max-width:120px}
 .mobilemenu {display:inline-flex!important;padding:7px!important;width:33px;height:37px;justify-content:center}
 .mobilemenu .ico {width:19px;height:19px}
 .topbar>.topsearch {margin:0;flex-basis:29px;width:29px;padding:6px}
 .topactions {gap:2px}
 .topactions #connectionState,.topactions .topavatar,.topactions .helpbutton {display:none}
 #runnerState {max-width:27px;width:27px;height:33px;padding:0;font-size:0;border:0;background:none;gap:0;justify-content:center;overflow:hidden}
 #runnerState .dot {width:6px;height:6px;box-shadow:0 0 0 4px var(--soft)}
 .notification {width:28px}
 .statusbar {display:none}
 .mobilebar {display:flex;grid-column:2;grid-row:3;align-items:center;justify-content:space-around;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);z-index:40;box-shadow:0 -3px 15px #153e7304}
 .mobilebar button {display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;min-height:49px;font-size:10px;gap:5px;padding:6px 2px;color:var(--muted);position:relative}
 .mobilebar button.active {color:var(--accent)}
 .mobilebar button.active:before {content:'';position:absolute;top:-5px;width:23px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}
 .mobilebar button .ico {width:19px;height:19px;stroke-width:1.6}
 .diskbanner,.diskbanner.discret {padding-left:16px;padding-right:16px}
 .diskbanner {font-size:11px}
 .page,.first-home {padding:22px 16px 28px}
 .sectionhead {gap:8px;flex-wrap:wrap;margin-bottom:15px}
 .sectionhead h2 {font-size:17px}
 .sectionhead .textbtn {font-size:11px;gap:4px}
 .briefbanner {flex-wrap:wrap;font-size:12px;padding:16px;gap:10px}
 .briefbanner>.grow {flex:1 1 220px}
 .pagehead {flex-wrap:wrap}
 .pagehead h1 {font-size:28px}
 .pagehead p {font-size:13px;line-height:1.7}
 .pagehead .actions {max-width:none;width:100%}
 .pagehead .actions .btn {min-height:41px;font-size:12px}
 .toolbar {flex-wrap:wrap;padding:8px 0}
 .toolbar .searchfield {min-width:min(200px,100%)}
 .stat {padding:16px}
 .stat label {font-size:11px}
 .stat strong {font-size:27px}
 .resourcerow strong,.missionrow strong {font-size:12px}
 .resourcerow.compact {grid-template-columns:18px minmax(0,1fr) auto 24px}
 .resourcerow.compact .listrow-button {flex-wrap:wrap;gap:5px}
 .resourcerow.compact .listrow-button strong {white-space:normal}
 .resourcerow.compact .listrow-button .address {flex-basis:100%;white-space:normal;overflow-wrap:anywhere;font-size:11px}
 .resourcerow.compact .components,.resourcerow.compact .observation.compact {display:none}
 .dialoghead,.dialogbody {padding:20px}
 .dialoghead h2 {font-size:20px}
 .dialoghead p {font-size:12px}
 .dialogfoot {padding:16px 20px}
 .dialogbody :is(input[type=text],input[type=search],input[type=email],input[type=password],textarea,select) {font-size:16px}
 .btn {min-height:42px}
 .toaststack {bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .skip {left:12px}
}
@media(max-width:380px) {
 .topbar {padding:0 9px}
 .breadcrumb {gap:5px}
 .breadcrumb #projectLabel {max-width:77px}
 .breadcrumb #envLabel {max-width:79px}
 .breadcrumb #envLabel .badge {overflow:hidden;text-overflow:ellipsis;max-width:72px;display:inline-block}
 .topactions .notification {display:none}
 .page,.first-home {padding-left:13px;padding-right:13px}
}
/* Mission details own their scrolling layout and use the same palette. */
.page.g-page {padding:0;--fond:#f0f4fa;--encre:#12213a;--encre-2:#263952;--doux:#53647e;--filet:#e0e8f3;--filet-2:#e9eff7;--accent-m:#0866e9;--accent-fond:#e9f2ff;--accent-fonce:#0056ce;--accent-halo:#cde2ff;--ombre-carte:0 8px 28px #0a62d510}
[data-theme=dark] .page.g-page {--fond:#111a26;--carte:#1a2636;--encre:#edf3ff;--encre-2:#d4e3f7;--doux:#bccbe0;--filet:#2c3b50;--filet-2:#25344a;--accent-m:#80b7ff;--accent-fond:#253e61;--accent-fonce:#abd0ff;--accent-halo:#385d8e}

/* First proposal: the original mission composition in the Prism palette. */
.first-home {max-width:1530px;padding:30px 40px 44px}
.first-home .homegreeting {margin-bottom:28px;align-items:center}
.first-home .homegreeting>div {display:flex;flex-direction:column;gap:7px;min-width:0}
.first-home .homegreeting .eyebrow {font-size:9px;letter-spacing:1.6px;color:var(--muted)}
.first-home .homegreeting .greeting {display:block;font-size:23px;font-weight:550;letter-spacing:-.65px;color:var(--ink)}
.first-home .greeting-period {color:var(--accent)}
.first-home .homegreeting .date {display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);text-transform:capitalize}
.first-home .homegreeting .date .ico {width:14px;height:14px}

.first-home .home-overview {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-bottom:34px;overflow:hidden}
.first-home .overview-item {padding:20px 22px 17px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;background:none;border:0;border-radius:0;box-shadow:none;transition:background .15s}
.first-home .overview-item+.overview-item {border-left:1px solid var(--line)}
.first-home .overview-item:hover {background:var(--accent-faint)}
.first-home .overview-label {display:flex;gap:7px;align-items:center;color:var(--sub);font-size:11px;line-height:1.5}
.first-home .overview-label>.ico {width:14px;height:14px;color:var(--muted)}
.first-home .overview-item>strong {font-size:34px;line-height:1.2;letter-spacing:-1.5px;font-weight:550;margin:10px 0 8px;font-variant-numeric:tabular-nums}
.first-home .overview-item>small {display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;font-size:10px;color:var(--muted);line-height:1.5}
.first-home .overview-item>small>.ico {width:12px;height:12px}
.first-home .overview-item.needs-attention>strong,.first-home .overview-item.needs-attention .overview-label>.ico {color:var(--amber)}
.first-home .homebody {display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}
.first-home .homebody>div {min-width:0}
.first-home .homewidget {border-radius:14px;padding:21px;margin-bottom:18px}
.first-home .homewidget h3 {font-size:13px;font-weight:600}
.first-home .homewidget .envsummary {padding-top:20px}
.first-home .homewidget .envsummary>strong {font-size:34px;letter-spacing:-1.5px;font-weight:550}
.first-home .homewidget .envsummary p,.first-home .homewidget .envline {font-size:11px}
.first-home .homewidget .envline {padding-top:11px;padding-bottom:11px}
.first-home .homewidget .progress {height:4px}
.first-home .homewidget .tiny {font-size:11px;line-height:1.65}
.first-home .decisioncard {border-radius:14px;padding:24px}
.first-home .decisioncard .decisiontitle {font-size:19px;font-weight:600;letter-spacing:-.5px}
.first-home .decisioncard .decisiondesc {font-size:13px;line-height:1.65}
.first-home .decisionmeta {font-size:11px}
.first-home .decisionbottom .row {font-size:10px}
.first-home .recentlabel {margin-top:28px}
.first-home .missionmini {padding:18px 20px;gap:13px}
.first-home .missionmini h4 {font-size:13px;font-weight:550;overflow-wrap:anywhere}
.first-home .missionmini p {font-size:11px;margin-top:4px}

@media(max-width:1280px) {
 .first-home {padding-left:28px;padding-right:28px}
 .first-home .homebody {grid-template-columns:minmax(0,1fr) 255px;gap:20px}
}
@media(max-width:1000px) {
 .first-home .homebody {grid-template-columns:1fr}
 .first-home .homeaside {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .first-home .homewidget {margin-bottom:0}
 .first-home .overview-item {padding:19px 16px}
}
@media(max-width:720px) {
 .first-home {padding:24px 18px 32px}
 .first-home .homegreeting {margin-bottom:22px}
 .first-home .homegreeting .eyebrow {font-size:8px}
 .first-home .homegreeting .greeting {font-size:24px}
 .first-home .homegreeting .date {display:none}
 .first-home .home-overview {grid-template-columns:repeat(2,minmax(0,1fr));border-radius:12px;margin-bottom:28px}
 .first-home .overview-item {padding:17px 16px 16px}
 .first-home .overview-item:nth-child(3) {border-left:0}
 .first-home .overview-item:nth-child(n+3) {border-top:1px solid var(--line)}
 .first-home .overview-item>strong {font-size:33px;margin-top:9px}
 .first-home .homebody {gap:24px}
 .first-home .homeaside {grid-template-columns:1fr;gap:16px}
 .first-home .sectionhead {gap:8px;align-items:center}
 .first-home .sectionhead h2 {font-size:16px}
 .first-home .sectionhead .textbtn {font-size:11px;gap:3px}
 .first-home .decisioncard {padding:19px}
 .first-home .decisioncard .decisiontitle {font-size:18px;line-height:1.4}
 .first-home .decisioncard .decisiondesc {font-size:12px}
 .first-home .decisionmeta {flex-wrap:wrap;font-size:10px;gap:10px}
 .first-home .decisionbottom {flex-direction:column;gap:13px}
 .first-home .decisionbottom .row {flex-wrap:wrap;font-size:10px;width:100%}
 .first-home .decisionbottom .btn {flex:1}
 .first-home .missionmini {padding:16px 14px;gap:10px;flex-wrap:wrap}
 .first-home .missionmini .grow {flex-basis:calc(100% - 48px)}
 .first-home .missionmini .badge {margin-left:43px}
}
@media(max-width:380px) {
 .first-home {padding-left:13px;padding-right:13px}
 .first-home .overview-item {padding-left:13px;padding-right:13px}
 .first-home .overview-label {font-size:10px}
}
@media(prefers-reduced-motion:reduce) {
 .sidebar,.first-home .overview-item {transition:none}
}

/* 22/10 : un groupe du menu et ses sous-menus (Réseau → VPN, Tailscale). */
.navsub {display:flex;align-items:center;gap:11px;min-height:34px;padding:8px 11px 4px;color:#91a9c8;font-size:12px}
.navsub .ico {width:17px;height:17px;stroke-width:1.5}
.navitem.navchild {min-height:34px;padding-left:39px;margin:1px 0}
.navitem.navchild .ico {width:15px;height:15px}

/* Focus workspace: the approved prototype's light palette, on the real application routes. */
:root{--bg:#f7f9fc;--soft:#f3f5fa;--hover:#eef2fa;--ink:#1b263b;--sub:#56647a;--muted:#6b7890;--line:#e5eaf2;--accent:#4058dc;--accent-hover:#3148c5;--accent-soft:#eef1ff;--blue:#4058dc;--blue-bg:#eef1ff;--nav-bg:#fff;--nav-ink:#1b263b;--nav-muted:#657087;--nav-line:#e5eaf2}
[data-theme=dark]{--bg:#121a28;--surface:#1a2536;--soft:#202c40;--hover:#29364c;--ink:#edf2fc;--sub:#c1cbdb;--muted:#a1aec3;--line:#303d53;--accent:#a5b5ff;--accent-hover:#c1ccff;--accent-soft:#293657;--nav-bg:#182233;--nav-ink:#edf2fc;--nav-muted:#b0bdd0;--nav-line:#303d53}
.sidebar,[data-theme=dark] .sidebar{background:var(--nav-bg);border-color:var(--nav-line);color:var(--nav-ink)}
.brandrow .brandname,.sidebar .ezmot .e,.sidebar .ezmot .z{color:var(--nav-ink)}
.sidebar .workspacepick{background:var(--soft);border-color:var(--line);border-radius:10px}.sidebar .workspacepick:hover{background:var(--hover)}
.sidebar .orgmark{background:var(--ink);color:var(--surface);border:0}
.navlabel{color:var(--nav-muted)}.navitem,.navitem .ico{color:var(--nav-muted)}
.navitem:hover{color:var(--nav-ink);background:var(--soft)}.navitem.active{background:var(--accent-soft);color:var(--accent);border-color:transparent;box-shadow:none}.navitem.active .ico{color:var(--accent)}
.navitem .navcount,.navitem.active .navcount{background:var(--soft);color:var(--sub)}.sidebar .navitem[data-view=decisions] .navcount{background:var(--amber-bg);color:var(--amber)}
.sidebar .sidehelp strong,.sidebar .sidehelp .ico{color:var(--sub)}.profile{background:var(--surface);border-color:var(--line)}.profile:hover{background:var(--soft)}.profile .avatar,.topavatar{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}
.topbar{background:var(--surface);box-shadow:none}.topbar>.topsearch{background:var(--soft);box-shadow:none;border-color:transparent;border-radius:8px}
.btn.primary{background:var(--accent);border-color:var(--accent);box-shadow:none;color:white}.btn.primary:hover{background:var(--accent-hover)}[data-theme=dark] .btn.primary{color:#17213b}
.sidebar .newmission{background:#4058dc;color:white;border-color:#4058dc;border-radius:8px}.sidebar .newmission:hover{background:#3148c5}
.box,.card,.stat,.decisioncard{border-radius:12px}.pagehead h1{font-weight:600}.statusbar{background:var(--surface)}

/* Conversation and decisions retain their existing handlers and live-update regions. */
.page.g-page{--fond:#f7f9fc;--carte:#fff;--encre:#1b263b;--encre-2:#354158;--doux:#5e6d83;--pale:#6b7890;--icone:#7a869c;--filet:#e5eaf2;--filet-2:#edf0f6;--gris:#f0f3f9;--code:#f3f5fa;--repli:#fafbfe;--accent-m:#4058dc;--accent-fond:#eef1ff;--accent-fonce:#3148c5;--accent-halo:#dce3ff;--ombre-carte:0 4px 20px #233b6506}
[data-theme=dark] .page.g-page{--fond:#121a28;--carte:#1a2536;--encre:#edf2fc;--encre-2:#d9e2ef;--doux:#b5c2d7;--pale:#a1aec3;--icone:#92a2bc;--filet:#303d53;--filet-2:#29364b;--gris:#202c40;--code:#172233;--repli:#202c40;--accent-m:#a5b5ff;--accent-fond:#293657;--accent-fonce:#c1ccff;--accent-halo:#384975;--sur-accent:#17213b}
.g-page .g-topbar{background:var(--fond);border-bottom:0;padding:12px 30px;min-height:54px}.g-page .g-wrap{max-width:1200px;padding-left:30px;padding-right:30px}.g-page .g-tete{padding-top:16px;gap:23px}.g-page .g-titre{font-size:32px;letter-spacing:-1px;font-weight:600}.g-page .g-meta{font-size:11px;gap:8px 17px;line-height:1.8}.g-page .g-meta .g-trait{width:14px;height:14px}.g-page .g-depuis{font-size:11px;background:transparent}.g-page .g-heading-status{font-size:11px}.g-page .g-bouton{font-size:12px;border-radius:8px}.g-page .g-corps{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;padding-top:27px}.g-page .g-rail{max-width:none;width:auto;position:sticky;top:16px;max-height:calc(100dvh - 92px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-left:1px solid var(--filet);padding-left:24px;gap:24px}.g-conversation-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.g-conversation-heading h2{font-size:15px;font-weight:600;margin:0}.g-conversation-heading>span{font-size:11px;color:var(--pale)}
.g-summary{background:var(--carte);border:1px solid var(--filet);border-radius:16px;overflow:hidden;box-shadow:var(--ombre-carte)}.g-summary-top{display:flex;gap:18px;padding:24px}.g-summary-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-fond);color:var(--accent-m);border:1px solid var(--accent-halo)}.g-summary.attention .g-summary-icon{background:var(--ecrit-fond);color:var(--ecrit);border-color:transparent}.g-summary .g-eyebrow{font-size:9px;color:var(--accent-m);letter-spacing:1.3px}.g-summary h2{font-size:23px;font-weight:600;letter-spacing:-.5px;line-height:1.3;margin:5px 0 8px}.g-summary p{font-size:13px;line-height:1.7;color:var(--doux);margin:0;overflow-wrap:anywhere}.g-summary-bottom{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px solid var(--filet);background:var(--repli)}.g-summary #gAvancee{flex:1;min-width:0}.g-summary .g-summary-action{flex:none}.g-summary .g-summary-action .btn{font-size:12px}.g-summary .g-segments{height:5px;gap:4px}.g-summary .g-avancee-texte{font-size:11px;line-height:1.7;margin-top:9px}.g-summary .g-avancee-texte strong{font-size:12px}.g-summary .g-avancee-texte span{font-size:11px}
.g-request{background:var(--carte);border:1px solid var(--filet);border-radius:10px;padding:0 16px}.g-request summary{display:flex;align-items:center;gap:10px;padding:14px 0;list-style:none;font-size:12px;font-weight:500;cursor:pointer}.g-request summary::-webkit-details-marker{display:none}.g-request summary>.g-trait:last-child{margin-left:auto;width:13px}.g-request[open] summary>.g-trait:last-child{transform:rotate(180deg)}.g-request p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--doux);margin:0 0 12px}.g-request .btn{font-size:11px;margin-bottom:12px}
.g-questions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 12px}.g-questions>span{width:100%;font-size:11px;color:var(--pale);margin-bottom:3px}.g-page .g-questions .btn{border-radius:20px;font-size:11px;font-weight:400;min-height:35px;padding:7px 11px;background:transparent}.g-page .g-composer{border-radius:13px;border-color:color-mix(in srgb,var(--accent-m) 25%,var(--filet));box-shadow:var(--ombre-carte)}.g-page .g-composer textarea{font-size:14px;min-height:90px}.g-page .btn.g-envoyer{background:var(--accent-m);color:var(--sur-accent);font-size:12px;border-radius:8px}.g-page .g-composer-note{font-size:11px}.g-page .g-groupe{font-size:14px}.g-page .g-bulle .g-md{font-size:14px;line-height:1.8}.g-page .g-avatar.agent{background:var(--accent-fond);color:var(--accent-m);border-radius:10px}.g-page .g-avatar.moi{background:var(--gris);color:var(--doux);border-radius:10px}
.g-rail-simple{display:flex;flex-direction:column;gap:16px}.g-rail-live{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border:1px solid var(--filet);border-radius:14px;background:var(--carte)}.g-rail-live .g-rail-pulse{flex:none;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--pale)}.g-rail-live.run{border-color:var(--accent-halo);background:var(--accent-fond)}.g-rail-live.run .g-rail-pulse{background:var(--accent-m);box-shadow:0 0 0 4px var(--accent-halo);animation:g-pouls 1.6s ease-in-out infinite}.g-rail-live.done .g-rail-pulse{background:var(--succes)}.g-rail-live.wait .g-rail-pulse{background:var(--ecrit-marque)}.g-rail-live.off .g-rail-pulse{background:var(--pale)}.g-rail-live-txt{min-width:0}.g-rail-live-txt small{display:block;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--pale)}.g-rail-live.run .g-rail-live-txt small{color:var(--accent-fonce)}.g-rail-live-txt p{font-size:13px;line-height:1.6;color:var(--encre);margin:4px 0 0;overflow-wrap:anywhere}.g-rail-prog{display:flex;flex-direction:column;gap:7px}.g-rail-bar{height:6px;border-radius:999px;background:var(--gris);overflow:hidden}.g-rail-bar i{display:block;height:100%;border-radius:999px;background:var(--accent-m);transition:width .4s ease}.g-rail-prog>span{font-size:11px;color:var(--pale)}.g-page .g-follow{order:3;font-size:11px;margin:0;background:transparent;border:0;padding:0;color:var(--accent-m)}
.g-fleet-filters{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 12px}.g-fleet-filters [aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.g-fleet-rows{list-style:none;padding:0;margin:15px 0}.g-fleet-rows li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.g-fleet-rows li>span{min-width:0}.g-fleet-rows strong{font-size:13px;overflow-wrap:anywhere}.g-fleet-rows small{display:block;font-size:11px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.g-fleet-state{text-align:right;font-size:11px;color:var(--sub)}.g-fleet-state.changed{color:var(--green)}.g-fleet-pagination,.g-fleet-pagination>div{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:11px}.g-fleet-pagination .btn{font-size:11px;padding:7px 10px}
@media(max-width:1150px){.g-page .g-corps{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.g-page .g-wrap{padding-left:24px;padding-right:24px}.g-page .g-rail{padding-left:20px}.g-conversation-heading>span{display:none}.g-summary-bottom{flex-wrap:wrap}.g-summary #gAvancee{flex-basis:100%}}
@media(max-width:1000px){.g-page .g-corps{grid-template-columns:minmax(0,1fr)}.g-page .g-rail{position:static;max-height:none;overflow:visible;border-left:0;padding-left:0;border-top:1px solid var(--filet);padding-top:25px}}
@media(max-width:720px){.g-page .g-topbar{padding:10px 16px;flex-wrap:wrap;height:auto;min-height:52px}.g-page .g-wrap{padding-left:16px;padding-right:16px}.g-page .g-titre{font-size:26px}.g-page .g-tete{padding-top:16px;gap:20px}.g-page .g-meta{font-size:11px}.g-summary-top{padding:19px 16px;gap:12px}.g-summary-icon{width:37px;height:37px;border-radius:10px}.g-summary h2{font-size:21px}.g-summary-bottom{padding:16px;gap:14px}.g-summary .g-avancee-texte{display:block}.g-summary .g-avancee-texte span{display:block;margin-top:5px}.g-summary .g-summary-action{width:100%}.g-summary .g-summary-action .btn{white-space:normal;text-align:left}.g-page .g-corps{padding-top:23px;gap:28px}.g-fleet-pagination{align-items:flex-start;flex-direction:column}.g-fleet-pagination>div{width:100%}.g-fleet-rows li{align-items:flex-start;flex-direction:column;gap:7px}.g-fleet-state{text-align:left}.g-page .g-meta>span{min-width:0;overflow-wrap:anywhere}.g-page .g-questions .btn{min-height:38px}.g-page .g-composer-note{flex-basis:140px}.g-page .g-summary-action .btn{min-height:40px}}

/* The composer follows the conversation instead of covering it on short screens. */
.g-page .g-dock{position:relative;bottom:auto;background:transparent;margin-top:0;padding-top:0}
.g-summary .g-segment.run{background:var(--accent-halo);box-shadow:inset 0 0 0 1px var(--accent-m)}
.g-page .g-latest{position:static;align-self:flex-end;max-width:100%}

/* Keep the existing tablet icon rail and mobile drawer widths. */
@media(min-width:1051px){:root{--sidebar:224px}}
