/* ITM Dashboard Design System 1.0.0
   Tokens et composants communs : surfaces, cartes, boutons, champs, badges,
   tableaux, timeline, alertes, typographie, espacements, ombres et animations. */
:root{
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;--ds-space-6:32px;
  --ds-type-page:26px;--ds-type-section:16px;--ds-type-title:13px;--ds-type-value:14px;--ds-type-label:10px;--ds-type-meta:9px;
  --ds-radius-sm:4px;--ds-radius-md:7px;--ds-radius-pill:999px;
  --ds-surface:rgba(1,9,20,.42);--ds-surface-raised:rgba(1,8,18,.58);--ds-surface-soft:rgba(255,255,255,.045);
  --ds-border:rgba(255,255,255,.15);--ds-border-soft:rgba(255,255,255,.09);
  --ds-text:#fff;--ds-text-muted:rgba(255,255,255,.58);--ds-text-subtle:rgba(255,255,255,.38);
  --ds-shadow-sm:0 3px 12px rgba(0,0,0,.13);--ds-shadow-md:0 12px 32px rgba(0,0,0,.20);
  --ds-transition:180ms cubic-bezier(.2,.8,.2,1)
}

.ds-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ds-button,.sidebar-alert-link{display:inline-flex;align-items:center;gap:var(--ds-space-2);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.14);color:var(--ds-text);transition:background var(--ds-transition),border-color var(--ds-transition),transform var(--ds-transition)}
.ds-button:hover,.sidebar-alert-link:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.overview-layout-actions{display:flex;align-items:center;gap:8px;margin-top:11px}.overview-layout-actions .ds-button{justify-content:center;min-height:34px;margin:0;padding:7px 12px;border-radius:var(--ds-radius-sm);font-size:var(--ds-type-label);font-weight:650}.overview-layout-actions .ds-button .icon{width:13px;height:13px}.preference-save-button{border-color:rgba(76,218,232,.52);background:linear-gradient(135deg,rgba(53,203,234,.2),rgba(124,91,255,.24));box-shadow:0 7px 18px rgba(61,113,202,.12),inset 0 1px 0 rgba(255,255,255,.08)}.preference-save-button:hover:not(:disabled),.preference-save-button:focus-visible:not(:disabled){border-color:rgba(98,233,224,.88);background:linear-gradient(135deg,rgba(53,203,234,.3),rgba(124,91,255,.34));box-shadow:0 8px 22px rgba(53,203,234,.16),0 0 14px rgba(124,91,255,.12)}.preference-reset-button{border-color:rgba(255,255,255,.16);background:rgba(4,12,22,.24);color:var(--ds-text-muted)}.preference-reset-button:hover:not(:disabled),.preference-reset-button:focus-visible:not(:disabled){border-color:rgba(189,164,255,.52);background:rgba(124,91,255,.1);color:var(--ds-text)}.overview-layout-actions .ds-button:disabled{cursor:not-allowed;filter:saturate(.55);opacity:.42;box-shadow:none}@media(max-width:430px){.overview-layout-actions{display:grid;grid-template-columns:1fr 1fr}.overview-layout-actions .ds-button{width:100%}}
.ds-input{height:32px;padding:0 var(--ds-space-2);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.24);color:var(--ds-text)}
.ds-tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-pill);color:var(--ds-text-muted);font-size:8px}

/* Navigation commune */
.sidebar nav .sidebar-alert-link{position:relative;width:100%;padding:14px;border-color:transparent;border-radius:4px;box-shadow:none;font-size:15px;text-align:left}.sidebar-alert-link .icon{width:24px;height:24px}.sidebar-alert-link b{display:grid;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:9px;background:var(--status-critical);font-size:8px}.sidebar-alert-link b[hidden]{display:none}
.sidebar nav .module-nav-link .icon{margin-left:6px}.sidebar nav .module-nav-link span{margin-left:2px}
.sidebar nav .icon{color:rgba(255,255,255,.88)!important}
.platform-overview>.health-console{margin:0!important;padding:9px 0 0!important;border:0!important;border-top:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.platform-overview>header .health-collection-services{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}.health-collection-services .health-module{display:inline-flex;align-items:center;gap:5px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:rgba(255,255,255,.68);font-size:8px;line-height:1.1;letter-spacing:.01em}.health-collection-services .health-module-icon{width:12px;height:12px;color:rgba(255,255,255,.56);stroke-width:1.8}.health-collection-services .health-module .dot{width:5px;height:5px;border-radius:2px;box-shadow:0 0 6px currentColor}.health-collection-services .health-module.ok .dot{background:#52e8ae;color:#52e8ae}.health-collection-services .health-module.warning .dot{background:#ffb23d;color:#ffb23d}.health-collection-services .health-module.critical .dot{background:#ff5c70;color:#ff5c70}.health-collection-services .health-module.unknown .dot{background:rgba(255,255,255,.5);color:rgba(255,255,255,.5)}
body .grid>.module-card:not(.nexis-scope-card) .module-title>.icon{width:27px;height:27px}
@media(max-width:700px){body .grid>.module-card:not(.nexis-scope-card) .module-title>.icon{width:20px;height:20px}}

/* Bandeau État de la plateforme */
.health-console{grid-template-columns:minmax(190px,.72fr) minmax(420px,1.6fr)!important;gap:14px 26px!important;padding:18px 20px!important;margin-bottom:14px!important;background:linear-gradient(110deg,rgba(1,14,23,.62),rgba(17,9,43,.48))!important}
.health-console-summary{display:grid!important;justify-items:start;gap:7px!important}.health-console-summary .eyebrow{margin:0;color:var(--ds-text-subtle);font-size:8px}.health-console-summary .status-badge{padding:8px 12px!important}.health-console-summary .status-badge strong{font-size:12px!important}
.health-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.health-facts>span{min-width:0;padding:9px 10px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.15)}.health-facts small,.health-facts strong,.health-facts time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-facts small{color:var(--ds-text-subtle);font-size:7px}.health-facts strong,.health-facts time{margin-top:3px;color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.health-timeline-wrap,.health-modules{grid-column:1/-1}.health-timeline{justify-content:flex-start!important}.health-modules{justify-content:flex-end}
.health-timeline-wrap{grid-template-columns:auto minmax(0,1fr) auto}.health-timeline-label,.health-timeline-freshness{white-space:nowrap;color:rgba(255,255,255,.42);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.health-timeline-freshness{color:rgba(255,255,255,.88);font-variant-numeric:tabular-nums}.health-timeline-freshness.is-ok,.health-timeline-freshness.is-warning,.health-timeline-freshness.is-critical,.health-timeline-freshness.is-unknown{color:rgba(255,255,255,.88)}
.health-timeline{position:relative}.health-timeline.is-timeline-entering{animation:itm-timeline-enter 160ms cubic-bezier(.22,.8,.3,1) both}.health-timeline-chart-entering{animation:itm-timeline-curve-in 460ms cubic-bezier(.22,.8,.3,1) both}.health-timeline-chart-ready{clip-path:inset(0 0 0 0)}.health-timeline-intro-points{position:absolute;inset:0;z-index:3;pointer-events:none}.health-timeline-intro-point{position:absolute;width:9px;height:9px;border:1px solid transparent;border-radius:50%;box-sizing:border-box;opacity:0;transform:translate(-50%,-50%) scale(.45)}.health-timeline-intro-point.is-visible{animation:itm-timeline-point-in 180ms cubic-bezier(.2,.85,.25,1) forwards}@keyframes itm-timeline-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes itm-timeline-curve-in{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}@keyframes itm-timeline-point-in{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.alert-level.event-tone-ok{border-color:var(--status-ok);color:var(--status-ok)}.alert-level.event-tone-warning{border-color:var(--status-warning);color:var(--status-warning)}.alert-level.event-tone-critical{border-color:var(--status-critical);color:var(--status-critical)}.alert-level.event-tone-sync,.alert-level.event-tone-level-information{border-color:var(--status-info);color:var(--status-info)}.event-table-row.event-tone-ok{border-left-color:var(--status-ok)}.event-table-row.event-tone-warning{border-left-color:var(--status-warning)}.event-table-row.event-tone-critical{border-left-color:var(--status-critical)}.event-table-row.event-tone-sync,.event-table-row.event-tone-level-information{border-left-color:var(--status-info)}

/* KPI réutilisables */
.ds-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.ds-kpi{position:relative;display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:11px;min-height:96px!important;padding:14px 16px!important;background:var(--ds-surface)!important}.ds-kpi>.icon{grid-row:1/-1;width:24px!important;height:24px!important;margin:0!important;color:rgba(255,255,255,.68)}.ds-kpi>span{grid-column:2;color:var(--ds-text-muted);font-size:9px!important}.ds-kpi>strong{grid-column:2;margin:1px 0 0!important;font-size:24px!important;letter-spacing:-.03em}.ds-kpi>strong b{font:inherit}.ds-kpi>i{display:none}.summary-alert.is-ok>.icon{color:var(--status-ok)}.summary-alert.is-warning>.icon{color:var(--status-warning)}.summary-alert.is-critical>.icon{color:var(--status-critical)}.summary-alert.is-sync>.icon{color:var(--status-info)}

/* Hiérarchie et uniformité des cartes modules */
.grid>.module-card,.grid>.module-card-primary{background:linear-gradient(110deg,rgba(1,14,23,.58),rgba(17,9,43,.42))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.grid{display:flex;flex-wrap:wrap;align-items:stretch}.module-card,.module-card-primary{grid-column:auto;flex:1 1 calc(33.333% - 12px);min-width:min(100%,360px);min-height:230px;height:auto;border:1px solid var(--ds-border)!important;border-radius:var(--ds-radius-md)!important;background:var(--ds-surface-raised)!important;box-shadow:var(--ds-shadow-sm)!important;transition:transform var(--ds-transition),border-color var(--ds-transition),background var(--ds-transition),box-shadow var(--ds-transition),flex-basis var(--ds-transition)!important}.module-card-primary .module-code{font-size:var(--ds-type-title)!important}.module-card:hover,.module-card:focus-visible{transform:translateY(-2px)!important;border-color:rgba(255,255,255,.23)!important;background:linear-gradient(125deg,rgba(255,255,255,.075),rgba(0,0,0,.18))!important;box-shadow:0 14px 34px rgba(0,0,0,.22),0 0 18px rgba(255,255,255,.055)!important;outline:none}.module-card .metrics>div{border-radius:var(--ds-radius-sm)!important;background:var(--ds-surface-soft)!important}.module-card.is-refreshing{animation:ds-card-refresh .55s ease-out}.module-card.status-flash-ok,.module-card.status-flash-warning,.module-card.status-flash-critical{will-change:opacity}.module-card.is-anchor-highlighted,#overview.is-anchor-highlighted{animation:ds-anchor-highlight 2.2s ease-out both}
.grid .nexis-card-global-compact{flex:0 1 calc(33.333% - 12px)}.grid .nexis-card-scope{flex-basis:calc(50% - 9px)}

/* Alertes enrichies */
.alert-item{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:11px;padding:14px!important;border-radius:var(--ds-radius-md)!important;background:var(--ds-surface)!important;animation:ds-alert-in .24s ease-out}.alert-module-icon{grid-row:1/6;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ds-border);border-radius:50%;background:var(--ds-surface-soft);font-size:9px;font-weight:700;letter-spacing:.04em}.alert-item>header,.alert-item>h3,.alert-item>p,.alert-item>.alert-state-change,.alert-item>footer{grid-column:2}.alert-item h3{margin-top:6px!important}.alert-open-module{padding-left:10px!important;padding-right:10px!important}
.alert-state-label{margin-right:auto;color:var(--ds-text-muted);font-size:var(--ds-type-meta);white-space:nowrap}
.event-table-row{transition:background var(--ds-transition)}

@keyframes ds-alert-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@keyframes ds-point-in{0%{opacity:0;transform:scale(.18);filter:brightness(1.8)}42%{opacity:.88;transform:scale(1.35);filter:brightness(1.35)}100%{opacity:1;transform:none;filter:none}}@keyframes ds-point-halo{0%{opacity:0;transform:scale(.3)}24%{opacity:.72}100%{opacity:0;transform:scale(1.8)}}
@keyframes ds-card-refresh{0%{background-color:rgba(255,255,255,.11)}100%{background-color:transparent}}
@keyframes ds-anchor-highlight{0%{border-color:rgba(255,255,255,.92);filter:brightness(1.16);box-shadow:0 0 0 1px rgba(255,255,255,.48),0 0 26px rgba(255,255,255,.25)}100%{filter:brightness(1);box-shadow:var(--ds-shadow-sm)}}

/* Grands écrans et densité maîtrisée */
@media(min-width:1800px){:root{--ds-layout-max:2560px;--ds-layout-gutter:clamp(18px,1.35vw,30px)}main{padding-left:var(--ds-layout-gutter);padding-right:var(--ds-layout-gutter)}.grid{gap:18px}.module-card{min-height:238px}.health-console{padding:20px 24px!important}}
@media(max-width:1320px){.module-card,.module-card-primary,.grid .nexis-card-global-compact,.grid .nexis-card-scope{flex-basis:calc(50% - 8px);min-width:min(100%,310px)}.ds-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:920px){.sidebar nav .sidebar-alert-link{min-height:44px;padding:7px 9px;gap:7px;border-color:rgba(255,255,255,.07);border-radius:8px;font-size:9px;white-space:nowrap}.sidebar-alert-link .icon{width:16px;height:16px}.sidebar-alert-link b{margin-left:2px}.sidebar nav .module-nav-link .icon,.sidebar nav .module-nav-link span{margin-left:0}.health-console{grid-template-columns:1fr!important}.health-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.ds-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ds-kpi{min-height:80px!important;padding:11px!important}.ds-kpi>strong{font-size:20px!important}.health-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.health-modules{justify-content:flex-start}.module-card,.module-card-primary,.grid .nexis-card-global-compact,.grid .nexis-card-scope{flex-basis:100%;min-width:0;min-height:0}.alert-item{grid-template-columns:30px minmax(0,1fr);padding:11px!important}.alert-module-icon{width:30px;height:30px;font-size:7px}}
@media(max-width:360px){.health-facts{grid-template-columns:1fr 1fr}.ds-kpi>.icon{width:19px!important;height:19px!important}.ds-kpi>strong{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){.alert-item,.module-card.is-refreshing{animation:none!important}.module-card{transition:none!important}.module-card.is-anchor-highlighted,#overview.is-anchor-highlighted{animation:none;outline:2px solid rgba(255,255,255,.72);outline-offset:3px}}

/* Visualisation réutilisable des valeurs contractuelles. */
.ds-progress-ring{--ring-color:var(--status-info);position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:transparent;box-shadow:none}.ds-progress-ring:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--ring-color) var(--progress,0%),rgba(255,255,255,.18) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px))}.ds-progress-ring>strong{position:relative;z-index:1;margin:0!important;color:#fff;font-size:13px!important;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.ds-progress-ring.is-ok{--ring-color:var(--status-ok)}.ds-progress-ring.is-warning{--ring-color:var(--status-warning)}.ds-progress-ring.is-critical{--ring-color:var(--status-critical)}.ds-progress-ring.is-sync,.ds-progress-ring.is-unknown{--ring-color:var(--status-info)}.ds-progress-ring.is-empty{--ring-color:rgba(255,255,255,.18)}
.volume-card>.ds-progress-ring{margin:13px auto}.volume-card>.ds-progress-ring:before{background:conic-gradient(var(--ring-color) var(--progress,0%),rgba(255,255,255,.09) 0)}.volume-card>.ds-progress-ring.is-ok:before{filter:drop-shadow(0 0 5px rgba(50,215,109,.3))}
.volume-card>.ds-progress-ring:before{background:conic-gradient(from -90deg,#34d9d0 0%,#7c5bff 50%,#c06bff var(--progress,0%),rgba(255,255,255,.09) var(--progress,0%) 100%);filter:drop-shadow(0 0 7px rgba(124,91,255,.42))}.volume-card>.ds-progress-ring:after{content:"";position:absolute;z-index:1;width:7px;height:7px;border-radius:50%;background:#c06bff;left:calc(50% + 35px * cos(var(--progress-angle,-90deg)));top:calc(50% + 35px * sin(var(--progress-angle,-90deg)));transform:translate(-50%,-50%);box-shadow:0 0 8px rgba(192,107,255,.8)}
.freshness-indicator,.module-freshness{display:inline-flex;align-items:center;min-width:0;color:rgba(255,255,255,.52);font-size:var(--ds-type-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.freshness-indicator .dot,.module-freshness .dot{flex:0 0 auto;width:8px;height:8px}.freshness-indicator.is-warning,.module-freshness.is-warning{color:rgba(255,184,73,.76)}.freshness-indicator.is-critical,.module-freshness.is-critical{color:rgba(255,105,97,.76)}
.freshness-mini{justify-content:flex-start;gap:6px;max-width:100%;font-weight:600;line-height:1.2}.freshness-small{justify-content:flex-end;gap:5px;font-weight:500}.freshness-small .dot{width:7px;height:7px}.ds-stat-card>.freshness-mini{align-self:center}.data-provenance-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:32px;min-height:18px;padding:3px 6px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:transparent;color:rgba(255,255,255,.72)!important;font-size:var(--ds-type-meta);font-weight:650;line-height:1;text-decoration:none;letter-spacing:.04em;white-space:nowrap}.ds-card-context{display:inline-flex;align-items:center;min-width:0;gap:7px}
.ds-stat-context{display:block;margin-top:2px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);font-weight:500;line-height:1.25}
.data-source-breakdown{display:grid;gap:5px;min-width:0}.data-source-breakdown>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}.data-source-breakdown small{overflow:hidden;text-overflow:ellipsis;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);white-space:nowrap}.data-source-breakdown .data-provenance-badge{font-size:var(--ds-type-meta)}
.collection-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-policy-card{display:grid;gap:10px;padding:14px}.collection-policy-card>header,.collection-policy-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.collection-policy-card>header>div{display:grid;gap:3px}.collection-policy-card>header small,.collection-policy-card>footer{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.collection-policy-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.collection-policy-card>footer{padding-top:8px;border-top:1px solid var(--ds-border-soft)}@media(max-width:760px){.collection-policy-grid{grid-template-columns:1fr}}@media(max-width:480px){.collection-policy-stats{grid-template-columns:1fr}.collection-policy-card>footer{align-items:flex-start;flex-direction:column}}

/* Géométrie unique des badges de statut dans toutes les vues. */
.status-badge,.module-status-badge,.health-console-summary .status-badge{display:inline-flex;align-items:center;min-height:26px;padding:6px 10px!important;border-radius:999px!important;font-size:var(--ds-type-meta)!important;line-height:1!important}.status-badge .dot,.module-status-badge .dot,.card-head>.module-status-badge .dot{flex:0 0 auto;width:12px;height:12px}
@media(max-width:680px){.status-badge,.module-status-badge,.health-console-summary .status-badge{min-height:22px;padding:5px 7px!important;font-size:8px!important}.status-badge .dot,.module-status-badge .dot,.card-head>.module-status-badge .dot{width:10px;height:10px}}

/* Anneau unique : tracé transparent, sans masque coloré ni cadre parent. */
.platform-overview{display:grid;gap:10px;margin-bottom:16px;padding:13px 15px;background:linear-gradient(110deg,rgba(1,14,23,.58),rgba(17,9,43,.42))}.platform-overview>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.platform-overview>header>div{display:flex;align-items:center;gap:11px}.platform-overview .eyebrow{margin:0}.platform-overview>header button{padding:6px 9px;border-radius:999px;box-shadow:none;font-size:7px}.platform-indicators{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.platform-indicators>span{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 7px;min-height:58px;padding:8px 9px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.13)}.platform-indicators .icon{grid-row:1/-1;width:18px;height:18px;color:rgba(255,255,255,.55)}.platform-indicators small{color:var(--ds-text-subtle);font-size:7px}.platform-indicators strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:11px;white-space:nowrap}.health-timeline-console{display:grid!important;grid-template-columns:1fr!important;padding:11px 14px!important}.health-timeline-console .health-timeline-wrap,.health-timeline-console .health-modules{grid-column:1}.health-timeline-console .health-modules{padding-top:5px}
@media(max-width:1200px){.platform-indicators{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.platform-overview>header,.platform-overview>header>div{align-items:flex-start;flex-direction:column}.platform-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Échelle typographique commune : importance par hiérarchie, pas par surdimensionnement. */
h1{font-size:var(--ds-type-page);line-height:1.12}.eyebrow{font-size:var(--ds-type-meta);line-height:1.3}.module-code,.module-card-primary .module-code{font-size:var(--ds-type-title)!important;line-height:1.2}.card h2{font-size:var(--ds-type-label);line-height:1.35}.status-badge,.module-status-badge{font-size:var(--ds-type-meta);line-height:1.2}.module-card .metrics span,.platform-indicators small,.health-facts small,.ds-kpi>span{font-size:var(--ds-type-meta)!important;line-height:1.3;color:rgba(255,255,255,.56)}.module-card .metrics strong,.platform-indicators strong{font-size:var(--ds-type-value);line-height:1.25}.module-freshness,.module-owner,.card footer{font-size:var(--ds-type-meta)}.ds-progress-ring>strong{font-size:var(--ds-type-label)!important}.drawer-header h2,.alert-center-head h2{font-size:21px;line-height:1.15}.drawer-section h3,.engine-section-head h2,.engine-block h2{font-size:var(--ds-type-title);line-height:1.3}.drawer-row span,.drawer-row strong,.detail-row span,.detail-row strong,.engine-detail-grid strong,.engine-monitoring-grid strong{font-size:var(--ds-type-label);line-height:1.4}.engine-detail-grid>span,.engine-monitoring-grid>span,.engine-form-note,.engine-form-section-head p,.engine-storage-section>p{font-size:var(--ds-type-meta);line-height:1.45}.engine-dialog h2{font-size:18px;line-height:1.2}.engine-dialog label,.engine-form-grid label,.engine-key-field{font-size:var(--ds-type-label)}.engine-form-grid small,.engine-key-field small,.engine-auth-options small{font-size:var(--ds-type-meta);line-height:1.4}.engine-auth-options strong{font-size:var(--ds-type-label)}.alert-item h3{font-size:12px}.alert-item p,.event-table-row,.event-item p{font-size:var(--ds-type-meta);line-height:1.4}.alert-level,.alert-item time,.event-item time,.event-table-head{font-size:8px}.nexis-fleet-head h2{font-size:20px}
@media(max-width:680px){:root{--ds-type-page:23px;--ds-type-section:15px;--ds-type-title:12px;--ds-type-value:13px;--ds-type-label:10px;--ds-type-meta:9px}.drawer-header h2,.alert-center-head h2{font-size:19px}}

/* Une statistique = une carte ; l’anneau remplace la valeur sans créer de sous-widget. */
.ds-stat-card{min-width:0;padding:10px;border:1px solid var(--line-soft);border-radius:var(--ds-radius-sm);background:var(--ds-surface-soft)}
.ds-stat-card>span{display:block;margin-bottom:6px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.3}
.ds-stat-card>strong{display:block;color:#fff;font-size:var(--ds-type-value);line-height:1.25;overflow-wrap:anywhere}
.module-card .metrics>.ds-stat-card{display:grid;align-content:start;min-height:112px;padding:9px!important;border:1px solid var(--line-soft)!important;background:var(--ds-surface-soft)!important}
.ds-ring-stat-card{display:grid;grid-template-columns:1fr;justify-items:center;align-content:start;gap:8px}
.ds-ring-stat-card>span{justify-self:start;width:100%;text-align:left}
.ds-ring-stat-card>.ds-progress-ring{margin:0}

/* Synthèse flotte : même densité horizontale que l’état de plateforme. */
.nexis-fleet-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:14px}
.nexis-fleet-summary>.ds-stat-card{display:grid;align-content:center;min-height:66px;padding:9px 10px}
.nexis-fleet-summary>.ds-stat-card>span{margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexis-fleet-summary>.ds-stat-card>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ds-type-value)}
.nexis-fleet-summary .freshness-mini{justify-content:flex-start}
@media(max-width:1280px){.nexis-fleet-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.nexis-fleet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.nexis-fleet-summary{grid-template-columns:1fr}}

/* Hiérarchie opérateur : label discret, valeur immédiatement lisible. */
.ds-stat-card>strong,.module-card .metrics strong,.platform-indicators strong{font-size:16px;line-height:1.2;font-weight:650}
.ds-progress-ring>strong{font-size:13px!important}
.module-card .metrics>.ds-stat-card>span,.nexis-fleet-summary>.ds-stat-card>span{font-size:9px!important}
.nexis-fleet-summary>.ds-stat-card>strong{font-size:15px}

/* Densités officielles des Stat Cards : structure commune, hiérarchie adaptée au contexte. */
.ds-stat-card.compact{display:grid;grid-template-rows:auto 1fr;align-content:stretch;min-height:76px;padding:9px 9px 6px}
.ds-stat-card.compact>span{margin-bottom:8px;font-size:9px}
.ds-stat-card.compact>strong{align-self:center;font-size:18px;font-weight:680;color:#fff;line-height:1.12}
.ds-stat-card.standard{display:grid;align-content:start;min-height:92px;padding:10px 10px 5px}
.ds-stat-card.standard>span{margin-bottom:7px;font-size:9px}
.ds-stat-card.standard>strong{font-size:21px;font-weight:690;color:#fff;line-height:1.1}
.ds-stat-card.large{display:grid;align-content:start;min-height:70px;padding:10px 11px 5px}
.ds-stat-card.large>span{margin-bottom:7px;font-size:9px}
.ds-stat-card.large>strong{font-size:24px;font-weight:700;color:#fff;line-height:1.08}
.module-card .metrics>.ds-stat-card.compact{min-height:76px}
.module-card .metrics>.ds-stat-card.standard{min-height:92px}
.ds-ring-stat-card.compact,.ds-ring-stat-card.standard{align-content:start}
.ds-ring-stat-card.compact>.ds-progress-ring{width:66px;height:66px}
.ds-ring-stat-card.standard>.ds-progress-ring{width:58px;height:58px}
.ds-ring-stat-card>.ds-progress-ring>strong{font-size:14px!important}
.nexis-fleet-summary>.ds-stat-card.large{min-height:70px}
.nexis-fleet-summary>.ds-stat-card.large>strong{font-size:18px}
.nexis-fleet-summary>.ds-stat-card.large>.freshness-mini{font-size:18px;font-weight:700;line-height:1.08}
@media(max-width:680px){.ds-stat-card.compact>strong{font-size:17px}.ds-stat-card.standard>strong{font-size:19px}.ds-stat-card.large>strong{font-size:21px}}

/* Cartes d’instances et visualisation historique génériques. */
.ds-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.ds-instance-card{display:flex;min-width:0;flex-direction:column;gap:12px;padding:14px;background:var(--ds-surface-raised)}
.ds-instance-card:target{border-color:rgba(255,255,255,.56);box-shadow:0 0 0 1px rgba(255,255,255,.18),var(--ds-shadow-md)}
.ds-instance-card-head,.ds-instance-title,.ds-card-footer,.ds-capacity-summary{display:flex;align-items:center}
.ds-instance-card-head{justify-content:space-between;gap:10px}.ds-instance-title{min-width:0;gap:9px}.ds-instance-title .icon{flex:0 0 auto;width:24px;height:24px;color:rgba(255,255,255,.74)}.ds-instance-title h2{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:var(--ds-type-title);white-space:nowrap}
.ds-instance-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ds-instance-stats>.ds-stat-card.compact{min-height:70px}.ds-instance-stats>.ds-stat-card.compact>strong{font-size:16px}
.ds-technical-list{display:grid;gap:5px;margin:0}.ds-technical-list>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:6px 8px;border:1px solid rgba(151,112,255,.28);border-radius:var(--ds-radius-sm);background:rgba(48,28,82,.18)}.ds-technical-list dt{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.ds-technical-list dd{display:grid;grid-template-columns:minmax(72px,.7fr) minmax(0,1fr);gap:7px;min-width:0;margin:0;color:var(--ds-text-muted);font-size:var(--ds-type-meta);font-variant-numeric:tabular-nums}.ds-technical-list dd span,.ds-technical-list dd b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-technical-list dd b{color:rgba(255,255,255,.72);font-weight:600}
.ds-capacity-summary{justify-content:space-between;gap:12px}.ds-capacity-summary>div{display:grid;min-width:0;gap:4px}.ds-capacity-summary span,.ds-mini-chart-head{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.ds-capacity-summary strong{overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:var(--ds-type-label);font-weight:620;white-space:nowrap}.ds-capacity-summary>b{flex:0 0 auto;color:rgba(151,112,255,.94);font-size:24px;font-variant-numeric:tabular-nums}
.ds-mini-chart{position:relative;display:grid;grid-template-rows:auto 1fr;min-height:118px;padding:8px 0 0;border-top:1px solid var(--ds-border-soft)}.ds-mini-chart-head{display:flex;align-items:center;justify-content:space-between}.ds-mini-chart svg{display:block;width:100%;height:92px;overflow:visible}.ds-mini-chart .chart-grid-line{stroke:rgba(255,255,255,.08);stroke-width:1}.ds-mini-chart .chart-series{fill:none;stroke:rgba(151,112,255,.9);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ds-mini-chart .chart-axis-label{fill:rgba(255,255,255,.32);font-size:8px}.ds-mini-chart.is-empty p{position:absolute;top:55%;left:50%;margin:0;padding:4px 8px;transform:translate(-50%,-50%);border-radius:var(--ds-radius-sm);background:rgba(1,9,20,.74);color:var(--ds-text-muted);font-size:var(--ds-type-meta);white-space:nowrap}.ds-mini-chart.has-data small{position:absolute;right:4px;top:8px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.ds-card-footer{justify-content:space-between;gap:10px;margin-top:auto;padding-top:9px;border-top:1px solid var(--ds-border-soft)}.ds-button-compact{padding:5px 8px;font-size:var(--ds-type-meta);text-decoration:none}.ds-button-compact .icon{width:12px;height:12px}
.nexis-detail-drawer .drawer-status{justify-content:space-between}.nexis-detail-drawer .drawer-status>.ds-card-context{margin-left:auto}.nexis-detail-stats,.nexis-identity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.nexis-identity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-architecture-list{display:grid;gap:7px;margin-top:8px}.ds-architecture-node{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;padding:10px 11px;border:1px solid rgba(151,112,255,.28);border-radius:var(--ds-radius-sm);background:rgba(48,28,82,.18)}.ds-architecture-node>span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);text-transform:uppercase;letter-spacing:.06em}.ds-architecture-node>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr);gap:12px;min-width:0}.ds-architecture-node strong,.ds-architecture-node small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-architecture-node strong{color:#fff;font-size:var(--ds-type-label)}.ds-architecture-node small{color:var(--ds-text-muted);font-size:var(--ds-type-label);font-variant-numeric:tabular-nums}.nexis-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.nexis-section-heading h3{margin:0 0 3px}.nexis-section-heading p{margin:0;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.nexis-section-heading .ds-input{width:min(220px,46%);padding:7px 9px}.nexis-workspace-list{display:grid;gap:6px}.nexis-workspace-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;min-width:0;padding:10px 11px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.025)}.nexis-workspace-row>div{display:grid;min-width:0;gap:3px}.nexis-workspace-row strong{overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:var(--ds-type-label);white-space:nowrap}.nexis-workspace-row span{color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.nexis-workspace-row>b{align-self:center;color:#fff;font-size:var(--ds-type-title);font-variant-numeric:tabular-nums}.nexis-workspace-row>i{grid-column:1/-1;height:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.nexis-workspace-row>i>span{display:block;width:var(--workspace-usage,0%);height:100%;border-radius:inherit;background:var(--status-ok);box-shadow:0 0 8px rgba(50,215,109,.35)}.nexis-contract-empty{display:grid;gap:5px;padding:14px;border:1px dashed rgba(255,255,255,.18);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.16)}.nexis-contract-empty strong{color:rgba(255,255,255,.76);font-size:var(--ds-type-label)}.nexis-contract-empty span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.5}
@media(max-width:1680px){.ds-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1240px){.ds-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ds-module-grid{grid-template-columns:1fr}.ds-instance-card{padding:12px}.nexis-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nexis-identity-summary{grid-template-columns:1fr}.ds-architecture-node{grid-template-columns:1fr}.ds-architecture-node>div{grid-template-columns:1fr}.nexis-section-heading{align-items:stretch;flex-direction:column}.nexis-section-heading .ds-input{width:100%}}

/* Mise en page dense : composants et palette existants conservés. */
.topbar{min-height:54px;margin:-16px -20px 14px;padding:7px 20px!important;border-bottom:1px solid var(--ds-border-soft)!important;align-items:center!important;background:rgba(0,0,0,.10)!important}
.global-breadcrumb{display:flex;align-items:center;gap:9px;min-width:0;font-size:var(--ds-type-label)}.global-breadcrumb a{color:var(--ds-text-muted);text-decoration:none}.global-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;color:#fff;font-weight:600;white-space:nowrap}.global-breadcrumb span{color:var(--ds-text-subtle)}
.topbar-context{display:grid;min-width:0;gap:2px}.topbar-description{max-width:min(760px,58vw);margin:0;overflow:hidden;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.topbar-description{max-width:58vw;font-size:7px}}
.topbar .top-actions{gap:9px}.topbar .header-refresh,.topbar .alert-center-toggle{width:32px;height:32px;padding:0;justify-content:center;border-radius:50%;box-shadow:none}.topbar .header-refresh .icon,.topbar .alert-center-toggle .icon{width:16px;height:16px}.topbar .clock-wrap{width:auto;padding:0 9px;border-left:1px solid var(--ds-border-soft);font-size:var(--ds-type-meta)}.topbar .clock-wrap .icon{width:15px;height:15px}.topbar .header-system-status{white-space:nowrap}.topbar .avatar{width:32px;height:32px}.topbar .user-profile strong{font-size:8px}.topbar .user-profile small{font-size:7px}
.user-menu{position:relative}.user-menu>summary{list-style:none}.user-menu>summary::-webkit-details-marker{display:none}.user-menu-chevron{width:12px;height:12px;color:var(--ds-text-subtle);transform:rotate(90deg);transition:transform .16s ease}.user-menu[open] .user-menu-chevron{transform:rotate(-90deg)}.topbar .user-profile-copy{display:grid;gap:1px;max-width:190px}.topbar .user-profile-copy strong,.topbar .user-profile-copy small{display:block;line-height:1.15}
.user-menu-popover{position:absolute;z-index:320;top:calc(100% + 9px);right:0;display:grid;width:min(250px,calc(100vw - 24px));padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(5,14,27,.88);box-shadow:0 18px 50px rgba(0,0,0,.48);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.user-menu-identity{display:grid;gap:2px;margin-bottom:5px;padding:9px 10px 11px;border-bottom:1px solid var(--ds-border-soft)}.user-menu-identity strong{overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:11px;white-space:nowrap}.user-menu-identity small{overflow:hidden;text-overflow:ellipsis;color:var(--ds-text-muted);font-size:8px;white-space:nowrap}.user-menu-identity span{margin-top:3px;color:rgba(151,112,255,.96);font-size:8px}.user-menu-popover>a,.user-menu-popover form button{display:flex;align-items:center;gap:9px;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:rgba(255,255,255,.86);font:inherit;font-size:9px;text-align:left;text-decoration:none;cursor:pointer;transition:background .16s ease,color .16s ease}.user-menu-popover>a:hover,.user-menu-popover form button:hover,.user-menu-popover>a:focus-visible,.user-menu-popover form button:focus-visible{outline:none;background:rgba(151,112,255,.14);color:#fff}.user-menu-popover .icon{width:15px;height:15px;color:rgba(183,157,255,.95)}.user-menu-popover form{margin:0}
.nexis-fleet-summary-compact{grid-template-columns:1.25fr repeat(8,minmax(0,1fr));margin-bottom:9px}.nexis-fleet-summary-compact>.ds-stat-card.large{min-height:58px;padding:8px 10px}.nexis-fleet-summary-compact>.ds-stat-card.large>span{color:rgba(255,255,255,.9);opacity:1}.nexis-fleet-summary-compact>.ds-stat-card.large>strong,.nexis-fleet-summary-compact>.ds-stat-card.large>.freshness-mini{font-size:14px}.nexis-summary-identity{background:rgba(255,255,255,.055)}
@media(max-width:1500px){.nexis-fleet-summary-compact{grid-template-columns:repeat(6,minmax(0,1fr))}}
.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta{font-size:10px!important;font-weight:700;bottom:7px}

/* Une seule grammaire pour toutes les bandes KPI de premier niveau. */
.admin-summary,.system-summary,.nexis-fleet-summary-compact,.workspace-studio-summary-strip,.collection-admin-summary{gap:7px;margin-top:0;margin-bottom:9px}
.admin-summary>.ds-stat-card,.system-summary>.ds-stat-card,.nexis-fleet-summary-compact>.ds-stat-card,.workspace-studio-summary-strip>.ds-stat-card,.collection-admin-summary>.ds-stat-card{min-height:58px;padding:8px 10px;border-color:rgba(255,255,255,.17);background:rgba(255,255,255,.055);box-shadow:none}
.admin-summary>.ds-stat-card>span,.system-summary>.ds-stat-card>span,.nexis-fleet-summary-compact>.ds-stat-card>span,.workspace-studio-summary-strip>.ds-stat-card>span,.collection-admin-summary>.ds-stat-card>span{color:rgba(255,255,255,.9);opacity:1}
.admin-summary>.ds-stat-card>strong,.system-summary>.ds-stat-card>strong,.nexis-fleet-summary-compact>.ds-stat-card>strong,.workspace-studio-summary-strip>.ds-stat-card>strong,.collection-admin-summary>.ds-stat-card>strong{margin-top:3px;color:#fff;font-size:14px;line-height:1.15}
.nexis-summary-identity,.workspace-studio-identity{background:rgba(255,255,255,.055)!important}
.system-overview{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.system-overview>.card-head{display:none}
.system-overview>.system-summary{margin-bottom:9px!important}
.nexis-global-history{display:grid;gap:8px;min-height:0;margin-bottom:10px;padding:12px 14px}.nexis-global-history>header,.nexis-global-history>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.nexis-global-history>header .eyebrow{margin:0 0 2px}.nexis-global-history>header span,.nexis-global-history>footer{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.nexis-range-controls{display:flex;gap:4px}.nexis-range-controls button{min-width:34px;padding:5px 7px;border-radius:3px;box-shadow:none;font-size:var(--ds-type-meta)}.nexis-range-controls button[aria-pressed="true"]{border-color:rgba(151,112,255,.7);background:rgba(151,112,255,.16)}
.nexis-global-chart-canvas{position:relative}.nexis-global-chart-canvas svg{display:block;width:100%;height:178px;overflow:visible}.nexis-global-chart [data-chart-grid] line{stroke:rgba(255,255,255,.08);stroke-width:1}.nexis-global-chart [data-chart-labels] text{fill:rgba(255,255,255,.42);font-size:9px}.nexis-global-chart [data-chart-area]{fill:rgba(151,112,255,.09);stroke:none}.nexis-global-chart [data-chart-history]{fill:none;stroke:url(#nexis-global-value-gradient);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.nexis-global-chart [data-chart-forecast]{fill:none;stroke:rgba(151,112,255,.86);stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round}.nexis-global-chart [data-chart-now]{stroke:rgba(255,255,255,.18);stroke-width:1}.nexis-global-history>footer{justify-content:flex-start}.nexis-global-history>footer strong{margin-left:auto;color:var(--ds-text-muted);font-weight:500}.nexis-legend-line{display:inline-block;width:22px;margin-right:5px;border-top:2px solid rgba(151,112,255,.96);vertical-align:3px}.nexis-legend-line.is-forecast{border-top-style:dashed}.nexis-global-chart-canvas>p{position:absolute;inset:0;display:grid;place-items:center;color:var(--ds-text-muted)}
.nexis-global-history+.ds-module-grid{gap:9px}.nexis-global-history+.ds-module-grid .ds-instance-card{padding:11px}.nexis-global-history+.ds-module-grid .ds-instance-card h2{font-size:var(--ds-type-title)}.nexis-global-history+.ds-module-grid .ds-instance-stats{gap:5px}.nexis-global-history+.ds-module-grid .ds-mini-chart{min-height:84px}.nexis-global-history+.ds-module-grid .ds-mini-chart svg{height:67px}.nexis-global-history+.ds-module-grid .ds-capacity-summary>b{font-size:18px}
@media(max-width:1280px){.nexis-fleet-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nexis-global-chart-canvas>p[hidden]{display:none}
.nexis-global-history [data-chart-area],.nexis-global-history [data-chart-history],.nexis-global-history [data-chart-forecast],.nexis-global-history [data-chart-now],.nexis-global-history [data-chart-grid] line{vector-effect:non-scaling-stroke}
.nexis-global-history+.ds-module-grid .ds-instance-card{cursor:pointer;transition:border-color .16s ease,background .16s ease}.nexis-global-history+.ds-module-grid .ds-instance-card:hover,.nexis-global-history+.ds-module-grid .ds-instance-card:focus-visible{border-color:rgba(151,112,255,.48);background:rgba(151,112,255,.045);outline:none}.nexis-global-history+.ds-module-grid .ds-card-footer{justify-content:flex-start}.nexis-global-history+.ds-module-grid .ds-mini-chart svg{width:100%;height:auto;aspect-ratio:320/92}.nexis-global-history+.ds-module-grid .ds-mini-chart .chart-series{stroke-width:1.25}
.nexis-detail-history{position:relative}.nexis-detail-range{display:flex;gap:4px}.nexis-detail-range button{padding:5px 8px;border:1px solid var(--ds-border-soft);border-radius:3px;background:rgba(255,255,255,.025);color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.nexis-detail-range button[aria-pressed="true"]{border-color:rgba(151,112,255,.65);background:rgba(151,112,255,.14);color:#fff}.nexis-detail-history svg{display:block;width:100%;height:170px}.nexis-detail-history [data-detail-grid] line{stroke:rgba(255,255,255,.08);stroke-width:1;vector-effect:non-scaling-stroke}.nexis-detail-history [data-detail-path]{fill:none;stroke:rgba(151,112,255,.96);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nexis-detail-history [data-detail-labels] text{fill:rgba(255,255,255,.42);font-size:10px}.nexis-detail-history>p{position:absolute;inset:60px 0 0;display:grid;place-items:center;color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.nexis-detail-history>p[hidden]{display:none}
.nexis-detail-history [data-detail-points] circle{stroke:none;opacity:1}.nexis-detail-history [data-detail-points] circle.is-incomplete{opacity:.5}
.nexis-workspace-list{gap:3px}.nexis-workspace-row{gap:1px 10px;padding:4px 8px}.nexis-workspace-row>div{gap:0}.nexis-workspace-row strong{font-size:11px;line-height:1.2}.nexis-workspace-row span{font-size:10px;line-height:1.2}.nexis-workspace-row>b{font-size:13px}.nexis-workspace-row>i{height:2px}
.nexis-workspace-row[hidden]{display:none}.nexis-global-history+.ds-module-grid .ds-instance-stats .ds-stat-card{min-height:48px;padding:7px 9px}.nexis-global-history+.ds-module-grid .ds-instance-stats .ds-stat-card strong{font-size:16px}
.nexis-global-history [data-chart-grid] line{stroke:rgba(255,255,255,.08);stroke-width:1}.nexis-global-history [data-chart-grid] .chart-grid-vertical{stroke:rgba(255,255,255,.045)}.nexis-global-history [data-chart-labels] text{fill:rgba(255,255,255,.42);font-size:9px}.nexis-global-history [data-chart-area]{fill:rgba(151,112,255,.09);stroke:none}.nexis-global-history [data-chart-history]{fill:none;stroke:rgba(151,112,255,.96);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.nexis-global-history [data-chart-forecast]{fill:none;stroke:rgba(151,112,255,.86);stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round}.nexis-global-history [data-chart-now]{stroke:rgba(255,255,255,.18);stroke-width:1}
.freshness-mini .dot{display:none}
.langui-account-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.langui-account-layout>.system-section{margin:0}.langui-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.langui-table-head h2{margin:2px 0 0}.langui-table-head>strong{color:rgba(151,112,255,.96);font-size:22px}.langui-table{overflow:hidden;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm)}.langui-table-row{display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:10px;padding:8px 10px;border-bottom:1px solid var(--ds-border-soft)}.langui-table-row.is-head{background:rgba(151,112,255,.08);color:var(--ds-text-subtle);font-size:var(--ds-type-meta);text-transform:uppercase;letter-spacing:.05em}.langui-table-empty{min-height:84px;padding:22px 14px;color:var(--ds-text-muted);font-size:var(--ds-type-label);line-height:1.55;text-align:center}
.nexis-ip-link,.nexis-detail-ip,.nexis-drawer-title-line>a{color:rgba(151,112,255,.95);font-size:10px;text-decoration:none}.nexis-ip-link:hover,.nexis-detail-ip:hover,.nexis-drawer-title-line>a:hover{text-decoration:underline}.ds-instance-title{min-width:0}.ds-instance-title h2{flex:0 1 auto}.nexis-ip-link{flex:0 0 auto;padding-left:2px}
.nexis-detail-drawer.module-drawer{inset:2vh 1.5vw 2vh auto;width:88vw;padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:8px;overflow-y:auto}.nexis-detail-drawer .drawer-header{position:sticky;z-index:3;top:-16px;align-items:center;margin:-16px -18px 12px;padding:13px 18px 12px;background:rgba(3,10,20,.94);backdrop-filter:blur(24px)}.nexis-drawer-title-line,.nexis-drawer-actions{display:flex;align-items:center;gap:10px}.nexis-drawer-title-line h2{margin:0}.nexis-drawer-actions{justify-content:flex-end}.nexis-drawer-actions .drawer-close{margin-left:5px}.nexis-detail-drawer .drawer-content{gap:10px}.nexis-kpi-strip{padding:9px 10px}.nexis-kpi-strip .nexis-detail-stats{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.nexis-kpi-strip .ds-stat-card{min-height:56px;padding:8px}.nexis-analysis-row,.nexis-data-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:10px;align-items:start}.nexis-detail-drawer .nexis-detail-history svg{height:235px}.nexis-identity-panel dl{display:grid;gap:0;margin:0}.nexis-identity-panel dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--ds-border-soft)}.nexis-identity-panel dt{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.nexis-identity-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#fff;font-size:var(--ds-type-label)}.nexis-data-row>.nexis-workspaces{min-width:0}.nexis-data-row .nexis-workspace-list{max-height:520px;overflow:auto;padding-right:3px}.nexis-technical-panel .ds-architecture-node{grid-template-columns:92px minmax(0,1fr)}
@media(max-width:1100px){.nexis-kpi-strip .nexis-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.nexis-analysis-row,.nexis-data-row,.langui-account-layout{grid-template-columns:1fr}.nexis-detail-drawer.module-drawer{inset:0;width:100%;border-radius:0}}
@media(max-width:760px){.topbar{margin:-12px -12px 10px;padding:7px 12px!important}.topbar .header-system-status,.topbar .clock-wrap,.topbar .user-profile-copy,.topbar .user-menu-chevron{display:none}.nexis-fleet-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.nexis-global-history>header,.nexis-global-history>footer{align-items:flex-start;flex-direction:column}.nexis-global-history>footer strong{margin-left:0}.nexis-global-chart-canvas svg{height:145px}}
@media(max-width:920px){.shell>main{padding-top:76px}.shell>main>.topbar{left:0;padding-inline:20px!important}}
@media(max-width:760px){.shell>main{padding-top:66px}.shell>main>.topbar{padding:7px var(--ds-layout-gutter-mobile)!important}.platform-overview>header .health-collection-services{gap:7px;justify-content:flex-start}}

/* Courbes NEXIS : bleu à 0 %, violet à 100 %, comme les barres de capacité. */
.nexis-global-history [data-chart-area]{fill:url(#nexis-global-area-gradient)}
.nexis-global-history [data-chart-history],.nexis-global-history [data-chart-forecast]{stroke:url(#nexis-global-value-gradient)}
.nexis-global-history [data-chart-history]{filter:drop-shadow(0 0 4px rgba(104,128,255,.24))}
.nexis-global-history [data-chart-points] circle{stroke:none;opacity:1}.nexis-global-history [data-chart-points] circle.is-incomplete{opacity:.5}.nexis-legend-point{display:inline-block;width:8px;height:8px;margin-right:5px;border:0;border-radius:50%;background:#8f76ff;vertical-align:-1px}.nexis-legend-point.is-incomplete{opacity:.5}
.ds-mini-chart .chart-series.nexis-value-gradient{stroke-width:2;filter:drop-shadow(0 0 4px rgba(104,128,255,.24))}

/* Anneaux DISK : l'arc coloré suit exactement la valeur, sans repère parasite. */
.volume-card>.ds-progress-ring:before{
  background:conic-gradient(from -90deg,#35cbea 0%,#9868ff var(--progress,0%),rgba(255,255,255,.10) var(--progress,0%) 100%)
}
.volume-card>.ds-progress-ring:after{content:none}

/*
 * Cadre de page commun.
 *
 * NEXIS reste la référence de densité : les pages partagent désormais la même
 * largeur utile, les mêmes gouttières et le même rythme vertical. Le contenu
 * métier NEXIS et ses composants spécialisés ne sont pas modifiés ici.
 */
:root{
  --ds-layout-max:1920px;
  --ds-layout-gutter:clamp(20px,4vw,78px);
  --ds-layout-gutter-mobile:12px;
  --ds-layout-section-gap:10px;
  --ds-layout-card-gap:9px
}
.shell>main{
  width:min(100%,var(--ds-layout-max));
  margin-inline:auto;
  padding:16px var(--ds-layout-gutter) 20px
}
.shell>main>.topbar{
  width:100%;
  margin:0 0 14px;
  border-radius:var(--ds-radius-md)!important
}
.shell>main>.topbar~*{max-width:100%}
.shell>main>.system-section,
.shell>main>.platform-overview,
.shell>main>.health-console,
.shell>main>.runtime-panel{
  margin-bottom:var(--ds-layout-section-gap)
}
.system-section{padding:12px 14px}
.system-section>.card-head{align-items:flex-start;gap:12px}
.system-section>.card-head>div{min-width:0}
.system-section>.card-head h2,
.system-section>h2{
  margin:0 0 6px;
  font-size:var(--ds-type-title);
  line-height:1.25
}
.system-section>.card-head p,
.system-section>p{
  margin:3px 0 0;
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta);
  line-height:1.4
}
.system-summary{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:7px;
  margin:9px 0 0
}
.system-summary>.ds-stat-card{
  height:58px;
  min-height:58px;
  padding:8px 10px;
  align-content:center
}
.system-summary>.ds-stat-card.large{
  align-content:center;
  min-height:58px;
  padding:8px 10px
}
.system-summary>.ds-stat-card.large>span{
  margin-bottom:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.system-summary>.ds-stat-card.large>strong,
.system-summary>.ds-stat-card.large>.freshness-mini{
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:14px;
  white-space:nowrap
}
.system-summary>.ds-stat-card.adobe-machine-slots{position:relative;overflow:visible}
.system-summary>.ds-stat-card.adobe-machine-slots>strong{overflow:visible;text-overflow:clip;padding-right:42px}
.system-summary>.ds-stat-card.adobe-machine-slots>.metric-delta{position:absolute;right:10px;bottom:8px;margin:0;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;text-align:right}
.system-summary>.ds-stat-card.adobe-machine-slots>.metric-delta.positive{color:#42dc8b}
.system-summary>.ds-stat-card.adobe-machine-slots>.metric-delta.negative{color:#ff747d}
.system-summary>.ds-stat-card.adobe-machine-slots>.metric-delta.neutral{color:#9ab4c6}
@media(min-width:561px){
  .sftp-account-summary>.ds-stat-card.standard{
    height:58px;
    min-height:58px;
    padding:8px 10px;
    align-content:center
  }
  .sftp-account-summary>.ds-stat-card.standard>span{
    margin-bottom:2px;
    font-size:8px;
    line-height:1.1
  }
  .sftp-account-summary>.ds-stat-card.standard>strong,
  .sftp-account-summary>.ds-stat-card.standard>.freshness-mini{
    font-size:14px;
    line-height:1.1
  }
}
.system-grid,
.collection-policy-grid{
  gap:var(--ds-layout-card-gap);
  margin-bottom:var(--ds-layout-section-gap)
}
.collection-policy-card{padding:11px 12px}
.grid{gap:var(--ds-layout-card-gap)}
.page-footer{padding-top:14px}
@media(max-width:920px){
  .shell>main{
    width:100%;
    padding:14px 20px 16px
  }
}
@media(max-width:760px){
  .shell>main{padding:12px var(--ds-layout-gutter-mobile) 14px}
  .shell>main>.topbar{
    margin:0 0 10px;
    padding:7px 0!important
  }
  .system-section{padding:11px 12px}
  .system-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-summary>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:420px){
  .system-summary{grid-template-columns:1fr}
  .system-summary>:last-child:nth-child(odd){grid-column:auto}
}

/*
 * Mise à l'échelle desktop : le Dashboard conserve sa densité actuelle sur
 * les écrans standards, exploite mieux les 1920 px et ouvre réellement la
 * largeur disponible sur les écrans 2560 px et plus.
 */
@media(min-width:1920px) and (max-width:2559px){
  :root{
    --ds-layout-gutter:24px;
    --ds-layout-card-gap:12px;
    --ds-layout-section-gap:12px
  }
  .shell>main{padding-top:18px;padding-bottom:24px}
  .hardware-table-frame{scrollbar-gutter:stable}
}
@media(min-width:2560px){
  :root{
    --ds-layout-max:3000px;
    --ds-layout-gutter:clamp(26px,1.35vw,42px);
    --ds-layout-card-gap:14px;
    --ds-layout-section-gap:14px;
    --ds-type-page:30px;
    --ds-type-section:18px;
    --ds-type-title:14px;
    --ds-type-value:15px;
    --ds-type-label:11px;
    --ds-type-meta:10px
  }
  .shell>main{padding-top:20px;padding-bottom:28px}
  .hardware-table-frame{overflow-x:hidden}
  .hardware-table{width:100%;min-width:2200px}
  .hardware-table th,.hardware-table td{height:44px;padding-inline:10px}
}

/* Tableau compact réutilisable pour les registres et catalogues. */
.ds-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px
}
.ds-section-heading h2{margin:0}
.ds-section-heading>div{display:grid;gap:0;min-width:0}
.ds-section-heading .eyebrow{
  margin:0 0 5px;
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta);
  font-weight:700;
  letter-spacing:.1em
}
.ds-section-heading h2{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ds-text);
  font-size:var(--ds-type-section);
  line-height:1.25
}
.ds-section-heading h2 .icon{width:17px;height:17px}
.ds-section-heading p{
  margin:5px 0 0;
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta);
  line-height:1.4
}
.ds-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--ds-border-soft);
  border-radius:var(--ds-radius-sm);
  background:rgba(0,0,0,.12)
}
.ds-data-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  table-layout:fixed
}
.ds-data-table th,
.ds-data-table td{
  min-width:0;
  padding:7px 10px;
  text-align:left;
  vertical-align:middle
}
.ds-data-table thead th{
  border-bottom:1px solid var(--ds-border);
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase
}
.ds-data-table thead th:first-child{width:28%}
.ds-data-table thead th:nth-child(2){width:18%}
.ds-data-table thead th:nth-child(3){width:18%}
.ds-data-table thead th:nth-child(4){width:24%}
.ds-data-table thead th:last-child{width:12%}
.ds-data-main-row>th,
.ds-data-main-row>td{border-top:1px solid var(--ds-border-soft)}
.ds-data-table thead+tbody .ds-data-main-row:first-child>*{border-top:0}
.ds-data-main-row>th{
  display:flex;
  align-items:center;
  gap:8px
}
.ds-data-main-row>th>span:last-child{
  display:grid;
  min-width:0;
  gap:1px
}
.ds-data-main-row>th strong,
.ds-data-main-row>th small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.ds-data-main-row>th strong{
  color:#fff;
  font-size:var(--ds-type-label)
}
.ds-data-main-row>th small{
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta);
  font-weight:500
}
.ds-data-main-row>td>strong{
  color:var(--ds-text-muted);
  font-size:var(--ds-type-label);
  font-weight:600
}
.ds-data-service-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--ds-text-muted)
}
.ds-data-service-icon .icon{width:19px;height:19px}
.ds-data-detail-row td{
  padding-top:4px;
  padding-bottom:7px;
  background:rgba(255,255,255,.018)
}
.ds-data-detail-row td>span,
.ds-data-detail-row td>strong,
.ds-data-detail-row td>small{font-size:var(--ds-type-meta)}
.ds-data-detail-row td>span{
  margin-right:8px;
  color:var(--ds-text-subtle);
  text-transform:uppercase;
  letter-spacing:.06em
}
.ds-data-detail-row td>strong{
  color:var(--ds-text-muted);
  font-weight:600
}
.ds-data-metric-list{
  display:inline-flex;
  flex-wrap:wrap;
  gap:3px;
  vertical-align:middle
}
.ds-data-metric-list>span{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--ds-radius-pill);
  background:rgba(255,255,255,.025);
  color:var(--ds-text-muted);
  font-size:var(--ds-type-meta);
  font-weight:550;
  line-height:1
}
.ds-data-detail-row td>small{
  float:right;
  color:var(--ds-text-subtle)
}
.ds-tab-list{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 var(--ds-space-section);
  padding:4px;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--ds-border);
  border-radius:var(--ds-radius-card);
  background:rgba(0,0,0,.16)
}
.ds-tab-list>button{
  min-height:32px;
  padding:7px 13px;
  border-color:transparent;
  box-shadow:none;
  color:var(--ds-text-muted);
  font-size:var(--ds-type-label)
}
.ds-tab-list>button[aria-selected="true"]{
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.1);
  color:var(--ds-text)
}
.ds-tab-list>button span{
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta)
}
.ds-filter-bar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:var(--ds-space-item)
}
.ds-filter-bar label{
  display:grid;
  gap:5px;
  min-width:0
}
.ds-filter-bar label>span{
  color:var(--ds-text-subtle);
  font-size:var(--ds-type-meta)
}
.ds-data-table{
  width:100%;
  max-width:100%;
  overflow-x:auto
}
@media(max-width:760px){
  .ds-section-heading{align-items:flex-start;flex-direction:column}
}

/* Espaces personnel et administration : composition commune, dense et lisible. */
.workspace-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px;padding:14px 16px;background:linear-gradient(110deg,rgba(1,14,23,.6),rgba(17,9,43,.46))}
.workspace-hero>div{min-width:0}.workspace-hero .eyebrow,.workspace-hero h1,.workspace-hero p{margin:0}.workspace-hero h1{margin-top:3px;font-size:var(--ds-type-page);line-height:1.1}.workspace-hero p:not(.eyebrow){margin-top:5px;color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.5}
.workspace-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-layout-card-gap)}.workspace-section{min-width:0;margin-bottom:10px;padding:13px 14px}.workspace-section-wide{grid-column:1/-1}.workspace-section .icon{width:17px;height:17px}
.overview-layout-editor{display:grid;gap:4px;margin:9px 0}.overview-layout-row{display:grid;grid-template-columns:28px minmax(120px,1fr) auto 34px 42px;align-items:center;gap:8px;min-height:44px;padding:5px 7px;border:1px solid var(--ds-border-soft);border-radius:9px;background:rgba(0,0,0,.11);transition:opacity .2s,border-color .2s,background .2s,transform .18s}.overview-layout-row:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.035)}.overview-layout-row.is-hidden{opacity:.55}.overview-layout-row.is-dragging{z-index:2;border-color:rgba(102,213,205,.65);background:rgba(58,67,102,.42);box-shadow:0 8px 22px rgba(0,0,0,.28);transform:scale(1.01)}.overview-layout-position{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(129,111,198,.3);border-radius:7px;background:rgba(86,65,150,.12);color:var(--ds-text-subtle);font-size:8px;font-weight:700}.overview-layout-identity{display:grid;min-width:0;gap:1px}.overview-layout-identity strong{overflow:hidden;text-overflow:ellipsis;font-size:var(--ds-type-label);white-space:nowrap}.overview-layout-identity small{color:var(--ds-text-subtle);font-size:7px}.overview-layout-appearance{display:flex;align-items:center;gap:5px;color:var(--ds-text-subtle);font-size:7px}.overview-layout-appearance .ds-input{min-width:76px;height:28px;padding:4px 22px 4px 7px;font-size:8px}.overview-layout-handle{display:grid;place-items:center;width:30px;height:30px;min-height:0;padding:0;border:0;background:transparent;color:rgba(255,255,255,.5);font-size:15px;line-height:1;cursor:grab;touch-action:none}.overview-layout-handle:hover,.overview-layout-handle:focus-visible{color:#fff;background:rgba(255,255,255,.07)}.overview-layout-handle:active{cursor:grabbing}.overview-layout-toggle{min-width:36px}.overview-layout-toggle span{display:none}
.grid>.module-card.appearance-light{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.055))!important;border-color:rgba(255,255,255,.25)!important;box-shadow:0 12px 30px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.09)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.grid>.module-card.appearance-light .metrics>.ds-stat-card,.grid>.module-card.appearance-light .overview-mini-history{background:rgba(255,255,255,.055)!important}
.grid>.module-card.appearance-dark{background:linear-gradient(135deg,rgba(3,12,24,.62),rgba(6,7,24,.5))!important;border-color:rgba(255,255,255,.13)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.grid>.module-card.appearance-dark .metrics>.ds-stat-card,.grid>.module-card.appearance-dark .overview-mini-history{background:rgba(0,0,0,.14)!important}
.workspace-definition-list{display:grid;margin:0}.workspace-definition-list>div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:12px;padding:8px 0;border-top:1px solid var(--ds-border-soft)}.workspace-definition-list>div:first-child{border-top:0}.workspace-definition-list dt{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.workspace-definition-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ds-text);font-size:var(--ds-type-label);font-weight:600}
.workspace-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workspace-control-grid label{display:grid;gap:5px;padding:9px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.02)}.workspace-control-grid label>span{color:var(--ds-text-muted);font-size:var(--ds-type-label);font-weight:600}.workspace-control-grid select{width:100%;height:31px;padding:0 8px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.22);color:var(--ds-text);font:inherit;font-size:var(--ds-type-meta);color-scheme:dark}.workspace-control-grid select:disabled{opacity:.62}.workspace-control-grid small{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.4}
.workspace-feature-list{display:grid;gap:6px}.workspace-feature-list article{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr) auto;align-items:center;gap:12px;padding:9px 10px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.02)}.workspace-feature-list strong{font-size:var(--ds-type-label)}.workspace-feature-list span{color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.4}.workspace-feature-list button,.workspace-empty-state button{min-height:28px;padding:5px 8px;box-shadow:none;font-size:var(--ds-type-meta)}.workspace-feature-list button:disabled,.workspace-empty-state button:disabled{cursor:not-allowed;opacity:.46}
.workspace-subscription-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.workspace-subscription-grid article{min-width:0;padding:9px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.12)}.workspace-subscription-grid span,.workspace-subscription-grid strong{display:block}.workspace-subscription-grid span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.workspace-subscription-grid strong{margin-top:4px;overflow-wrap:anywhere;color:var(--ds-text);font-size:var(--ds-type-label)}
.workspace-note,.workspace-reason{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.5}.workspace-note{margin:10px 0 0}.workspace-empty-state{display:grid;justify-items:start;gap:6px;margin:0;padding:15px;border:1px dashed var(--ds-border);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.13)}.workspace-empty-state strong{font-size:var(--ds-type-label)}.workspace-empty-state p{margin:0;color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.5}
.workspace-subscription-grid small{display:block;margin-top:4px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.4}.notification-semantics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.notification-semantics article{padding:8px 9px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.02)}.notification-semantics strong,.notification-semantics span{display:block}.notification-semantics strong{font-size:var(--ds-type-label)}.notification-semantics span{margin-top:3px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.4}.site-notification-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px;padding:10px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.025)}.site-notification-status>div{display:grid;gap:3px}.site-notification-status strong{font-size:var(--ds-type-label)}.site-notification-status span:not(.status-badge){color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.notification-semantics-compact{margin:0 0 9px}.notification-action-guide{justify-content:flex-start!important;overflow-x:auto}.notification-action-guide button{white-space:nowrap}
.site-notification-toolbar{grid-template-columns:minmax(150px,1fr) 130px}.site-notification-list{display:grid;gap:7px}.site-notification-card{display:grid;gap:6px;padding:10px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.025)}.site-notification-card.is-dismissed{opacity:.58}.site-notification-card header,.site-notification-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.site-notification-card h3,.site-notification-card p{margin:0}.site-notification-card h3{font-size:var(--ds-type-label)}.site-notification-card p,.site-notification-card time{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.45}.site-notification-card footer div{display:flex;gap:6px}.site-notification-card button,.site-notification-more{min-height:28px;padding:5px 8px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:transparent;color:var(--ds-text);font-size:var(--ds-type-meta)}.site-notification-card button:disabled{opacity:.45}.site-notification-more{margin-top:8px;width:100%}
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.admin-summary .ds-stat-card{min-height:64px;padding:9px 10px}.admin-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.admin-module-card{display:grid;align-content:space-between;min-height:145px;padding:13px}.admin-module-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px}.admin-module-card h2,.admin-module-card p{margin:0}.admin-module-card h2{font-size:var(--ds-type-title)}.admin-module-card p{margin-top:4px;color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.45}.admin-module-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);color:var(--ds-text-muted)}.admin-module-icon .icon{width:17px;height:17px}.admin-module-card>footer{display:flex;justify-content:flex-end;margin-top:14px;padding-top:9px;border-top:1px solid var(--ds-border-soft)}.admin-module-card .ds-button{text-decoration:none}.admin-module-card .ds-button .icon{width:12px;height:12px}
.admin-filter-bar{display:flex;gap:6px;flex-wrap:wrap}.admin-filter-bar .ds-input,.admin-search .ds-input,.admin-search.ds-input{min-width:170px;font-size:var(--ds-type-meta)}.admin-table{width:100%;min-width:760px;border-collapse:collapse}.admin-table th,.admin-table td{padding:8px 10px;border-top:1px solid var(--ds-border-soft);text-align:left;vertical-align:middle;font-size:var(--ds-type-meta)}.admin-table thead th{border-top:0;border-bottom:1px solid var(--ds-border);color:var(--ds-text-subtle);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.admin-table tbody th,.admin-table tbody strong{color:var(--ds-text);font-size:var(--ds-type-label)}.admin-table td{color:var(--ds-text-muted)}.admin-table tr[hidden]{display:none}.admin-matrix th:not(:first-child),.admin-matrix td{text-align:center}
@media(max-width:1180px){.workspace-subscription-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace-hero{align-items:flex-start;flex-direction:column}.workspace-layout{grid-template-columns:1fr}.workspace-section-wide{grid-column:auto}.workspace-subscription-grid,.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-module-grid{grid-template-columns:1fr}.workspace-feature-list article{grid-template-columns:1fr}.workspace-feature-list button{justify-self:start}.admin-module-card>header{grid-template-columns:auto minmax(0,1fr)}.admin-module-card>header>.status-badge{grid-column:2}.admin-filter-bar{width:100%}.admin-filter-bar .ds-input{flex:1 1 150px}.overview-layout-row{grid-template-columns:24px minmax(0,1fr) 32px 38px;gap:6px}.overview-layout-position{width:22px;height:22px}.overview-layout-appearance{grid-column:2}.overview-layout-handle{grid-column:3;grid-row:1/3}.overview-layout-toggle{grid-column:4;grid-row:1/3}.overview-layout-appearance>span{display:none}.overview-layout-appearance .ds-input{width:76px}}

/* Audit admin : même densité que les autres tableaux d'administration. */
.audit-admin-page .admin-summary>.ds-stat-card{min-height:54px;padding:7px 9px}.audit-admin-page .admin-summary>.ds-stat-card>strong{font-size:13px}.audit-history-section{padding:11px 12px}.audit-history-section .ds-section-heading{margin-bottom:7px}.audit-history-section .ds-section-heading h2{font-size:14px}.audit-history-section .ds-section-heading p{margin-top:2px;font-size:8px}.audit-history-section .admin-search{height:29px}.audit-history-table{min-width:930px;table-layout:fixed}.audit-history-table th,.audit-history-table td{height:38px;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.15}.audit-history-table th{font-size:8px}.audit-history-table th:nth-child(1){width:110px}.audit-history-table th:nth-child(2){width:105px}.audit-history-table th:nth-child(3){width:145px}.audit-history-table th:nth-child(4){width:auto}.audit-history-table th:nth-child(5){width:105px}.audit-history-table th:nth-child(6){width:105px}.audit-history-table th:nth-child(7){width:170px}.audit-history-table tbody strong{font-size:9px}.audit-history-table .status-badge{min-height:23px;padding:4px 8px;font-size:8px}.audit-history-table .status-badge .dot{width:9px;height:9px}

.notification-delivery-table th:nth-child(1){width:110px}.notification-delivery-table th:nth-child(2){width:auto}.notification-delivery-table th:nth-child(3){width:85px}.notification-delivery-table th:nth-child(4){width:75px}.notification-delivery-table th:nth-child(5){width:125px}.notification-delivery-table th:nth-child(6){width:75px}.notification-delivery-table th:nth-child(7){width:210px}

/* Catalogue des publications : langage métier d'abord, contrat technique à la demande. */
.publication-catalog-help{margin:10px 0 12px;padding:11px 13px;border:1px solid rgba(90,190,255,.2);border-radius:var(--ds-radius-sm);background:rgba(24,125,180,.08)}
.publication-catalog-help strong{color:var(--ds-text);font-size:var(--ds-type-label)}
.publication-catalog-help p{margin:3px 0 0;color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.5}
.publication-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.publication-stream{min-width:0;padding:12px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.14)}
.publication-stream[hidden]{display:none}
.publication-stream>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px}
.publication-stream-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(112,193,255,.22);border-radius:10px;background:rgba(55,143,205,.09);color:var(--ds-text-muted)}
.publication-stream-icon .icon{width:19px;height:19px}
.publication-stream h3{margin:0;color:var(--ds-text);font-size:var(--ds-type-label)}
.publication-stream header p{margin:3px 0 0;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.4}
.publication-stream-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.publication-stream-summary>div{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.025)}
.publication-stream-summary>div:last-child{grid-column:1/-1}
.publication-stream-summary span,.publication-stream-topics>span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.publication-stream-summary strong{overflow:hidden;text-overflow:ellipsis;color:var(--ds-text);font-size:var(--ds-type-meta);white-space:nowrap}
.publication-stream-topics{display:grid;gap:5px;margin-top:9px}
.publication-stream-topics>strong{display:flex;flex-wrap:wrap;gap:4px}
.publication-stream-topics>strong>span{padding:3px 7px;border:1px solid rgba(255,255,255,.12);border-radius:var(--ds-radius-pill);color:var(--ds-text-muted);font-size:var(--ds-type-meta);font-weight:600}
.publication-stream-topics em{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);font-style:normal}
.publication-stream details{margin-top:10px;padding-top:8px;border-top:1px solid var(--ds-border-soft)}
.publication-stream summary{cursor:pointer;color:var(--ds-text-muted);font-size:var(--ds-type-meta);font-weight:600}
.publication-stream dl{display:grid;margin:7px 0 0}
.publication-stream dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;padding:5px 0;border-top:1px solid var(--ds-border-soft)}
.publication-stream dt{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.publication-stream dd{margin:0;overflow-wrap:anywhere;color:var(--ds-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ds-type-meta)}
.publication-technical-metrics{display:grid;gap:5px;margin-top:6px}
.publication-technical-metrics>span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.publication-technical-metrics code{max-height:150px;padding:8px;overflow:auto;border-radius:8px;background:rgba(0,0,0,.22);color:var(--ds-text-muted);font-size:10px;line-height:1.5;white-space:pre-wrap}
@media(max-width:900px){.publication-catalog-list{grid-template-columns:1fr}}
@media(max-width:560px){.publication-stream>header{grid-template-columns:auto minmax(0,1fr)}.publication-stream>header>.status-badge{grid-column:2;justify-self:start}.publication-stream-summary{grid-template-columns:1fr}.publication-stream-summary>div:last-child{grid-column:auto}.publication-stream dl>div{grid-template-columns:1fr;gap:2px}}
.collection-now-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 12px 8px;padding:10px 12px;border:1px solid rgba(93,205,176,.2);border-radius:var(--ds-radius-sm);background:rgba(35,139,118,.07)}
.collection-now-panel>div{display:grid;gap:2px}.collection-now-panel strong{color:var(--ds-text);font-size:var(--ds-type-label)}.collection-now-panel small{color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.collection-now-panel small.is-error{color:var(--ds-critical)}.collection-now-panel button{flex:0 0 auto}.collection-now-panel button .icon{width:15px;height:15px}
@media(max-width:560px){.collection-now-panel{align-items:stretch;flex-direction:column}.collection-now-panel button{justify-content:center;width:100%}}

/* Commandes visibles uniquement lorsqu'elles sont réellement exécutables. */
.service-admin-table .service-icon-action:disabled,.collection-admin-table .service-icon-action:disabled{display:none}
.service-admin-table .service-icon-action[data-action],.collection-admin-table .service-icon-action[data-action],.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open]{display:inline-flex;width:auto;min-width:0;gap:5px;padding:0 8px;font-size:8px;font-weight:700;white-space:nowrap}
.service-icon-action[data-action="start"]::after{content:"Démarrer"}.service-icon-action[data-action="stop"]::after{content:"Arrêter"}.service-icon-action[data-action="restart"]::after{content:"Redémarrer"}
.service-icon-action[data-action="start"]{border-color:rgba(43,219,126,.48);background:rgba(43,219,126,.11);color:#75efaa}
.service-icon-action[data-action="stop"]{border-color:rgba(255,86,96,.5);background:rgba(255,86,96,.11);color:#ff9299}
.service-icon-action[data-action="restart"]{border-color:rgba(86,169,255,.5);background:rgba(86,169,255,.11);color:#91c8ff}
.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open]{border-color:rgba(183,121,255,.5);background:rgba(157,93,225,.11);color:#d1a9ff}
.collection-admin-table [data-cce-hme-open]::after,.collection-admin-table [data-cce-policy-open]::after{content:"Rythme"}
.service-admin-row>span:first-child small,.collection-admin-row summary>span:first-child small{display:none}
@media(max-width:980px){.service-icon-action[data-action]::after,.collection-admin-table [data-cce-hme-open]::after,.collection-admin-table [data-cce-policy-open]::after{display:none}.service-admin-table .service-icon-action[data-action],.collection-admin-table .service-icon-action[data-action],.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open]{width:29px;padding:0}}
.service-admin-table .service-icon-action:disabled,.collection-admin-table .service-icon-action:disabled{display:none!important}

/* La navigation garde la même géométrie sur toutes ses entrées, y compris
   l’ancien bouton Alertes, sur desktop comme sur mobile. */
@media(max-width:920px){
  .sidebar nav .sidebar-alert-link.sidebar-nav-entry{
    min-height:40px;
    padding:7px 9px;
    border-color:transparent;
    border-radius:6px;
    background:transparent;
    font-size:11px;
    line-height:1.2
  }
}
@media(max-width:600px){.notification-semantics{grid-template-columns:1fr}.site-notification-status{flex-direction:column}}
@media(max-width:440px){.workspace-control-grid,.workspace-subscription-grid,.admin-summary{grid-template-columns:1fr}.workspace-definition-list>div{grid-template-columns:1fr;gap:3px}}

/* Auth landing : composant générique isolé, sans formulaire d'identifiants. */
.ds-auth-preview{min-height:100vh;overflow-x:hidden}
.ds-auth-shell{display:grid;align-content:center;justify-items:center;min-height:100vh;width:min(100% - 32px,520px);margin:0 auto;padding:32px 0}
.ds-auth-card{display:grid;justify-items:center;width:100%;padding:34px 38px;text-align:center;background:linear-gradient(145deg,rgba(9,25,36,.9),rgba(24,16,51,.78));box-shadow:0 28px 90px rgba(0,0,0,.38)}
.ds-auth-card>.ds-tag{justify-self:end}
.ds-auth-mark{display:block;width:72px;height:72px;margin:16px 0 14px;object-fit:contain}
.ds-auth-copy{max-width:380px}.ds-auth-copy .eyebrow,.ds-auth-copy h1,.ds-auth-copy p{margin:0}.ds-auth-copy h1{margin-top:5px;font-size:30px;letter-spacing:.02em}.ds-auth-copy p:not(.eyebrow){margin-top:9px;color:var(--ds-text-muted);font-size:var(--ds-type-label);line-height:1.55}
.ds-auth-microsoft{width:min(100%,300px);min-height:42px;margin-top:22px;justify-content:center;font-size:var(--ds-type-label);font-weight:700}.ds-auth-microsoft:disabled{cursor:not-allowed;opacity:.72}
.ds-auth-demo{max-width:340px;margin:8px 0 0;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);line-height:1.45}
.ds-auth-security{display:flex;justify-content:center;gap:12px;width:100%;margin-top:22px;padding-top:14px;border-top:1px solid var(--ds-border-soft);color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.ds-auth-security span{display:flex;align-items:center;gap:5px}.ds-auth-security .icon{width:13px;height:13px}
.ds-auth-footer{display:flex;justify-content:space-between;gap:16px;width:100%;margin-top:12px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.ds-auth-footer a{color:var(--ds-accent);text-decoration:none}.ds-auth-footer a:focus-visible{outline:2px solid var(--ds-focus);outline-offset:3px}
@media(max-width:560px){.ds-auth-shell{width:min(100% - 20px,520px);padding:18px 0}.ds-auth-card{padding:24px 20px}.ds-auth-card>.ds-tag{justify-self:center}.ds-auth-mark{width:62px;height:62px}.ds-auth-security,.ds-auth-footer{align-items:center;flex-direction:column;text-align:center}}

/* Preuve popup des routes protégées : squelette sans donnée sous voile. */
.auth-route-shell{min-height:100vh;overflow:hidden}
.auth-route-skeleton{display:grid;grid-template-columns:220px 1fr;min-height:100vh;filter:blur(8px);opacity:.32;pointer-events:none}.auth-route-skeleton aside{border-right:1px solid var(--ds-border);background:rgba(3,17,24,.82)}.auth-route-skeleton main{padding:24px}.auth-route-skeleton header,.auth-route-skeleton section,.auth-route-skeleton article{border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);background:rgba(255,255,255,.045)}.auth-route-skeleton header{height:54px}.auth-route-skeleton section{height:120px;margin-top:14px}.auth-route-skeleton main>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.auth-route-skeleton article{height:190px}
.auth-route-veil{position:fixed;inset:0;background:rgba(1,8,15,.62);backdrop-filter:blur(7px)}
.auth-route-dialog.ds-card{position:fixed;z-index:2;top:50%;left:50%;display:grid;justify-items:center;width:min(calc(100% - 28px),430px);padding:30px;transform:translate(-50%,-50%);border:1px solid var(--ds-border)!important;border-radius:var(--ds-radius-md)!important;text-align:center;background:linear-gradient(110deg,rgba(1,14,23,.58),rgba(17,9,43,.42))!important;box-shadow:var(--ds-shadow-sm)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}.auth-route-brand{display:grid;justify-items:center;gap:7px}.auth-route-brand .auth-brand-mark{width:64px;height:64px;margin:0}.auth-route-brand strong{color:#fff;font-size:15px;font-weight:700;letter-spacing:.025em}.auth-route-dialog .eyebrow{margin:18px 0 0}.auth-route-dialog p{margin:11px 0 0;color:var(--ds-text-muted);font-size:var(--ds-type-label);line-height:1.5}.auth-route-dialog p:empty{display:none}.auth-route-dialog .auth-route-login{justify-content:center;min-width:190px;min-height:40px;margin-top:22px;padding:9px 22px;border:1px solid rgba(255,255,255,.92);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;font-size:var(--ds-type-label);font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.12)}.auth-route-dialog .auth-route-login:hover:not(:disabled),.auth-route-dialog .auth-route-login:focus-visible:not(:disabled){border-color:#fff;background:rgba(255,255,255,.11);color:#fff;transform:translateY(-1px)}.auth-route-dialog .auth-route-login:disabled{cursor:wait;opacity:.72}
.auth-denied-dialog{border:1px solid rgba(255,255,255,.18);border-radius:var(--ds-radius-lg);background:linear-gradient(145deg,rgba(13,30,42,.94),rgba(30,20,57,.92));box-shadow:0 25px 75px rgba(0,0,0,.46),0 0 34px rgba(141,96,255,.09);backdrop-filter:blur(22px)}.auth-denied-actions{display:grid;width:min(100%,280px);gap:8px;margin-top:18px}.auth-denied-actions form{margin:0}.auth-denied-actions .ds-button,.auth-denied-actions .secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;margin:0;padding:9px 13px;border-radius:var(--ds-radius-sm);font-size:var(--ds-type-label);font-weight:650;line-height:1.2;text-decoration:none}.auth-denied-secondary{border:1px solid var(--ds-border);background:rgba(255,255,255,.035);color:var(--ds-text-muted)}.auth-denied-secondary:hover,.auth-denied-secondary:focus-visible{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.075);color:var(--ds-text);text-decoration:none}
@media(max-width:680px){.auth-route-skeleton{grid-template-columns:1fr}.auth-route-skeleton aside{display:none}.auth-route-skeleton main{padding:14px}.auth-route-skeleton main>div{grid-template-columns:1fr}.auth-route-skeleton article:not(:first-child){display:none}.auth-route-dialog{padding:24px 20px}}

/* Administration Services & collectors : lignes compactes et commandes sûres. */
.cce-summary-strip>.ds-stat-card{display:grid;align-content:center;min-height:54px!important;padding:7px 10px!important}.cce-summary-strip>.ds-stat-card>strong{font-size:14px!important}.cce-summary-strip>.ds-stat-card>small{margin-top:2px;color:var(--ds-text-subtle);font-size:7px;line-height:1.1}
.service-authority-section .ds-section-heading{margin-bottom:8px}.service-control-list{display:grid}.service-control-row{display:grid;grid-template-columns:32px minmax(180px,1fr) auto minmax(130px,.42fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 4px;border-top:1px solid var(--ds-border-soft)}.service-control-row:first-child{border-top:0}.service-row-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);color:var(--ds-text-muted);background:rgba(255,255,255,.025)}.service-row-icon .icon{width:16px;height:16px}.service-row-name{display:grid;min-width:0;gap:2px}.service-row-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ds-type-label)}.service-row-name small,.service-control-row time,.service-icon-actions>small{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.service-icon-actions{display:flex;justify-content:flex-end;gap:5px}.service-icon-action{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.035);color:var(--ds-text-muted)}.service-icon-action .icon{width:14px;height:14px}.service-icon-action:hover:not(:disabled),.service-icon-action:focus-visible{border-color:rgba(255,255,255,.42);color:var(--ds-text);background:rgba(255,255,255,.08)}.service-icon-action:disabled{cursor:not-allowed;opacity:.32}.service-control-row[data-service-state="starting"] .dot,.service-control-row[data-service-state="restarting"] .dot,.service-control-row[data-service-state="stopping"] .dot{animation:service-transition-pulse 1.4s ease-in-out infinite}
.service-control-row .status-badge.online,.service-control-row .status-badge.running{border-color:rgba(43,219,126,.5);color:#6ff0a9}.service-control-row .dot.online,.service-control-row .dot.running{background:#2bdb7e}
.service-control-row .status-badge.starting,.service-control-row .status-badge.restarting,.service-control-row .status-badge.stopping{border-color:rgba(86,169,255,.5);color:#8bc5ff}.service-control-row .dot.starting,.service-control-row .dot.restarting,.service-control-row .dot.stopping{background:#56a9ff}
.service-control-row .status-badge.degraded{border-color:rgba(255,172,60,.5);color:#ffc36f}.service-control-row .dot.degraded{background:#ffac3c}
.service-control-row .status-badge.offline,.service-control-row .status-badge.stopped,.service-control-row .status-badge.action_failed{border-color:rgba(255,86,96,.5);color:#ff8d95}.service-control-row .dot.offline,.service-control-row .dot.stopped,.service-control-row .dot.action_failed{background:#ff5660}
.service-stepup-dialog::backdrop{background:rgba(1,7,14,.68);backdrop-filter:blur(9px)}.service-stepup-dialog form{position:relative;background:linear-gradient(145deg,rgba(10,27,38,.97),rgba(27,17,53,.95));box-shadow:0 28px 100px rgba(0,0,0,.6)}.service-stepup-dialog header{position:relative}.service-dialog-lock{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;margin-right:8px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.06);color:var(--ds-text-muted);box-shadow:inset 0 0 18px rgba(255,255,255,.04)}.service-dialog-lock .icon{width:16px;height:16px}.service-stepup-state{display:grid;justify-items:start;gap:7px;margin-top:12px;padding:11px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.14)}.service-stepup-state p{margin:0;color:var(--ds-text-muted);font-size:var(--ds-type-meta);line-height:1.5}.service-stepup-state button{font-size:var(--ds-type-meta)}
.service-stepup-dialog form{background:linear-gradient(145deg,rgba(10,27,38,.86),rgba(27,17,53,.82));backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}
.service-critical-confirmation{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 13px;border:1px solid rgba(255,159,10,.48);border-radius:12px;background:rgba(255,159,10,.08);cursor:pointer}.service-critical-confirmation[hidden]{display:none}.service-critical-confirmation input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:#ff9f0a}.service-critical-confirmation span,.service-critical-confirmation strong,.service-critical-confirmation small{display:block}.service-critical-confirmation strong{font-size:var(--ds-type-label)}.service-critical-confirmation small{margin-top:3px;color:var(--ds-text-muted);font-size:var(--ds-type-meta);font-weight:400}
@keyframes service-transition-pulse{0%,100%{opacity:.45;box-shadow:0 0 0 0 currentColor}50%{opacity:1;box-shadow:0 0 0 4px transparent}}
@media(prefers-reduced-motion:reduce){.service-control-row .dot{animation:none!important}.service-icon-action{transition:none}}
@media(max-width:780px){.service-control-row{grid-template-columns:30px minmax(0,1fr) auto}.service-control-row>time{grid-column:2}.service-icon-actions{grid-column:3;grid-row:1/3}.service-row-name small{white-space:normal}}
@media(max-width:480px){.service-control-row{grid-template-columns:30px minmax(0,1fr)}.service-control-row>.status-badge{grid-column:2;justify-self:start}.service-control-row>time{grid-column:2}.service-icon-actions{grid-column:2;grid-row:auto;justify-content:flex-start}}
.collection-now-panel.is-unavailable{opacity:.7}.collection-now-panel.is-unavailable button:disabled{cursor:not-allowed;opacity:.45}
.service-admin-table .engine-table-row{min-height:44px;padding-block:6px}.service-admin-table .engine-table-row>span{min-width:0}.service-admin-table .engine-table-row>span small{margin-top:2px;font-size:7px;line-height:1.2}.collection-admin-table .engine-table-head,.collection-admin-table .engine-table-row{grid-template-columns:minmax(170px,1.25fr) minmax(120px,.8fr) 90px minmax(115px,.75fr) 110px minmax(105px,.65fr) minmax(120px,.75fr)!important;min-width:980px!important}.collection-admin-row>summary.engine-table-row{min-height:48px;padding-block:6px}.collection-cadence-value{display:block}.collector-setting-cell{display:flex;align-items:center;gap:6px;color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.collector-setting-cell .service-icon-action{flex:0 0 auto}.collector-force-cell{display:flex;justify-content:flex-end}.collector-force-action{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;font-size:8px;white-space:nowrap}.collector-force-action .icon{width:13px;height:13px}.collector-force-action:disabled{cursor:not-allowed;opacity:.36}.collection-cadence-group{grid-column:1/-1;padding-block:9px 5px}
.collection-admin-row.is-collector-child>span:first-child{padding-left:22px;position:relative}.collection-admin-row.is-collector-child>span:first-child:before{content:"↳";position:absolute;left:6px;color:var(--ds-text-subtle)}.collection-cadence-value small{display:block;margin-top:2px;color:var(--ds-text-subtle);font-size:7px}.collection-admin-row.engine-table-row{min-height:48px;padding-block:6px}.collector-setting-cell .service-icon-action,.service-icon-actions .service-icon-action{border-radius:999px}.collector-force-action{align-items:center!important;justify-content:center!important;width:30px;min-width:30px!important;padding:4px!important;border-radius:999px!important}
.service-admin-table .service-icon-action,.collection-admin-table .service-icon-action{align-items:center;justify-content:center;line-height:1}.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open]{width:38px;min-width:38px;height:28px;padding:0;border-radius:999px}.collection-admin-table [data-cce-hme-open] .icon,.collection-admin-table [data-cce-policy-open] .icon,.collector-force-action .icon{display:block;margin:auto}.collector-force-action{width:38px!important;min-width:38px!important;height:28px;min-height:28px}
@media(max-width:980px){.service-admin-table .service-icon-action[data-action],.collection-admin-table .service-icon-action[data-action],.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open]{width:38px;min-width:38px;padding:0}}

/* Catalogue MyITM V0.3 : composition générique et compacte. */
.catalogue-toolbar{display:flex;align-items:end;gap:10px;margin-bottom:10px}.catalogue-toolbar label:first-child{display:grid;flex:1;gap:5px}.catalogue-toolbar label span,.catalogue-governance label{font-size:var(--ds-type-meta);color:var(--ds-text-muted)}.catalogue-toolbar input[type="search"],.catalogue-governance input,.catalogue-governance select{width:100%;min-height:36px}.catalogue-archived-filter{display:flex;align-items:center;gap:6px;min-height:36px}.catalogue-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.catalogue-list-section>header,.catalogue-governance>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.catalogue-list-section h2,.catalogue-governance h2{margin:2px 0 0}.catalogue-list-section>div{display:grid;min-height:120px}.catalogue-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:46px;padding:6px 0;border-top:1px solid var(--ds-border-soft)}.catalogue-row:first-child{border-top:0}.catalogue-row>div{display:grid;gap:2px;min-width:0}.catalogue-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ds-type-label)}.catalogue-row small,.catalogue-empty{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.catalogue-list-section>footer{display:flex;justify-content:flex-end;margin-top:8px}.catalogue-governance{margin-bottom:10px}.catalogue-governance form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px}.catalogue-governance form label{display:grid;gap:5px}.workspace-message{min-height:20px;color:var(--ds-text-muted);font-size:var(--ds-type-label)}.workspace-message.is-error{color:#ff8d95}
@media(max-width:820px){.catalogue-columns{grid-template-columns:1fr}.catalogue-toolbar{align-items:stretch;flex-direction:column}.catalogue-governance form{grid-template-columns:1fr 1fr}.catalogue-governance form button{justify-self:start}}
@media(max-width:520px){.catalogue-governance form{grid-template-columns:1fr}.catalogue-toolbar button{align-self:flex-start}}

/* UX consolidée : header, timeline et cartes métier. */
.topbar .header-refresh,.topbar .alert-center-toggle{flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:1px solid rgba(255,255,255,.48);background:transparent;border-radius:50%}
.topbar .alert-unread-badge,.sidebar-alert-link b{display:grid;place-items:center;width:18px;min-width:18px;height:18px;padding:0;border:1px solid rgba(255,115,122,.92);border-radius:50%;background:rgba(255,69,58,.92);box-shadow:0 0 7px rgba(255,69,58,.72),0 0 14px rgba(255,69,58,.30);color:#fff;font-size:8px;font-weight:800;line-height:1}
.topbar .alert-unread-badge{right:-5px;top:-5px}.topbar .alert-unread-badge[hidden],.sidebar-alert-link b[hidden]{display:none}
[data-site-notification-count]{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:4px;border:1px solid rgba(255,115,122,.92);border-radius:50%;background:rgba(255,69,58,.92);box-shadow:0 0 7px rgba(255,69,58,.68);color:#fff;font-size:8px;font-weight:800;line-height:1}[data-site-notification-count][hidden]{display:none}
.topbar .header-refresh:hover,.topbar .header-refresh:focus-visible{border-color:#69b7ff;color:#69b7ff;background:rgba(75,161,255,.10)}
.shell>main{padding-top:66px}.shell>main>.topbar{position:fixed;top:0;left:var(--sidebar);right:0;z-index:4000;width:auto;margin:0!important;padding:11px var(--ds-layout-gutter)!important;box-sizing:border-box;isolation:isolate;border-radius:0!important;background:linear-gradient(180deg,rgba(7,18,29,.96) 0%,rgba(10,20,35,.84) 72%,rgba(10,20,35,.28) 100%)!important;backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 10px 24px rgba(2,8,18,.16)}.shell>main>.topbar:after{content:"";position:absolute;z-index:-1;inset:0 -20px -18px;background:linear-gradient(180deg,rgba(8,19,32,.34),rgba(8,19,32,0));pointer-events:none}
@media(max-width:920px){.shell>main{padding-top:76px}.shell>main>.topbar{left:0;padding-inline:20px!important}}@media(max-width:760px){.shell>main{padding-top:66px}.shell>main>.topbar{padding:7px var(--ds-layout-gutter-mobile)!important}}
.topbar .header-refresh .icon{transition:transform .65s ease-out}.topbar .header-refresh.is-spinning .icon{transform:rotate(360deg)}
.health-modules .status-badge{min-height:25px;padding-inline:9px;font-size:var(--ds-type-meta)}
.dashboard-data-origin{margin:12px 0 0;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.module-card:hover{border-color:rgba(255,255,255,.55);background-color:rgba(255,255,255,.10)}
.grid .nexis-card-full{flex:1 0 100%;min-width:100%}.grid>.nexis-overview-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-3,12px);flex:1 0 100%;width:100%;min-width:100%}.nexis-overview-row>.nexis-scope-card{min-width:0;width:100%}
.nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card{height:auto!important;min-height:78px!important;overflow:hidden}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card>strong{overflow-wrap:anywhere}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card>small{overflow-wrap:anywhere}
.module-card .metrics.nexis-overview-metrics{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}.nexis-overview-history{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:9px;padding:9px 11px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.12)}.nexis-overview-history>span,.nexis-overview-history>strong{color:var(--ds-text-subtle);font-size:var(--ds-type-meta);white-space:nowrap}.nexis-overview-plot{min-width:0}.nexis-overview-chart{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:stretch;gap:5px}.nexis-overview-y{display:flex!important;flex-direction:column;justify-content:space-between!important;padding:8px 0 4px;text-align:right;color:var(--ds-text-subtle)}.nexis-overview-y small{font-size:6px!important;line-height:1;white-space:nowrap}.nexis-overview-history svg{display:block;width:100%;height:78px}.nexis-overview-axis{display:flex;justify-content:space-between;margin:2px 0 0 47px;color:var(--ds-text-subtle)}.nexis-overview-plot small{font-size:8px}.nexis-overview-grid line{stroke:rgba(255,255,255,.055);stroke-width:1;vector-effect:non-scaling-stroke}.nexis-overview-line{fill:none;stroke:url(#nexis-overview-value-gradient);stroke-width:2;vector-effect:non-scaling-stroke}.nexis-overview-area{fill:url(#nexis-overview-area-gradient);stroke:none}.nexis-overview-point{fill:none;stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}@media(max-width:700px){.module-card .metrics.nexis-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nexis-overview-history{grid-template-columns:1fr}.nexis-overview-history>strong{display:none}}
.module-card .metrics.nexis-overview-metrics>.ds-stat-card{height:68px!important;min-height:68px!important;align-content:center!important}
.nexis-status-dot{width:24px;min-width:24px;height:24px;padding:0;justify-content:center}.nexis-status-dot .dot{margin:0}
.langui-account-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) minmax(150px,.35fr);gap:8px;margin:12px 0 10px;padding:0;border:0;background:transparent}.langui-account-tools .ds-input{grid-column:1;width:100%;border-radius:var(--ds-radius-sm)}
@media(max-width:820px){.langui-account-tools{grid-template-columns:1fr}.langui-account-tools .ds-input{grid-column:1}}
.sftp-active-account-table .engine-table-row{min-height:44px;padding-block:5px}.sftp-active-account-table .engine-table-row.is-connected,.sftp-active-account-table .engine-table-row.is-connected *{color:#62e99f}
.account-weight-track{height:8px!important;overflow:visible}.account-weight-track>i{box-shadow:0 0 9px rgba(43,219,126,.55)}
.module-card .module-code,.module-card h2{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.module-card .metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.module-card .metrics>div{min-width:0!important}.module-card .metrics span,.module-card .metrics strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.module-card .metrics>.ds-stat-card.compact{min-height:68px}
@media(prefers-reduced-motion:reduce){.topbar .header-refresh .icon{transition:none}}
.collection-cadence-group{display:grid;grid-template-columns:minmax(190px,.4fr) 1fr;gap:12px;padding:14px 10px 7px;border-top:1px solid var(--ds-border);color:var(--ds-text)}.collection-cadence-group:first-child{border-top:0}.collection-cadence-group small,.collection-cadence-value small{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.collection-cadence-value{display:grid;gap:2px}.collection-cadence-value strong{font-size:var(--ds-type-label)}
@media(max-width:720px){.collection-cadence-group{grid-template-columns:1fr;gap:3px}.collection-cadence-value small{white-space:normal}}

/* Vue d'ensemble : règle canonique des cartes et historiques compacts. */
@media(min-width:1100px){
  .grid>.module-card:not(.nexis-card-full){min-height:0!important;padding:16px!important}
  .grid>.module-card:not(.nexis-card-full) .card-head{min-height:54px!important}
  .grid>.module-card:not(.nexis-card-full) .metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .grid>.module-card:not(.nexis-card-full) .metrics>.ds-stat-card{height:54px!important;min-height:54px!important;padding:7px 9px!important;align-content:center!important}
  .grid>.module-card:not(.nexis-card-full) .metrics>.ds-stat-card>span{margin-bottom:2px!important;font-size:8px!important;line-height:1.1!important}
  .grid>.module-card:not(.nexis-card-full) .metrics>.ds-stat-card>strong{font-size:14px!important;line-height:1.1!important}
}
.overview-mini-history{margin-top:8px;padding:7px 9px 5px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.12)}
.metric-inline-value{display:flex!important;align-items:baseline;gap:3px;white-space:nowrap!important}.metric-inline-value unit{display:inline;font-size:.6em!important;font-weight:700;line-height:1;letter-spacing:.01em}.metric-inline-value .metric-triangle{font-size:.72em;font-style:normal;line-height:1}.metric-inline-value .metric-triangle.series-0{color:#9572ff}.metric-inline-value .metric-triangle.series-1{color:#55d6e8}
@media(max-width:700px){.overview-mini-history{padding-inline:6px}}

/* Les indicateurs WWW rejoignent la synthèse plateforme. */
@media(min-width:1401px){.platform-indicators{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:681px) and (max-width:1400px){.platform-indicators{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nexis-overview-metrics .ds-stat-card{position:relative}.nexis-delta{position:absolute;right:9px;bottom:7px;font-size:10px!important;font-weight:800;line-height:1;text-shadow:0 0 8px currentColor}.nexis-delta.positive{color:#42dc8b!important}.nexis-delta.negative{color:#ff646d!important}.nexis-delta.neutral{color:var(--ds-text-subtle)!important;text-shadow:none}.nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card{min-width:0;min-height:58px!important;height:58px!important;padding:6px 7px!important}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card>span{font-size:7px!important;line-height:1.05}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card>strong{font-size:13px!important;line-height:1.05}.nexis-overview-delta{right:7px;bottom:5px;font-size:7px!important;font-weight:700!important;text-shadow:none!important}.nexis-overview-delta.positive{color:#42dc8b!important}.nexis-overview-delta.negative{color:#ff747d!important}.nexis-overview-delta.neutral{color:#9ab4c6!important}
.admin-access-section{padding:14px}.admin-access-section .ds-section-heading{margin-bottom:12px}.admin-access-section .admin-module-grid{margin-bottom:0}
/* Catalogue compact : libellé + actions iconographiques sur une ligne. */
.catalogue-row{grid-template-columns:minmax(0,1fr) auto!important;min-height:34px!important;padding:3px 0!important}.catalogue-row>div:first-child{display:flex!important;align-items:center;gap:7px}.catalogue-row>div:first-child small{flex:none;padding:2px 5px;border:1px solid var(--ds-border-soft);border-radius:999px;font-size:7px}.catalogue-row-actions{display:flex!important;align-items:center;gap:2px}.catalogue-icon-action{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ds-text-subtle)}.catalogue-icon-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.catalogue-icon-action:hover,.catalogue-icon-action:focus-visible{border-color:rgba(124,91,255,.4);background:rgba(124,91,255,.1);color:#fff;outline:0}.catalogue-icon-action.is-archive:hover{border-color:rgba(255,184,77,.45);background:rgba(255,184,77,.1);color:#ffca73}.catalogue-icon-action.is-delete:hover{border-color:rgba(255,105,125,.5);background:rgba(255,105,125,.1);color:#ff8596}
@media(max-width:520px){.catalogue-row-actions{gap:0}.catalogue-icon-action{width:23px;height:23px}.catalogue-row strong{font-size:8px}}
.nexis-detail-drawer.module-drawer{width:clamp(520px,34vw,760px)}.nexis-detail-drawer .nexis-kpi-strip .nexis-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nexis-detail-drawer .nexis-analysis-row,.nexis-detail-drawer .nexis-data-row{grid-template-columns:1fr}.nexis-detail-drawer .nexis-detail-history svg{height:170px}.workspace-name-cell,.nexis-workspace-row>div>strong{display:flex;align-items:center;gap:6px}.workspace-new-badge{display:inline-flex;align-items:center;flex:none;min-height:20px;padding:2px 7px;border:1px solid rgba(66,220,139,.58);border-radius:999px;background:rgba(66,220,139,.09);color:#42dc8b!important;font-size:8px;font-weight:500;line-height:1;letter-spacing:0;text-transform:none;box-shadow:0 0 8px rgba(66,220,139,.11)}.nexis-workspace-row.is-new{border-color:rgba(65,218,157,.28);background:rgba(65,218,157,.035)}@media(max-width:1100px){.nexis-detail-drawer.module-drawer{width:min(48vw,680px)}}@media(max-width:760px){.nexis-detail-drawer.module-drawer{inset:0;width:100%;border-radius:0}}
.nexis-detail-drawer .nexis-workspace-row>i{height:7px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(124,91,255,.1));box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.nexis-detail-drawer .nexis-workspace-row>i>span{background:linear-gradient(90deg,#34d9d0 0%,#7c5bff 58%,#c06bff 100%);box-shadow:0 0 10px rgba(124,91,255,.5)}.nexis-detail-drawer .nexis-workspace-row.is-low-space>i>span{background:linear-gradient(90deg,#ffb13b,#ff685f)!important;box-shadow:0 0 10px rgba(255,104,95,.38)!important}.workspace-lifecycle-summary{display:flex;align-items:center;gap:9px}.workspace-lifecycle-summary>strong{font-size:10px}.removed-workspaces-panel{margin-bottom:10px}
.nexis-workspace-filters{grid-template-columns:minmax(140px,1.3fr) repeat(6,minmax(90px,.8fr))}@media(max-width:980px){.nexis-workspace-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.nexis-workspace-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-lifecycle-summary{align-items:flex-end;flex-direction:column;gap:4px}}
.ds-stat-card{position:relative}.metric-delta.inline{position:static;display:inline-block;margin-left:7px}.ds-capacity-summary>div{position:relative}.ds-capacity-summary .metric-delta.inline{font-size:8px!important}
.activity-preference-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,.55fr);gap:12px}.activity-preference-grid>label{display:grid;gap:6px}.activity-preference-grid>label>span{color:var(--ds-text-muted);font-size:var(--ds-type-label)}.activity-preference-switch{grid-template-columns:1fr auto!important;align-items:center;padding:11px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.025)}.activity-preference-switch span,.activity-preference-switch strong,.activity-preference-switch small{display:block}.activity-preference-switch small{margin-top:3px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta);font-weight:400}.activity-preference-switch input{appearance:none;width:40px;height:23px;padding:2px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);cursor:pointer;transition:.2s}.activity-preference-switch input::before{content:"";display:block;width:17px;height:17px;border-radius:50%;background:#d5dbe2;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:.2s}.activity-preference-switch input:checked{border-color:rgba(66,220,139,.72);background:rgba(42,200,116,.72)}.activity-preference-switch input:checked::before{transform:translateX(17px);background:#fff}.activity-toast-stack{position:fixed;z-index:1200;display:flex;flex-direction:column;gap:7px;width:min(360px,calc(100vw - 24px));pointer-events:none}.activity-toast-stack[data-position="top-right"]{top:72px;right:12px}.activity-toast-stack[data-position="top-left"]{top:72px;left:12px}.activity-toast-stack[data-position="bottom-right"]{right:12px;bottom:16px;flex-direction:column-reverse}.activity-toast-stack[data-position="bottom-left"]{left:12px;bottom:16px;flex-direction:column-reverse}.activity-toast{display:grid;grid-template-columns:9px 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(73,207,172,.36);border-radius:999px;background:linear-gradient(105deg,rgba(8,29,38,.84),rgba(28,20,54,.80));box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 18px rgba(62,210,169,.08);backdrop-filter:blur(18px) saturate(125%);opacity:0;transform:translateY(-7px) scale(.98);transition:opacity .24s,transform .24s}.activity-toast.is-visible{opacity:1;transform:none}.activity-toast>i{width:8px;height:8px;border-radius:50%;background:#42dc8b;box-shadow:0 0 9px rgba(66,220,139,.75)}.activity-toast strong,.activity-toast time{display:block}.activity-toast strong{font-size:var(--ds-type-label);font-weight:600}.activity-toast time{margin-top:2px;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
@media(max-width:650px){.activity-preference-grid{grid-template-columns:1fr}.activity-toast-stack{right:10px!important;left:10px!important;width:auto}.activity-toast-stack[data-position^="top"]{top:68px}.activity-toast-stack[data-position^="bottom"]{bottom:10px}}
@media(prefers-reduced-motion:reduce){.activity-toast,.activity-preference-switch input,.activity-preference-switch input::before{transition:none}}
.notification-matrix-group{display:flex;align-items:center;justify-content:space-between;min-height:28px;padding:4px 10px;border-top:1px solid var(--ds-border-soft);background:linear-gradient(90deg,rgba(69,210,218,.09),rgba(143,91,255,.07));color:var(--ds-text-subtle);font-size:var(--ds-type-meta);letter-spacing:.08em;text-transform:uppercase}.notification-matrix-head+.notification-matrix-group{border-top:0}.notification-matrix-group strong{color:var(--ds-text);font-size:inherit}
.notification-matrix{overflow:hidden;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.11)}.notification-matrix-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,minmax(76px,.38fr));align-items:center;min-height:43px;padding:5px 10px;border-top:1px solid var(--ds-border-soft)}.notification-matrix-row:first-child{border-top:0}.notification-matrix-row>strong{font-size:var(--ds-type-label)}.notification-matrix-head{min-height:34px;color:var(--ds-text-subtle);background:rgba(255,255,255,.025);font-size:var(--ds-type-meta);text-align:center}.notification-matrix-head strong{text-align:left}.matrix-toggle{display:grid;justify-items:center;cursor:pointer}.matrix-toggle input{position:absolute;opacity:0;pointer-events:none}.matrix-toggle i{position:relative;width:34px;height:19px;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(255,255,255,.1);transition:.2s}.matrix-toggle i::before{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#bdc5ce;box-shadow:0 1px 4px rgba(0,0,0,.4);transition:.2s}.matrix-toggle input:checked+i{border-color:rgba(66,220,139,.7);background:rgba(42,200,116,.72)}.matrix-toggle input:checked+i::before{transform:translateX(15px);background:#fff}.matrix-toggle input:focus-visible+i{outline:2px solid #69b7ff;outline-offset:2px}.matrix-toggle input:disabled+i{opacity:.45}.matrix-toggle span{display:none}@media(max-width:650px){.notification-matrix{display:grid;gap:8px;overflow:visible;border:0;background:transparent}.notification-matrix-head{display:none}.notification-matrix-row{grid-template-columns:repeat(4,1fr);gap:7px;padding:10px;border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:rgba(0,0,0,.11)}.notification-matrix-row>strong{grid-column:1/-1}.matrix-toggle span{display:block;margin-top:3px;color:var(--ds-text-subtle);font-size:7px}}
.notification-channel-card{transition:opacity .2s,border-color .2s}.notification-channel-card.is-ready{border-color:rgba(66,220,139,.35);background:rgba(66,220,139,.045)}.notification-channel-card.is-ready strong{color:#61e6a0}.notification-channel-card.is-upcoming{border-color:rgba(153,166,181,.16);background:rgba(132,145,160,.035);filter:saturate(.25);opacity:.48}.notification-channel-card.is-upcoming span,.notification-channel-card.is-upcoming strong{color:var(--ds-text-subtle)}
.matrix-toggle i{border-color:rgba(129,111,198,.42);background:linear-gradient(135deg,rgba(28,45,61,.72),rgba(37,28,66,.68));box-shadow:inset 0 1px 4px rgba(0,0,0,.34)}.matrix-toggle input:checked+i{border-color:rgba(116,91,255,.85);background:linear-gradient(90deg,rgba(47,205,189,.88),rgba(119,83,245,.94));box-shadow:0 0 10px rgba(102,80,238,.24),inset 0 1px 3px rgba(255,255,255,.18)}.matrix-toggle input[data-matrix-level="attention"]:checked+i{border-color:rgba(255,180,65,.8);background:linear-gradient(90deg,#d58b2b,#b56af2)}.matrix-toggle input[data-matrix-level="critical"]:checked+i{border-color:rgba(255,91,105,.86);background:linear-gradient(90deg,#ff5965,#9b58df)}.matrix-toggle input[data-matrix-level="resolution"]:checked+i{border-color:rgba(66,220,139,.8);background:linear-gradient(90deg,#2ecb94,#5c8dff)}
@media(max-width:650px){.notification-matrix-row{background:linear-gradient(135deg,rgba(14,36,47,.54),rgba(33,23,60,.48));backdrop-filter:blur(12px)}}
/* Interrupteurs compacts : la zone du label reste entièrement cliquable. */
.activity-preference-switch input{width:28px;height:16px;padding:2px}.activity-preference-switch input::before{width:10px;height:10px}.activity-preference-switch input:checked::before{transform:translateX(12px)}
.matrix-toggle i{width:24px;height:14px}.matrix-toggle i::before{width:8px;height:8px}.matrix-toggle input:checked+i::before{transform:translateX(10px)}
.auth-brand-mark{display:block;width:54px;height:54px;margin:0 0 10px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(118,91,255,.22))}
.module-card.activity-pulse,#overview.activity-pulse{position:relative;isolation:isolate}.module-card.activity-pulse:before,#overview.activity-pulse:before{content:"";position:absolute;z-index:6;inset:-1px;pointer-events:none;border:1px solid rgba(77,216,207,.88);border-radius:inherit;animation:itm-activity-card-pulse 1.8s ease-out forwards}@keyframes itm-activity-card-pulse{0%{opacity:0;box-shadow:0 0 0 rgba(77,216,207,0),inset 0 0 0 rgba(126,91,255,0)}18%{opacity:1;box-shadow:0 0 26px rgba(77,216,207,.42),0 0 48px rgba(126,91,255,.18);inset 0 0 30px rgba(77,216,207,.12)}100%{opacity:0;box-shadow:0 0 4px rgba(77,216,207,0),0 0 10px rgba(126,91,255,0);inset 0 0 0 rgba(77,216,207,0)}}@media(prefers-reduced-motion:reduce){.module-card.activity-pulse:before,#overview.activity-pulse:before{animation:none;opacity:.7;box-shadow:0 0 12px rgba(77,216,207,.28)}}
.health-timeline{height:54px!important;min-height:54px!important;overflow:visible}.health-timeline>div,.health-timeline svg{overflow:visible}.health-timeline-empty{display:grid;place-items:center;height:100%;color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}
.unified-feed-panel{display:grid;gap:8px;padding-top:12px}.unified-feed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:9px;background:rgba(255,255,255,.025)}.unified-feed-head>div{display:grid;gap:2px}.unified-feed-head strong{font-size:12px}.unified-feed-head span{color:var(--ds-text-subtle);font-size:8px}.unified-test-trigger{justify-self:end;padding:5px 8px!important;font-size:7px!important}.unified-feed-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:6px}.unified-feed-toolbar input,.unified-feed-toolbar select{height:32px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:rgba(0,0,0,.22);color:#fff;font-size:8px}.unified-feed-list{overflow:hidden;border:1px solid var(--line-soft);border-radius:9px;background:rgba(0,0,0,.1)}.unified-feed-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:39px;padding:5px 8px;border-top:1px solid var(--line-soft)}.unified-feed-row:first-child{border-top:0}.unified-feed-row>i{width:7px;height:7px;border-radius:50%;background:#4dd8cf;box-shadow:0 0 7px rgba(77,216,207,.45)}.unified-feed-row.is-critical>i,.unified-feed-row.is-error>i{background:#ff453a;box-shadow:0 0 7px rgba(255,69,58,.5)}.unified-feed-row.is-warning>i,.unified-feed-row.is-attention>i{background:#ff9f0a}.unified-feed-row.is-ok>i,.unified-feed-row.is-success>i{background:#32d76d}.unified-feed-row>div:nth-child(2){display:flex;align-items:baseline;min-width:0;gap:7px}.unified-feed-row strong,.unified-feed-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-feed-row strong{font-size:9px}.unified-feed-row small,.unified-feed-row time{color:var(--ds-text-subtle);font-size:7px}.unified-feed-actions{display:flex;gap:4px}.unified-feed-actions button,.unified-feed-actions a{min-height:24px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:transparent;color:rgba(255,255,255,.8);font-size:7px;text-decoration:none;box-shadow:none}.unified-feed-archive{min-height:12px;margin:0;color:var(--ds-text-subtle);font-size:7px}.site-notification-test-result{margin:0}
@media(max-width:620px){.unified-feed-head{align-items:flex-start;flex-direction:column}.unified-feed-toolbar{grid-template-columns:1fr 105px}.unified-feed-row{grid-template-columns:7px minmax(0,1fr) auto;gap:6px}.unified-feed-row>div:nth-child(2){display:grid;gap:1px}.unified-feed-row time{grid-column:3}.unified-feed-actions{grid-column:2/4;justify-content:flex-end}.health-timeline{min-width:420px}}

/* Mode vivant : une seule information à la fois, entrée latérale et sortie douce. */
.activity-toast{transition:opacity .65s ease-out,transform .65s cubic-bezier(.2,.8,.2,1)}
.activity-toast-stack[data-position="top-right"] .activity-toast{transform:translateX(calc(100% + 28px)) scale(.98)}
.activity-toast-stack[data-position="top-left"] .activity-toast{transform:translateX(calc(-100% - 28px)) scale(.98)}
.activity-toast-stack[data-position="bottom-right"] .activity-toast{transform:translate(calc(100% + 28px),24px) scale(.98)}
.activity-toast-stack[data-position="bottom-left"] .activity-toast{transform:translate(calc(-100% - 28px),24px) scale(.98)}
.activity-toast-stack .activity-toast.is-visible{opacity:1;transform:translateX(0) scale(1)}
.activity-toast-stack .activity-toast.is-leaving{opacity:0;transition-duration:1.1s;transition-timing-function:ease-in}
.activity-toast-stack[data-position="top-right"] .activity-toast.is-leaving{transform:translateX(calc(100% + 20px)) scale(.985)}
.activity-toast-stack[data-position="top-left"] .activity-toast.is-leaving{transform:translateX(calc(-100% - 20px)) scale(.985)}
.activity-toast-stack[data-position="bottom-right"] .activity-toast.is-leaving{transform:translate(calc(100% + 20px),20px) scale(.985)}
.activity-toast-stack[data-position="bottom-left"] .activity-toast.is-leaving{transform:translate(calc(-100% - 20px),20px) scale(.985)}
/* La timeline reste strictement contenue dans la carte sur les petits écrans. */
@media(max-width:620px){.health-timeline-wrap{width:100%;min-width:0;max-width:100%}.health-timeline{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%;overflow:visible}}
.nexis-capacity-info{border-color:rgba(105,183,255,.42)!important;background:rgba(91,119,255,.09)!important;color:#a9cfff!important}.nexis-capacity-info .dot{background:#69b7ff!important;box-shadow:0 0 8px rgba(105,183,255,.55)}
.ds-mini-chart .nexis-history-point{fill-opacity:.22;stroke:currentColor;stroke-width:1.2;opacity:1}.ds-mini-chart .nexis-history-point.is-incomplete{opacity:.5}
.platform-indicators{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important}.platform-indicators>span{min-height:52px;padding:6px 7px}.platform-indicators .icon{width:15px;height:15px}.platform-indicators small{font-size:6.5px}.platform-indicators strong{font-size:10px}
/* Sur téléphone, la synthèse doit rester un aperçu : quatre cartes par rangée,
   plus courtes et avec une typographie qui reste lisible. */
@media(max-width:560px){
  .platform-indicators{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .platform-indicators>span{min-height:0!important;aspect-ratio:1.28/1;padding:7px 6px!important;align-content:center}
  .platform-indicators .icon{width:14px;height:14px}
  .platform-indicators small{font-size:7.4px!important;line-height:1.12}
  .platform-indicators strong{font-size:11px!important;line-height:1.12}
}
.unified-feed-actions button,.unified-feed-actions a{cursor:pointer;transition:border-color .18s,color .18s,background-color .18s,box-shadow .18s,transform .18s}.unified-feed-actions button:hover,.unified-feed-actions button:focus-visible,.unified-feed-actions a:hover,.unified-feed-actions a:focus-visible{border-color:rgba(105,183,255,.68);background:rgba(105,183,255,.11);color:#d9ecff;box-shadow:0 0 10px rgba(105,183,255,.13);outline:0;transform:translateY(-1px)}.unified-feed-actions button:first-child:hover,.unified-feed-actions button:first-child:focus-visible{border-color:rgba(255,116,125,.62);background:rgba(255,90,105,.09);color:#ff9ca4}
.platform-indicators>span.platform-indicator-alert{border-color:rgba(255,69,58,.58);background:rgba(255,69,58,.075);box-shadow:inset 0 0 16px rgba(255,69,58,.045)}.platform-indicator-alert .icon,.platform-indicator-alert strong{color:#ff747d!important}.platform-indicator-alert .icon{filter:drop-shadow(0 0 5px rgba(255,69,58,.4))}.site-notification-more:not(:disabled){cursor:pointer;transition:border-color .18s,color .18s,background-color .18s}.site-notification-more:not(:disabled):hover,.site-notification-more:not(:disabled):focus-visible{border-color:rgba(105,183,255,.65);background:rgba(105,183,255,.1);color:#d9ecff;outline:0}
.module-card>footer{display:flex!important;align-items:center!important;width:100%;box-sizing:border-box}.module-card>footer .freshness-indicator{margin-left:auto!important;text-align:right!important}
/* Flux unifié : la couleur exprime la gravité, pas seulement l'arrivée d'une publication. */
.unified-feed-row.is-critical>i,.unified-feed-row.is-error>i{background:#ff453a;box-shadow:0 0 7px rgba(255,69,58,.5)}.unified-feed-row.is-warning>i,.unified-feed-row.is-attention>i{background:#ff9f0a;box-shadow:0 0 7px rgba(255,159,10,.4)}.unified-feed-row.is-ok>i,.unified-feed-row.is-success>i{background:#32d76d;box-shadow:0 0 7px rgba(50,215,109,.42)}.unified-feed-row.is-information>i{background:#8793a3;box-shadow:0 0 6px rgba(135,147,163,.3)}
/* Action destructive volontairement séparée dans l’Atelier. */
.studio-client-actions .is-danger-action,.studio-program-actions .is-danger-action{margin-left:9px;outline:1px solid rgba(255,255,255,.07);outline-offset:3px}.studio-client-actions .is-danger-action:hover,.studio-program-actions .is-danger-action:hover{border-color:rgba(255,92,100,.72);background:rgba(255,72,82,.13);box-shadow:0 0 13px rgba(255,72,82,.14)}
.platform-timing-table{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);overflow:auto}.platform-timing-head,.platform-timing-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(130px,.7fr) minmax(150px,.8fr) minmax(150px,.8fr) 64px;align-items:center;min-width:850px;padding:8px 14px;gap:14px}.platform-timing-head{min-height:38px;border-bottom:1px solid var(--ds-border);color:var(--ds-text-muted);font-size:var(--ds-type-meta);text-transform:uppercase}.platform-timing-row{min-height:52px;border-bottom:1px solid var(--ds-border)}.platform-timing-row:last-child{border-bottom:0}.platform-timing-row>span:first-child{display:flex;flex-direction:column;gap:2px}.platform-timing-row small{color:var(--ds-text-muted);font-size:8px}.platform-timing-row>span:last-child{display:flex;justify-content:flex-end}.platform-timing-row .service-icon-action{width:38px;min-width:38px;height:28px;padding:0;border-radius:999px;align-items:center;justify-content:center}.platform-timing-row .service-icon-action .icon{display:block;margin:auto}

/* Services & collectes : grille compacte, homogène et mono-information. */
.cce-summary-strip{gap:7px;margin-bottom:10px}.cce-summary-strip>.ds-stat-card{min-height:58px;padding:8px 10px}.cce-summary-strip>.ds-stat-card>span{margin-bottom:3px;font-size:8px}.cce-summary-strip>.ds-stat-card>strong{font-size:13px;line-height:1.15}.cce-summary-strip>.ds-stat-card>small{font-size:7px;line-height:1.15}
.service-authority-section,.platform-timing-section,.collection-admin-panel{padding:12px}.service-authority-section .ds-section-heading,.platform-timing-section .ds-section-heading,.collection-admin-toolbar{margin-bottom:8px}.service-authority-section .ds-section-heading h2,.platform-timing-section .ds-section-heading h2,.collection-admin-toolbar h2{font-size:14px}.service-authority-section .ds-section-heading p,.platform-timing-section .ds-section-heading p,.collection-admin-toolbar p{font-size:8px}
.service-admin-table .engine-table-head,.service-admin-table .engine-table-row{grid-template-columns:minmax(180px,1.35fr) 105px 120px 105px 110px 100px!important;min-width:820px!important}.collection-admin-table:not(.service-admin-table) .engine-table-head,.collection-admin-table:not(.service-admin-table) .engine-table-row{grid-template-columns:minmax(210px,1.35fr) 120px 112px minmax(125px,.8fr) 120px 64px 64px!important;min-width:930px!important}
.service-admin-table .engine-table-head,.collection-admin-table:not(.service-admin-table) .engine-table-head{min-height:34px;padding:6px 10px;gap:10px;font-size:8px;letter-spacing:.045em}.service-admin-table .engine-table-row,.collection-admin-table:not(.service-admin-table) .engine-table-row{min-height:42px;padding:5px 10px;gap:10px}.service-admin-table .engine-table-row>*,.collection-admin-table:not(.service-admin-table) .engine-table-row>*{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.2}.service-admin-table .engine-table-row strong,.collection-admin-table:not(.service-admin-table) .engine-table-row strong,.platform-timing-row strong{font-size:10px;font-weight:650;line-height:1.2}.service-admin-table .company-marker,.collection-admin-table:not(.service-admin-table) .company-marker{font-size:9px}
.service-admin-table .status-badge,.collection-admin-table:not(.service-admin-table) .status-badge,.platform-timing-table .status-badge{min-height:24px;padding:5px 9px!important;font-size:9px!important}.service-admin-table .status-badge .dot,.collection-admin-table:not(.service-admin-table) .status-badge .dot,.platform-timing-table .status-badge .dot{width:10px;height:10px}
.service-admin-table .collector-row-actions,.service-admin-table .service-icon-actions,.collector-setting-cell,.collector-force-cell{display:flex;align-items:center;height:100%}.service-admin-table .collector-row-actions,.service-admin-table .service-icon-actions{justify-content:flex-end}.collector-setting-cell,.collector-force-cell{justify-content:center}
.service-admin-table .service-icon-action[data-action],.collection-admin-table [data-cce-hme-open],.collection-admin-table [data-cce-policy-open],.collector-force-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;min-width:38px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:999px!important;font-size:0!important;line-height:1!important}.service-admin-table .service-icon-action[data-action]::after,.collection-admin-table [data-cce-hme-open]::after,.collection-admin-table [data-cce-policy-open]::after{display:none!important;content:none!important}.service-admin-table .service-icon-action .icon,.collection-admin-table .service-icon-action .icon,.collector-force-action .icon{display:block;width:13px;height:13px;margin:auto}
/* Les commandes indisponibles sont retirées du flux pour ne laisser aucun fragment visible. */
.service-admin-table .service-icon-action[data-action]:disabled,.collection-admin-table .service-icon-action[data-action]:disabled{display:none!important}
.collection-cadence-value{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-admin-row.is-collector-child>span:first-child{padding-left:20px}
.platform-timing-head,.platform-timing-row{grid-template-columns:minmax(220px,1.35fr) minmax(115px,.65fr) minmax(120px,.7fr) minmax(145px,.75fr) 54px;min-width:790px;padding:6px 10px;gap:10px}.platform-timing-head{min-height:34px;font-size:8px;letter-spacing:.045em}.platform-timing-row{min-height:42px;font-size:10px}.platform-timing-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-timing-row>span:first-child{display:block}.platform-timing-row>span:last-child{justify-content:center}.platform-timing-row .service-icon-action{width:38px;min-width:38px;height:28px}
@media(max-width:980px){.service-authority-section,.platform-timing-section,.collection-admin-panel{padding:10px}.service-admin-table .engine-table-row,.collection-admin-table:not(.service-admin-table) .engine-table-row{min-height:40px}}

/* Tableau de pilotage unique : mêmes colonnes pour chaque nature de ligne. */
.unified-control-section{padding:12px}.unified-control-section .ds-section-heading{margin-bottom:8px}.unified-control-section .ds-section-heading h2{font-size:14px}.unified-control-section .ds-section-heading p{font-size:8px}
.unified-control-table .engine-table-head,.unified-control-table .engine-table-row{grid-template-columns:minmax(210px,1.4fr) 74px 108px 118px minmax(120px,.78fr) 118px 62px 92px!important;min-width:990px!important}
.unified-control-table .engine-table-head{min-height:34px;padding:6px 10px;gap:10px;font-size:8px}.unified-control-table .engine-table-row{min-height:42px;padding:5px 10px;gap:10px}
.unified-control-table .engine-table-row>*{display:flex;align-items:center;min-width:0;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.unified-control-table .engine-table-row>span:first-child{display:flex}.unified-control-table .component-type{color:var(--ds-text-subtle);font-size:8px;text-transform:uppercase;letter-spacing:.045em}
.unified-control-table .collector-setting-cell,.unified-control-table .collector-force-cell,.unified-control-table .unified-empty-cell{justify-content:center}.unified-control-table .unified-empty-cell{color:var(--ds-text-subtle)}
.unified-control-table .service-icon-actions{width:100%;justify-content:flex-end}.unified-control-table .platform-setting-row{background:rgba(86,169,255,.025)}
.unified-control-table .platform-setting-row .service-icon-action{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:28px;padding:0;border-radius:999px}
@media(max-width:980px){.unified-control-section{padding:10px}.unified-control-table .engine-table-row{min-height:40px}}
.notification-channel-card small{display:block;margin-top:5px;color:var(--ds-text-muted);font-size:var(--ds-type-meta)}.notification-channel-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:var(--ds-type-meta)}.notification-channel-switch input{width:30px;height:17px}.notification-channel-reason{line-height:1.4}
.audit-history-section [data-admin-empty][hidden]{display:none}

/* Chargement des vues de données lourdes. */
html{overflow-y:scroll;scrollbar-gutter:stable}
body.data-page-loading{overflow:hidden}
body.data-page-loader-visible .shell{filter:blur(5px);opacity:.52;pointer-events:none;user-select:none}
.shell{transition:filter .22s ease,opacity .22s ease}
.data-page-loader{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:rgba(3,10,22,.42);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .22s ease}
.data-page-loader.is-visible{opacity:1;pointer-events:auto}
.data-page-loader.is-finished{opacity:0;pointer-events:none}
.data-page-loader-card{display:grid;justify-items:center;gap:7px;min-width:220px;padding:18px 22px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(5,14,29,.9);box-shadow:0 18px 48px rgba(0,0,0,.34)}
.data-page-loader svg{width:44px;height:44px;transform:rotate(-90deg)}
.data-page-loader circle{fill:none;stroke-width:3}
.data-page-loader-track{stroke:rgba(255,255,255,.12)}
.data-page-loader-progress{stroke:#8f68ff;stroke-linecap:round;stroke-dasharray:113.1;animation:data-page-loader-progress 1.45s cubic-bezier(.42,0,.2,1) infinite}
.data-page-loader strong{font-size:12px}.data-page-loader span{color:var(--ds-text-subtle);font-size:8px}
@keyframes data-page-loader-progress{0%{stroke-dashoffset:113.1;stroke:#42cbea}82%,100%{stroke-dashoffset:0;stroke:#9868ff}}
@media(prefers-reduced-motion:reduce){.data-page-loader-progress{animation-duration:2.8s}.shell{transition:none}}
@media(min-width:1800px){:root{--ds-layout-max:3200px;--ds-layout-gutter:clamp(16px,1vw,26px)}.shell>main{width:100%;max-width:none;padding-left:var(--ds-layout-gutter);padding-right:var(--ds-layout-gutter)}}

/* Revue administrative NEXIS : ce traitement accompagne un libellé explicite
   et ne constitue ni une alerte SignalEngine ni une preuve de suppression. */
.removed-workspaces-panel.is-review-required{border-color:rgba(255,91,105,.5);background:rgba(106,18,35,.16)}
.removed-workspaces-panel.is-review-required summary>span{color:#ff9aa6}
.removed-workspaces-panel.is-review-required summary>span::before{content:'!';display:inline-grid;place-items:center;width:14px;height:14px;margin-right:6px;border:1px solid currentColor;border-radius:50%;font-size:9px}
.unified-bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.unified-bulk-actions[hidden]{display:none}.unified-bulk-actions span{color:var(--ds-text-subtle);font-size:8px}.unified-bulk-actions button:disabled{cursor:not-allowed;opacity:.55}
body .nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}body .nexis-overview-row .nexis-overview-metrics>.ds-stat-card{height:auto!important;min-height:78px!important;overflow:hidden}
body .nexis-overview-row .metrics.nexis-overview-metrics{gap:7px!important}body .nexis-overview-row .nexis-overview-metrics>.ds-stat-card.compact{min-height:54px!important;height:54px!important;padding:7px 9px!important;align-content:center!important}body .nexis-overview-row .nexis-overview-metrics>.ds-stat-card>span{margin-bottom:2px!important;font-size:8px!important;line-height:1.1!important}body .nexis-overview-row .nexis-overview-metrics>.ds-stat-card>strong{font-size:14px!important;line-height:1.1!important}body .nexis-overview-row .nexis-overview-metrics>.ds-stat-card>small{font-size:7px!important;line-height:1.05!important}.nexis-capacity-history{min-height:91px}.nexis-history-placeholder{display:grid;place-content:center;justify-items:center;min-height:72px;gap:4px;text-align:center}.nexis-history-placeholder strong{font-size:var(--ds-type-label)}.nexis-history-placeholder span{color:var(--ds-text-subtle);font-size:var(--ds-type-meta)}.nexis-capacity-history .overview-mini-history-legend i.series-2,.nexis-capacity-history .history-series.series-2{stroke:#ffac57;background:#ffac57}.nexis-capacity-history .overview-mini-history-axis{display:flex;justify-content:space-between}
.nexis-capacity-contract-chart{position:relative;min-height:190px;margin-top:8px}.nexis-capacity-contract-chart svg{display:block;width:100%;height:170px}.nexis-capacity-contract-chart .history-series{fill:none;stroke:#9572ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nexis-capacity-contract-chart .history-series.series-1{stroke:#55d6e8}.nexis-capacity-contract-chart .history-series.series-2{stroke:#ffac57}.nexis-capacity-contract-chart [data-capacity-empty]{position:absolute;inset:38px 0 0;display:grid;place-content:center;text-align:center;background:rgba(2,10,19,.82)}.nexis-capacity-contract-chart [data-capacity-empty][hidden]{display:none}.nexis-capacity-contract-chart [data-capacity-points] circle.series-0{fill:#9572ff}.nexis-capacity-contract-chart [data-capacity-points] circle.series-1{fill:#55d6e8}.nexis-capacity-contract-chart [data-capacity-points] circle.series-2{fill:#ffac57}.nexis-capacity-contract-chart .overview-mini-history-axis{display:flex;justify-content:space-between}.nexis-card-history{min-height:112px;margin-top:8px;padding:7px 9px;border-top:1px solid var(--ds-border-soft)}.nexis-card-history svg{height:78px}.nexis-card-history .overview-mini-history-head span,.nexis-card-history .overview-mini-history-legend{font-size:7px}.nexis-card-history .overview-mini-history-y{display:none}.nexis-card-history .overview-mini-history-plot{grid-template-columns:1fr}.nexis-card-history .overview-mini-history-axis{padding-left:0}.nexis-card-history [data-capacity-empty]{inset:25px 0 0;font-size:7px}.nexis-card-history [data-capacity-empty] strong{font-size:8px}
.nexis-capacity-contract-chart{--nexis-series-0:#9572ff;--nexis-series-1:#55d6e8;--nexis-series-2:#ffac57}.nexis-capacity-contract-chart .history-series.series-0{stroke:var(--nexis-series-0)}.nexis-capacity-contract-chart .history-series.series-1{stroke:var(--nexis-series-1)}.nexis-capacity-contract-chart .history-series.series-2{stroke:var(--nexis-series-2)}.nexis-capacity-contract-chart [data-capacity-points] circle.series-0{fill:var(--nexis-series-0)}.nexis-capacity-contract-chart [data-capacity-points] circle.series-1{fill:var(--nexis-series-1)}.nexis-capacity-contract-chart [data-capacity-points] circle.series-2{fill:var(--nexis-series-2)}.nexis-capacity-contract-chart [data-capacity-legend] i{display:inline-block;width:18px;height:2px}.nexis-capacity-contract-chart [data-capacity-legend] i.series-0{background:var(--nexis-series-0)}.nexis-capacity-contract-chart [data-capacity-legend] i.series-1{background:var(--nexis-series-1)}.nexis-capacity-contract-chart [data-capacity-legend] i.series-2{background:var(--nexis-series-2)}.nexis-capacity-global-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.nexis-capacity-global-head>span{color:var(--ds-text-subtle);font-size:7px}.nexis-capacity-periods{display:flex;gap:5px}.nexis-capacity-periods button{min-width:36px;min-height:30px;padding:4px 8px;border:1px solid var(--ds-border-soft);border-radius:5px;background:transparent;color:var(--ds-text-muted);font-size:7px}.nexis-capacity-periods button[aria-pressed=true]{border-color:var(--nexis-series-0);background:rgba(149,114,255,.18);color:#fff}.nexis-capacity-global-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.nexis-capacity-global-legend span{display:flex;align-items:center;gap:5px;color:var(--ds-text-muted);font-size:7px}@media(max-width:640px){.nexis-capacity-global-head{align-items:stretch;flex-direction:column}.nexis-capacity-periods{overflow-x:auto}.nexis-capacity-periods button{flex:0 0 36px}}
.nexis-capacity-contract-chart:has([data-capacity-empty]:not([hidden])) svg{visibility:hidden}
@media(max-width:700px){.grid>.nexis-overview-row{grid-template-columns:1fr}.nexis-overview-row>.nexis-scope-card{min-width:100%}.nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.nexis-capacity-contract-chart .forecast-series{fill:none;stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nexis-capacity-contract-chart .forecast-series.series-1{stroke:var(--nexis-series-1)}.nexis-capacity-contract-chart [data-capacity-legend] i.is-forecast{height:0;background:none;border-top:2px dashed currentColor}.nexis-capacity-contract-chart [data-capacity-points] circle.is-incomplete{opacity:.5}
.nexis-global-history .nexis-allocated-series{fill:none;stroke:#35cbea;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nexis-global-history .nexis-allocated-point{fill:#35cbea;stroke:none}.nexis-global-history .nexis-allocated-swatch{display:inline-block;width:22px;border-top:2px solid #35cbea;background:transparent}
.nexis-card-usage{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 0 6px}.nexis-card-usage>div{display:grid;gap:4px}.nexis-card-usage span{color:var(--ds-text-subtle);font-size:10px}.nexis-card-usage strong{font-size:13px}.nexis-card-usage>b{display:grid;justify-items:end;color:var(--nexis-series-0,#9572ff);font-size:18px;font-variant-numeric:tabular-nums}.nexis-card-usage>b small{color:var(--ds-text-subtle);font-size:6px;font-weight:500}.nexis-card-usage .metric-delta.inline{margin-left:0;font-size:10px!important;font-weight:700}.nexis-card-usage+.ds-mini-chart{border-top:0}
/* NEXIS fleet mini-charts: open SVG paths must never receive the browser's black fill. */
.ds-mini-chart .history-series,.ds-mini-chart .forecast-series{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ds-mini-chart .history-series.series-0{stroke:#9572ff}.ds-mini-chart .history-series.series-1,.ds-mini-chart .forecast-series.series-1{stroke:#55d6e8}.ds-mini-chart .forecast-series{stroke-dasharray:4 3}.ds-mini-chart [data-capacity-scale],.ds-mini-chart [data-capacity-axis]{display:flex;justify-content:space-between;gap:5px;color:var(--ds-text-subtle);font-size:6px;line-height:1;white-space:nowrap}.ds-mini-chart [data-capacity-scale]{margin-top:-1px}.ds-mini-chart [data-capacity-axis]{margin-top:4px}.ds-mini-chart [data-capacity-legend]{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;color:var(--ds-text-muted);font-size:6px;line-height:1.2}.ds-mini-chart [data-capacity-legend] span{display:inline-flex;align-items:center;gap:3px}.ds-mini-chart [data-capacity-legend] i{display:inline-block;width:10px;height:2px;background:#9572ff}.ds-mini-chart [data-capacity-legend] i.series-1{background:#55d6e8}
.ds-mini-chart[data-capacity-chart="system"]{box-sizing:border-box;min-height:118px;padding:8px 0 0;border-top:1px solid var(--ds-border-soft);background:linear-gradient(180deg,rgba(8,22,38,.42),rgba(2,10,19,.28));contain:layout paint;overflow:hidden}.ds-mini-chart[data-capacity-chart="system"] svg{display:block;min-height:78px}
/* Global NEXIS history: make the two factual series readable at a glance. */
.nexis-capacity-contract-chart .history-series{stroke-width:2;filter:none}.nexis-capacity-contract-chart .history-series.series-0{stroke:#9572ff}.nexis-capacity-contract-chart .history-series.series-1{stroke:#55d6e8}.nexis-capacity-contract-chart .forecast-series{stroke-width:2;filter:none}.nexis-capacity-contract-chart [data-capacity-points] circle{fill-opacity:.22;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke}.nexis-capacity-contract-chart [data-capacity-points] circle.series-0{color:#9572ff}.nexis-capacity-contract-chart [data-capacity-points] circle.series-1{color:#55d6e8}.nexis-capacity-contract-chart [data-capacity-points] circle.series-2{color:#ffac57}.nexis-capacity-contract-chart [data-capacity-points] circle.series-0,.nexis-capacity-contract-chart [data-capacity-points] circle.series-1{r:2.2}
.nexis-global-history>footer{display:none}.nexis-global-echart{width:100%;height:260px}.nexis-chart-tooltip-row{display:grid;grid-template-columns:7px minmax(105px,1fr) auto;align-items:center;gap:7px;margin-top:5px}.nexis-chart-tooltip-row i{width:7px;height:7px;border-radius:50%}.nexis-chart-tooltip-row b{font-variant-numeric:tabular-nums}.nexis-global-history .nexis-capacity-contract-chart{min-height:260px}.nexis-global-history .nexis-capacity-contract-chart:has([data-capacity-empty]:not([hidden])) .nexis-global-echart{visibility:hidden}@media(max-width:760px){.nexis-global-echart{height:220px}.nexis-global-history .nexis-capacity-contract-chart{min-height:220px}}
.nexis-shared-echart{width:100%;height:92px;min-width:0}.nexis-shared-echart--compact{height:78px}.ds-mini-chart:has(.nexis-shared-echart){min-height:118px}.ds-mini-chart:has(.nexis-shared-echart) .nexis-shared-echart{margin-top:2px}
.ds-mini-chart{background:linear-gradient(180deg,rgba(8,22,38,.42),rgba(2,10,19,.28))}.ds-mini-chart svg{background:transparent}.ds-mini-chart .history-series{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ds-mini-chart .history-series.series-0{stroke:#9572ff;stroke-width:1.5}.ds-mini-chart .history-series.series-1{stroke:#35cbea;stroke-width:2}.ds-mini-chart [data-capacity-points] circle{fill-opacity:.22;stroke-width:1.2;vector-effect:non-scaling-stroke}.ds-mini-chart [data-capacity-points] circle.series-0{fill:#9572ff;stroke:#9572ff}.ds-mini-chart [data-capacity-points] circle.series-1{fill:#35cbea;stroke:#35cbea}.ds-mini-chart [data-capacity-scale],.ds-mini-chart [data-capacity-axis],.ds-mini-chart [data-capacity-legend]{color:#839bac;font-size:7px}.ds-mini-chart [data-capacity-legend]{display:none}
.ds-instance-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.nexis-instance-primary-kpis>.ds-stat-card.compact{min-height:48px!important;padding:6px 8px!important}.nexis-instance-primary-kpis>.ds-stat-card.compact>strong{font-size:15px!important}.nexis-instance-primary-kpis>.ds-stat-card.compact>span{margin-bottom:2px!important}.nexis-instance-primary-kpis>.ds-stat-card.compact>small{font-size:8px!important;line-height:1}.nexis-instance-capacity-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px}.nexis-instance-capacity-kpis>.ds-stat-card.compact{min-height:46px!important;padding:6px 8px!important}.nexis-instance-capacity-kpis>.ds-stat-card.compact>span{margin-bottom:2px!important;font-size:8px!important}.nexis-instance-capacity-kpis>.ds-stat-card.compact>strong{font-size:13px!important;line-height:1.1!important}.nexis-instance-capacity-kpis>.ds-stat-card.compact>small{font-size:8px!important;line-height:1}
.nexis-tx-used{color:hsl(calc(165 - (var(--tx-used, 0) * 1.35)) 78% 64%)!important;text-shadow:0 0 8px color-mix(in srgb,currentColor,transparent 55%)}
.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta.positive{color:#42dc8b!important;text-shadow:0 0 7px rgba(66,220,139,.35)}.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta.negative{color:#ff747d!important;text-shadow:0 0 7px rgba(255,116,125,.3)}.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta.neutral{color:#9ab4c6!important;text-shadow:none}
body .nexis-fleet-summary-compact .ds-stat-card .metric-delta.positive{color:#42dc8b!important;text-shadow:0 0 7px rgba(66,220,139,.35)!important}body .nexis-fleet-summary-compact .ds-stat-card .metric-delta.negative{color:#ff747d!important;text-shadow:0 0 7px rgba(255,116,125,.3)!important}body .nexis-fleet-summary-compact .ds-stat-card .metric-delta.neutral{color:#9ab4c6!important;text-shadow:none!important}
.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta{position:absolute;right:8px;bottom:7px;line-height:1;white-space:nowrap}
.nexis-card-usage .metric-delta.inline{margin-left:auto!important;color:var(--ds-text-subtle)!important;text-shadow:none!important;white-space:nowrap;text-align:right}
.nexis-fleet-summary-compact>.ds-stat-card.large>.metric-delta{right:8px!important;left:auto!important;color:var(--ds-text-subtle)!important;text-shadow:none!important;text-align:right}
.ds-instance-card .nexis-status-dot{display:none!important}
.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator{justify-self:end;text-align:right}.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-ok{color:#42dc8b!important}.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-warning{color:#ffab45!important}.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-critical{color:#ff747d!important}
.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator{justify-self:start;text-align:left;color:#fff!important}.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-ok,.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-warning,.nexis-fleet-summary-compact>.ds-stat-card.large:last-child>strong.freshness-indicator.is-critical{color:#fff!important}.ds-instance-card .ds-card-footer .freshness-indicator{margin-left:auto;text-align:right}.ds-instance-card .ds-card-footer .freshness-indicator.is-ok{color:#42dc8b!important}.ds-instance-card .ds-card-footer .freshness-indicator.is-warning{color:#ffab45!important}.ds-instance-card .ds-card-footer .freshness-indicator.is-critical{color:#ff747d!important}
.nexis-capacity-global-head{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:0;gap:14px}.nexis-capacity-global-head>span{display:none}.nexis-capacity-global-head .nexis-range-controls{margin-left:auto}
.nexis-global-history{position:relative}.nexis-global-history>.nexis-capacity-global-head{position:absolute;top:12px;right:14px;z-index:3;display:flex;justify-content:flex-end;margin:0}.nexis-global-history>.nexis-capacity-global-head .nexis-range-controls{margin:0}
.nexis-global-history{gap:5px;padding-top:10px;padding-bottom:8px}.nexis-global-history .nexis-capacity-contract-chart{min-height:220px}.nexis-global-history .nexis-global-echart{height:220px}.nexis-global-history>footer{min-height:0;margin-top:-2px}
.nexis-global-history>footer{position:absolute;top:12px;left:50%;z-index:3;display:block!important;min-height:0;margin:0!important;transform:translateX(-50%)}.nexis-global-history>footer .nexis-capacity-global-legend{display:flex;justify-content:center;margin:0;white-space:nowrap}
.nexis-global-history .nexis-capacity-contract-chart{min-height:210px}.nexis-global-history .nexis-global-echart{height:210px}
.nexis-global-history{margin-top:-4px!important;padding-top:5px!important}
.nexis-instance-capacity-kpis>.ds-stat-card{position:relative}.nexis-instance-capacity-kpis>.ds-stat-card>.metric-delta{position:absolute;right:8px;left:auto;bottom:6px;margin:0;color:var(--ds-text-subtle)!important;text-align:right;white-space:nowrap}.nexis-instance-capacity-kpis>.ds-stat-card>.metric-delta.positive{color:#42dc8b!important;text-shadow:0 0 7px rgba(66,220,139,.35)!important}.nexis-instance-capacity-kpis>.ds-stat-card>.metric-delta.negative{color:#ff747d!important;text-shadow:0 0 7px rgba(255,116,125,.3)!important}.nexis-instance-capacity-kpis>.ds-stat-card>.metric-delta.neutral{color:#9ab4c6!important;text-shadow:none!important}
/* Nexis detail drawer: compact KPIs, larger history, hidden non-live status icon */
.nexis-detail-drawer .nexis-kpi-strip .nexis-detail-stats{gap:4px}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card{min-height:46px;padding:6px 7px}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>span{font-size:8px;line-height:1.1}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>strong{font-size:13px;line-height:1.1}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>.metric-delta{display:block;margin-top:2px;font-size:8px;line-height:1;color:var(--ds-text-subtle)}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>.metric-delta.positive{color:#42dc8b!important}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>.metric-delta.negative{color:#ff747d!important}
.nexis-detail-drawer .nexis-kpi-strip .ds-stat-card>.metric-delta.neutral{color:#9ab4c6!important}
.nexis-detail-drawer .nexis-detail-history{min-height:320px}
.nexis-detail-drawer .nexis-detail-history .nexis-shared-echart--detail{height:260px;min-height:260px}
.nexis-detail-drawer .nexis-drawer-actions [data-nexis-drawer-status]{display:none!important}
.overview-mini-history[data-overview-series]{padding-bottom:5px}
.overview-mini-history[data-overview-series] .overview-echart-host{width:100%;height:78px;min-height:78px}
.overview-mini-history[data-overview-series] .overview-echart-host svg{overflow:visible}
.overview-mini-history[data-overview-series] .overview-echart-tooltip-row{display:grid;grid-template-columns:6px minmax(70px,1fr) auto;align-items:center;gap:5px;margin-top:3px}
.overview-mini-history[data-overview-series] .overview-echart-tooltip-row i{width:6px;height:6px;border-radius:50%}
.overview-mini-history[data-overview-series] .overview-echart-tooltip-row b{font-variant-numeric:tabular-nums}
.nexis-capacity-history[data-overview-series] .overview-echart-host{height:118px;min-height:118px}
.nexis-capacity-history.has-data> :not(.overview-echart-host){visibility:hidden}
.nexis-capacity-history.has-data>.overview-echart-host{visibility:visible}
.nexis-detail-drawer .nexis-detail-history{min-height:0!important;padding-bottom:6px!important}
.nexis-detail-drawer .nexis-detail-history .nexis-shared-echart--detail{height:170px!important;min-height:170px!important}
/* NEXIS overview: six compact KPIs on desktop and a taller history chart. */
body .nexis-overview-row>.nexis-scope-card .card-head{min-height:48px!important}
body .nexis-overview-row>.nexis-scope-card .module-title{gap:10px}
body .nexis-overview-row>.nexis-scope-card .module-title>.icon{width:28px;height:28px}
body .nexis-overview-row>.nexis-scope-card h2{margin:1px 0 0!important}
body .nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body .nexis-overview-row .nexis-capacity-history{min-height:150px}
body .nexis-overview-row .nexis-capacity-history .overview-echart-host{height:132px;min-height:132px}
body .nexis-overview-row .nexis-history-placeholder{min-height:132px}
@media(max-width:700px){body .nexis-overview-row .metrics.nexis-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Vue d'ensemble : variations NEXIS uniquement. */
body .nexis-overview-row>.nexis-scope-card .metrics>.ds-stat-card>.metric-delta{position:absolute;right:7px;left:auto;bottom:6px;margin:0!important;font-size:9px!important;font-weight:700!important;line-height:1!important;white-space:nowrap;text-align:right;text-shadow:none!important}
/* Monitoring NEXIS : variations des mini-KPI alignées et colorées. */
body .nexis-instance-primary-kpis>.ds-stat-card{position:relative}
body .nexis-instance-primary-kpis>.ds-stat-card>.metric-delta{position:absolute;right:8px;left:auto;bottom:6px;margin:0!important;font-size:9px!important;font-weight:700!important;line-height:1!important;white-space:nowrap;text-align:right;text-shadow:none!important}
body .nexis-instance-primary-kpis>.ds-stat-card>.metric-delta.positive{color:#42dc8b!important}
body .nexis-instance-primary-kpis>.ds-stat-card>.metric-delta.negative{color:#ff747d!important}
body .nexis-instance-primary-kpis>.ds-stat-card>.metric-delta.neutral{color:#fff!important}
/* Vue d'ensemble : mini-KPI des autres modules alignés sur les cartes NEXIS. */
body .grid>.module-card:not(.nexis-scope-card) .metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card{position:relative;min-width:0;height:58px!important;min-height:58px!important;padding:6px 7px!important;align-content:center!important;overflow:hidden}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>span{margin-bottom:2px!important;font-size:var(--ds-type-meta)!important;line-height:1.1!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>strong{font-size:13px!important;line-height:1.05!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>.metric-delta{position:absolute;right:7px;left:auto;bottom:6px;margin:0!important;font-size:9px!important;font-weight:700!important;line-height:1!important;white-space:nowrap;text-align:right;text-shadow:none!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>.metric-delta.positive{color:#42dc8b!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>.metric-delta.negative{color:#ff747d!important}
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card>.metric-delta.neutral{color:#fff!important}
@media(max-width:700px){body .grid>.module-card:not(.nexis-scope-card) .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Vue d'ensemble : la fraîcheur en pied suffit pour ces modules. */
body .grid>.module-card[data-module="sftp_active"] .module-status-group,
body .grid>.module-card[data-module="sftpgo"] .module-status-group,
body .grid>.module-card[data-module="net"] .module-status-group,
body .grid>.module-card[data-module="disk"] .module-status-group,
body .grid>.module-card[data-module="adobe"] .module-status-group,
body .grid>.module-card[data-module="flexnet"] .module-status-group{display:none!important}
/* Même surface visuelle que les mini-KPI NEXIS pour les autres services. */
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card{background:rgba(0,0,0,.14)!important;border:1px solid var(--line-soft)!important;border-radius:var(--ds-radius-sm)!important}
/* Surface claire/transparente identique aux mini-KPI NEXIS. */
body .grid>.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.17)!important}
/* FlexNet overview: keep only the KPI labels above each value. */
body .grid>.module-card[data-module="flexnet"] .metrics>.ds-stat-card>.ds-stat-context{display:none!important}
body .grid>.module-card>footer{border-top:0!important;padding-top:4px!important}
/* Base commune des KPI : la fraîcheur reprend l'alignement interne des mini-KPI. */
@media(min-width:701px){
  body .grid>.module-card,
  body .grid>.nexis-overview-row>.nexis-scope-card{padding:14px 16px!important}
  body .grid>.module-card>footer,
  body .grid>.nexis-overview-row>.nexis-scope-card>footer{min-height:18px!important;margin-top:7px!important;padding:5px 0 0!important;border-top:0!important;gap:7px!important}
  body .grid>.module-card>footer .module-owner{font-size:7px!important;line-height:1.1!important}
body .grid>.module-card>footer .freshness-indicator,
body .grid>.nexis-overview-row>.nexis-scope-card>footer .freshness-indicator{margin-left:auto!important;align-self:flex-end!important;text-align:right!important;white-space:nowrap!important;font-size:9px!important;line-height:1.1!important}
  body .grid>.module-card:not(.nexis-card-full) .card-head{min-height:40px!important}
  body .grid>.nexis-overview-row>.nexis-scope-card .card-head{min-height:38px!important}
}
@media(max-width:700px){
  body .grid>.module-card,
  body .grid>.nexis-overview-row>.nexis-scope-card{padding:9px!important}
  body .grid>.module-card>footer,
  body .grid>.nexis-overview-row>.nexis-scope-card>footer{padding:5px 0 0!important;border-top:0!important}
  body .grid>.module-card>footer .freshness-indicator,
  body .grid>.nexis-overview-row>.nexis-scope-card>footer .freshness-indicator{margin-left:auto!important;text-align:right!important}
  body .grid>.module-card:not(.nexis-card-full) .card-head{min-height:35px!important}
  body .grid>.nexis-overview-row>.nexis-scope-card .card-head{min-height:35px!important}
}
/* Header fixe : surface blanche translucide, lisible sur le fond du dashboard. */
.shell>main>.topbar{background:rgba(255,255,255,.16)!important;box-shadow:0 10px 24px rgba(2,8,18,.12)!important}
.shell>main>.topbar{box-shadow:none!important}
.shell>main>.topbar:after{inset:100% 0 auto!important;height:18px;background:linear-gradient(180deg,rgba(2,8,18,.18),rgba(2,8,18,0))!important}
@media(min-width:681px){.platform-indicators strong{font-size:14px!important;line-height:1.1!important}}
@media(max-width:680px){.platform-indicators strong{font-size:12px!important;line-height:1.1!important}}
/* Harmonisation globale v1 — la Vue d'ensemble sert de référence visuelle.
   Les pages spécialisées gardent leurs compositions propres, mais partagent
   désormais les mêmes rythmes de cartes, de KPI et de méta-informations. */
:root{--itm-ref-gap:8px;--itm-ref-card-pad:12px;--itm-ref-kpi-height:58px;--itm-ref-kpi-pad:7px 9px;--itm-ref-kpi-label:8px;--itm-ref-kpi-value:14px;--itm-ref-meta:7px}
.ds-card,.module-card,.summary-card{border-radius:var(--ds-radius-md)}
.ds-card>header,.module-card>.card-head,.module-card>header{margin-bottom:var(--itm-ref-gap)}
.ds-section-heading,.nexis-maps-header,.page-heading{gap:var(--itm-ref-gap)}
.ds-section-heading h2,.page-heading h1{line-height:1.1}.ds-section-heading p,.page-heading>p{line-height:1.3}
.ds-stat-card{min-height:var(--itm-ref-kpi-height);padding:var(--itm-ref-kpi-pad);border-radius:var(--ds-radius-sm);align-content:center}
.ds-stat-card>span,.ds-stat-card>.ds-stat-label{margin-bottom:3px;font-size:var(--itm-ref-kpi-label);line-height:1.1}
.ds-stat-card>strong,.ds-stat-card>.ds-stat-value{font-size:var(--itm-ref-kpi-value);line-height:1.08}
.ds-stat-card>small,.ds-stat-card>.ds-stat-context{font-size:var(--itm-ref-meta);line-height:1.15}
.module-card>.metrics,.module-card .metrics,.nexis-fleet-summary-compact,.workspace-studio-summary-strip,.cce-summary-strip{gap:var(--itm-ref-gap)}
.module-card>footer,.ds-card-footer{min-height:18px;margin-top:var(--itm-ref-gap);padding-top:5px!important;border-top:0!important;font-size:var(--itm-ref-meta)}
.module-card>footer .module-owner,.module-card>footer .freshness-indicator,.ds-card-footer .module-owner,.ds-card-footer .freshness-indicator{font-size:var(--itm-ref-meta);line-height:1.1}
.module-card>footer .freshness-indicator,.ds-card-footer .freshness-indicator{margin-left:auto!important;text-align:right!important}
.ds-input,.ds-button,button,select,input{font-size:10px}.eyebrow{font-size:var(--itm-ref-meta);line-height:1.15}
@media(min-width:681px){.module-card{padding:var(--itm-ref-card-pad)}.module-card>.card-head,.module-card>header{min-height:42px}.module-card:not(.nexis-scope-card) .metrics>.ds-stat-card{min-height:var(--itm-ref-kpi-height);height:var(--itm-ref-kpi-height)}.nexis-overview-row .nexis-overview-metrics>.ds-stat-card{min-height:58px;height:58px}}
@media(max-width:680px){.module-card{padding:10px}.module-card>.card-head,.module-card>header{min-height:38px}.ds-stat-card{min-height:52px;padding:6px 8px}.ds-stat-card>strong,.ds-stat-card>.ds-stat-value{font-size:13px}}
/* État des collectes : surface blanche translucide cohérente avec les KPI. */
.platform-overview{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.2)!important}
/* Volets du menu gauche : compacts pour rester sous le header. */
@media(min-width:681px){
  .sidebar-nav-group>div{gap:1px;margin:1px 0 3px;padding-left:10px}
  .sidebar-nav-group>div .sidebar-nav-entry{min-height:30px;padding:4px 8px}
  .sidebar-nav-subgroup>div,.sidebar-nav-subgroup:hover>div,.sidebar-nav-subgroup.is-hover-open>div{max-height:210px}
}
/* FlexNet overview: factual license-pool utilization. */
.overview-flexnet-utilization{display:grid;gap:5px;margin-top:8px;padding:8px 9px;border:1px solid rgba(255,255,255,.1);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.035)}
.overview-flexnet-utilization header{display:flex;align-items:center;justify-content:space-between;gap:8px}.overview-flexnet-utilization header span{color:var(--ds-text-subtle);font-size:8px}.overview-flexnet-utilization header strong{color:#72f2bd;font-size:16px;line-height:1}
.overview-flexnet-meter{height:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.06)}.overview-flexnet-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#72f2bd,#55ddea);box-shadow:0 0 10px rgba(85,221,234,.3)}
.overview-flexnet-legend{display:flex;gap:12px;color:var(--ds-text-muted);font-size:7px}.overview-flexnet-legend span{display:inline-flex;align-items:center;gap:4px}.overview-flexnet-legend i{width:7px;height:7px;border-radius:50%}.overview-flexnet-legend i.is-used{background:#72f2bd}.overview-flexnet-legend i.is-available{background:#55ddea}
.overview-flexnet-meter i.is-warning{background:linear-gradient(90deg,#ffb36b,#e85d3f)!important;box-shadow:0 0 10px rgba(232,93,63,.24)}
.overview-flexnet-utilization header strong.is-warning{color:#ff8b5d!important}
.overview-net-throughput{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:70px;margin-top:8px;padding:10px 9px;border:1px solid rgba(255,255,255,.1);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.035)}
.overview-net-bar{display:grid;gap:3px}.overview-net-bar header{display:flex;align-items:center;justify-content:space-between;gap:8px}.overview-net-bar header span,.overview-net-bar small{color:var(--ds-text-subtle);font-size:8px;line-height:1.1}.overview-net-bar header strong{font-size:13px;font-variant-numeric:tabular-nums}.overview-net-bar small{font-size:8px;opacity:.85;text-align:right}.overview-net-track{height:8px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.13)}.overview-net-track i{display:block;height:100%;border-radius:inherit}.overview-net-track i.is-download{background:linear-gradient(90deg,#72f2bd,#35cbea);box-shadow:0 0 9px rgba(53,203,234,.32)}.overview-net-track i.is-upload{background:linear-gradient(90deg,#c18aff,#9572ff);box-shadow:0 0 9px rgba(149,114,255,.3)}
.overview-net-bar .overview-net-direction{display:inline-block;font-size:20px;font-weight:700;line-height:1}.overview-net-bar .overview-net-direction.is-download{color:#72f2bd;transform:rotate(-45deg)}.overview-net-bar .overview-net-direction.is-upload{color:#d08aff;transform:rotate(45deg)}
@media(max-width:700px){.overview-net-throughput{grid-template-columns:1fr}}

/* Accueil 1920 × 1080 : densité légèrement resserrée pour garder les modules visibles sans défilement. */
@media (min-width:701px) and (min-height:800px){
  [data-dashboard-grid]{gap:10px!important}
  [data-dashboard-grid]>.nexis-overview-row{gap:10px!important}
  [data-dashboard-grid] .metrics{gap:5px!important}
  [data-dashboard-grid]>.module-card,
  [data-dashboard-grid]>.nexis-overview-row>.nexis-scope-card{padding:12px 14px!important}
  [data-dashboard-grid]>.module-card>footer{margin-top:5px!important;padding-top:3px!important}
  [data-dashboard-grid] .nexis-capacity-history{min-height:128px!important}
  [data-dashboard-grid] .nexis-capacity-history .overview-echart-host{height:110px!important;min-height:110px!important}
  [data-dashboard-grid] .nexis-history-placeholder{min-height:110px!important}
  [data-dashboard-grid] .overview-flexnet-utilization{gap:4px;margin-top:5px;padding:6px 8px}
  [data-dashboard-grid] .overview-net-throughput{min-height:62px;margin-top:5px;padding:7px 8px}
}
