:root{
  --bg:#031824;--bg-deep:#05081c;--panel:rgba(2,12,25,.58);--panel-strong:rgba(2,10,22,.72);
  --line:rgba(255,255,255,.15);--line-soft:rgba(255,255,255,.08);--text:#fff;--muted:rgba(255,255,255,.76);
  --shadow:0 8px 22px rgba(0,0,0,.22);--radius:5px;--sidebar:262px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#061626;color:var(--text);font:14px/1.48 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-4;background:linear-gradient(112deg,#04333c 0%,#07506a 28%,#123b7b 57%,#442080 82%,#681d86 100%)}
body:after{content:"";position:fixed;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28)),radial-gradient(circle at 14% 70%,rgba(21,202,177,.24),transparent 32%),radial-gradient(circle at 78% 7%,rgba(78,83,255,.34),transparent 38%),radial-gradient(circle at 95% 45%,rgba(164,48,218,.25),transparent 30%)}
.ambient{position:fixed;z-index:-2;border-radius:50%;filter:blur(90px);opacity:.42;pointer-events:none}.ambient-a{width:36vw;height:36vw;left:7vw;top:43vh;background:#00a99d}.ambient-b{width:40vw;height:40vw;left:47vw;top:-20vw;background:#3157e8}.ambient-c{width:35vw;height:35vw;right:-12vw;top:28vh;background:#7b25b7}
.icon{width:23px;height:23px;flex:none;color:currentColor}.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 16px 22px;border-right:1px solid var(--line);background:rgba(0,11,25,.70);backdrop-filter:blur(22px);display:flex;flex-direction:column;box-shadow:6px 0 24px rgba(0,0,0,.12)}
.brand{display:flex;align-items:center;gap:13px;margin:0 4px 42px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.05);font-weight:800;font-size:19px;letter-spacing:.04em;box-shadow:var(--shadow)}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{color:var(--muted);margin-top:3px;font-size:13px}
.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;padding:14px 14px;border:1px solid transparent;border-radius:4px;font-size:15px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.04);box-shadow:inset 2px 0 #fff}.sidebar nav a .icon{width:24px;height:24px}
main{padding:34px 44px 20px;min-width:0}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.eyebrow{margin:0 0 5px;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}.topbar .eyebrow{opacity:.74}h1{font-size:31px;line-height:1.1;margin:0;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:18px}.clock-wrap{display:flex;align-items:center;gap:9px;white-space:nowrap}.clock-wrap .icon{width:20px;height:20px}button{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.26);background:rgba(0,0,0,.12);color:#fff;border-radius:4px;padding:10px 14px;cursor:pointer;font:inherit;box-shadow:var(--shadow)}button:hover{background:rgba(255,255,255,.09)}button .icon{width:20px;height:20px}
.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px}.summary-card{min-height:190px;padding:22px 20px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(14px);display:flex;flex-direction:column}.summary-card>.icon{width:28px;height:28px;margin-bottom:17px}.summary-card strong{font-size:28px;line-height:1;margin-bottom:12px;white-space:nowrap}.summary-card span{font-size:15px}.summary-card i{position:relative;height:3px;margin-top:auto;background:rgba(255,255,255,.15);overflow:hidden}.summary-card i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:#fff;box-shadow:0 0 10px rgba(255,255,255,.5)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{scroll-margin-top:18px;background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:246px;display:flex;flex-direction:column;box-shadow:var(--shadow);backdrop-filter:blur(14px);transition:border-color .18s ease,transform .18s ease,background .18s ease}.card:hover{border-color:rgba(255,255,255,.28);transform:translateY(-1px);background:rgba(2,10,22,.78)}.card-head{display:flex;justify-content:space-between;gap:16px}.module-title{display:flex;gap:14px;align-items:flex-start}.module-title>.icon{width:34px;height:34px}.module-code{color:#fff;font-size:16px;font-weight:800;letter-spacing:.06em}.card h2{font-size:14px;font-weight:500;margin:2px 0 18px;color:#fff}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.48);box-shadow:0 0 9px rgba(255,255,255,.45)}.dot.ok{background:#fff}.dot.warning{background:#fff}.dot.critical{background:#fff}.empty{min-height:97px;padding:18px 20px;border:1px dashed rgba(255,255,255,.20);border-radius:3px;display:flex;align-items:center;gap:25px}.empty>.icon{width:51px;height:51px}.empty strong,.empty span{display:block}.empty strong{font-size:14px}.empty span{color:var(--muted);font-size:12px;margin-top:3px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metrics div{background:rgba(0,0,0,.12);border:1px solid var(--line-soft);border-radius:3px;padding:12px;min-width:0}.metrics span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.metrics strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.card footer{margin-top:auto;padding-top:17px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;color:var(--muted);font-size:11px;border-top:1px solid var(--line-soft)}.card footer time{text-align:right}.card footer a{color:#fff;text-decoration:none}.card footer a:hover{text-decoration:underline}
.runtime-panel{margin-top:20px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong);box-shadow:var(--shadow);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr 90px 1.2fr;gap:24px;align-items:center}.runtime-panel>div:first-child{display:grid;gap:6px}.runtime-panel strong{font-size:17px;overflow-wrap:anywhere}.runtime-panel span{display:flex;align-items:center;gap:8px}.runtime-panel small{color:var(--muted)}.runtime-panel .icon{width:22px;height:22px}.runtime-icon{display:grid;place-items:center;height:100%;border-left:1px solid var(--line);border-right:1px solid var(--line)}.runtime-icon .icon{width:37px;height:37px}.info{display:grid;gap:8px}.info .eyebrow{margin-bottom:4px}.page-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding-top:20px}
@media(max-width:1320px){.summary-grid{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:20px}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav a{justify-content:center}.sidebar nav a span{display:none}main{padding:28px 20px}.topbar{margin-bottom:28px}.runtime-panel{grid-template-columns:1fr}.runtime-icon{display:none}}
@media(max-width:680px){.summary-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between}.summary-card{min-height:165px}.card footer{grid-template-columns:1fr}.card footer time{text-align:left}}
@media(max-width:430px){.sidebar nav{grid-template-columns:repeat(3,1fr)}.summary-grid{grid-template-columns:1fr 1fr}.summary-card{padding:16px;min-height:150px}.summary-card strong{font-size:23px}h1{font-size:26px}.clock-wrap{font-size:12px}}

/* État de l’actualisation API */
#refresh.is-loading svg { animation: itm-spin .8s linear infinite; }
html[data-api-state="offline"] #refresh { opacity: .6; }
@keyframes itm-spin { to { transform: rotate(360deg); } }

/* Dashboard 0.5.0 */
.top-actions{gap:14px}.clock-wrap{width:225px;justify-content:flex-end;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.avatar{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);display:grid;place-items:center;flex:none}.avatar .icon{width:21px;height:21px;color:#fff}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.user-profile-form{margin:0}.user-profile{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:#fff;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.user-profile>span:last-child{display:grid;max-width:150px}.user-profile strong,.user-profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile strong{font-size:9px}.user-profile small{color:var(--muted);font-size:7px}
.system-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.mini-card,.system-card,.system-section{border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow);backdrop-filter:blur(14px);border-radius:var(--radius)}.mini-card{padding:17px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between}.mini-card span{font-size:11px;color:var(--muted)}.mini-card strong{font-size:16px}.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.system-card{padding:20px;min-width:0}.system-card h2,.system-section h2{font-size:16px;margin:0 0 16px;display:flex;align-items:center;gap:10px}.system-card h2 .icon{width:23px}.detail-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:16px;padding:9px 0;border-top:1px solid var(--line-soft)}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right;overflow-wrap:anywhere}.system-section{padding:20px;margin-bottom:18px}.module-table{overflow-x:auto}.table-head,.table-row{display:grid;grid-template-columns:80px 105px minmax(230px,1.5fr) minmax(150px,1fr) 90px minmax(180px,1fr);gap:12px;align-items:center;min-width:930px;padding:11px 8px;border-top:1px solid var(--line-soft)}.table-head{color:var(--muted);font-size:11px;text-transform:uppercase}.table-row code{color:#fff;font-family:inherit;overflow-wrap:anywhere}.status-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:10px}.status-badge.warning{opacity:.76;border-style:dashed}.status-badge.critical{opacity:.58;border-width:2px}.status-badge.ok{opacity:1}
.system-overview{padding-bottom:2px}.system-overview .system-summary{margin-bottom:18px}.system-overview .mini-card{background:rgba(0,0,0,.08);box-shadow:none}
@media(max-width:1320px){.system-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.system-summary{grid-template-columns:repeat(2,1fr)}.system-grid{grid-template-columns:1fr}.top-actions{justify-content:flex-start;flex-wrap:wrap}.clock-wrap{width:210px;justify-content:flex-start}}
@media(max-width:430px){.system-summary{grid-template-columns:1fr 1fr}.clock-wrap{width:190px}.detail-row{grid-template-columns:1fr;gap:3px}.detail-row strong{text-align:left}.avatar{width:38px;height:38px}}
@media(max-width:360px){.top-actions{gap:9px}.clock-wrap{width:100%}.system-summary{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}}

/* Habillage visuel ITM Engine. */
:root{
  --panel:rgba(0,0,0,.20);
  --panel-strong:rgba(0,0,0,.20);
  --line:rgba(255,255,255,.15);
  --line-soft:rgba(255,255,255,.12);
  --muted:rgba(255,255,255,.72);
  --shadow:0 2px 10px rgba(0,0,0,.10);
  --radius:4px
}
body{
  background:#071923 url('../images/itmengine-bg.png') center center/cover fixed no-repeat;
  color:rgba(255,255,255,.85);
  letter-spacing:.5px
}
body:before,body:after{display:none}.ambient{display:none}
.sidebar{
  background:rgba(0,0,0,.20);
  border-right:1px solid rgba(255,255,255,.12);
  box-shadow:0 2px 10px rgba(0,0,0,.10);
  backdrop-filter:none
}
.topbar{
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  background:rgba(0,0,0,.20);
  box-shadow:0 2px 10px rgba(0,0,0,.10)
}
.summary-card,.card,.runtime-panel,.mini-card,.system-card,.system-section{
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  box-shadow:0 2px 10px rgba(0,0,0,.10);
  backdrop-filter:none
}
.card:hover{border-color:rgba(255,255,255,.20);box-shadow:0 4px 14px rgba(0,0,0,.14)}
.metrics div,.system-overview .mini-card{
  background:rgba(0,0,0,.16);
  border-color:rgba(255,255,255,.12)
}
.brand-mark,.avatar,button{
  background:rgba(0,0,0,.16);
  border-color:rgba(255,255,255,.20);
  box-shadow:0 2px 10px rgba(0,0,0,.10)
}
.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.15)}

/* Palette d'état EyewayMedias/Common/UI/colors.py. */
:root{
  --status-ok:#32D76D;
  --status-warning:#FF9F0A;
  --status-critical:#FF453A;
  --status-info:#64D2FF;
  --status-unknown:#8E8E93
}
.dot{background:var(--status-unknown);box-shadow:0 0 9px rgba(142,142,147,.55)}
.dot.ok{background:var(--status-ok);box-shadow:0 0 10px rgba(50,215,109,.55)}
.dot.warning{background:var(--status-warning);box-shadow:0 0 10px rgba(255,159,10,.55)}
.dot.critical{background:var(--status-critical);box-shadow:0 0 10px rgba(255,69,58,.55)}
.dot.unknown{background:var(--status-unknown)}
.status-badge.ok{border-color:rgba(50,215,109,.55)}
.status-badge.warning{border-color:rgba(255,159,10,.65)}
.status-badge.critical{border-color:rgba(255,69,58,.65)}
.status-badge.sync{border-color:rgba(100,210,255,.65)}
.status-badge.unknown{border-color:rgba(142,142,147,.55)}
.card h2{font-weight:400}
.card footer a{color:var(--status-info)}
[data-runtime-status]{color:var(--status-ok)}
.summary-card:nth-child(1) i:after,.summary-card:nth-child(2) i:after,.summary-card:nth-child(5) i:after,.summary-card:nth-child(6) i:after{background:var(--status-ok);box-shadow:0 0 10px rgba(50,215,109,.5)}
.summary-card:nth-child(3) i:after{background:var(--status-critical);box-shadow:0 0 10px rgba(255,69,58,.5)}
.summary-alert.is-ok i:after{background:var(--status-ok);box-shadow:0 0 10px rgba(50,215,109,.5)}
.topbar{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.summary-card{min-height:150px;padding:17px 18px 16px}
.summary-card>.icon{width:24px;height:24px;margin-bottom:11px}
.summary-card strong{font-size:25px;margin-bottom:8px}
.summary-card span{font-size:13px;line-height:1.35}
.runtime-panel{color:rgba(255,255,255,.50)}
.runtime-panel strong,.runtime-panel span,.runtime-panel small,.runtime-panel .eyebrow{color:rgba(255,255,255,.50)}
.runtime-panel .icon,.runtime-icon{opacity:.50}
.module-owner{color:rgba(255,255,255,.45);font-size:10px;letter-spacing:.04em}
.page-footer{justify-content:flex-end;text-align:right;color:rgba(255,255,255,.45)}
.module-card{cursor:pointer}.module-card:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sidebar-apps{display:grid;gap:8px;margin:3px 0 5px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-app-group{display:grid;gap:2px}.sidebar-app-group h2{margin:7px 12px 2px;color:rgba(255,255,255,.38);font-size:8px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.sidebar-app-row{display:flex;align-items:center;min-width:0;border-radius:4px;transition:opacity .18s ease,background .18s ease}.sidebar-app-row>a.module-nav-link{min-width:0;flex:1;padding-top:7px;padding-bottom:7px;font-size:11px}.sidebar-app-row>a.module-nav-link .icon{width:18px;height:18px;margin-left:4px}.sidebar-app-root>a.module-nav-link{font-weight:650}.sidebar-app-row.is-hidden-app>a{opacity:.38}.sidebar-app-row.is-planned{gap:16px;margin:0 8px;padding:7px 10px;color:rgba(255,255,255,.3);font-size:10px}.sidebar-app-row.is-planned .icon{width:18px;height:18px}.sidebar-app-row.is-planned small{margin-left:auto;padding:2px 5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:6px;text-transform:uppercase}.app-visibility{position:relative;display:block;flex:0 0 27px;width:27px;height:16px;margin-right:9px;cursor:pointer}.app-visibility input{position:absolute;opacity:0;pointer-events:none}.app-visibility i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);transition:.18s ease}.app-visibility i:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.52);transition:.18s ease}.app-visibility input:checked+i{border-color:rgba(50,215,109,.52);background:rgba(50,215,109,.16)}.app-visibility input:checked+i:after{left:13px;background:#fff}.app-visibility input:focus-visible+i{outline:2px solid #fff;outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.module-card[hidden]{display:none!important}.module-drag-handle{position:absolute;z-index:5;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(2,3px);gap:2px;width:22px;height:22px;padding:6px;border:0;border-radius:50%;background:transparent;box-shadow:none;opacity:.16;cursor:grab;touch-action:none;transition:opacity .18s ease,background .18s ease}.module-drag-handle:hover,.module-drag-handle:focus-visible{opacity:.72;background:rgba(255,255,255,.08)}.module-drag-handle:active{cursor:grabbing}.module-drag-handle i{width:3px;height:3px;border-radius:50%;background:#fff}.grid.is-reordering .module-card:not(.module-card-drag-ghost){transition:transform .18s ease,opacity .18s ease,flex-basis .18s ease}.module-card.is-drag-source{display:none!important}.module-card-drag-placeholder{min-height:230px;border:1px dashed rgba(255,255,255,.72)!important;background:rgba(255,255,255,.07)!important;box-shadow:inset 0 0 24px rgba(255,255,255,.055)!important;pointer-events:none}.module-card-drag-placeholder:before{content:"Déposer ici";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.module-card-drag-ghost{position:fixed!important;z-index:5000!important;left:0;top:0;margin:0!important;min-width:0!important;pointer-events:none!important;opacity:.76;transform-origin:top left;filter:saturate(.88) brightness(1.08);box-shadow:0 24px 60px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.44)!important;will-change:transform}.module-card-drag-ghost .module-drag-handle{opacity:.75}.dashboard-dragging,.dashboard-dragging *{cursor:grabbing!important;user-select:none!important}.module-card footer{padding-right:24px}
.drawer-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.48);opacity:1;transition:opacity .24s ease}.drawer-overlay[hidden]{display:block;opacity:0;pointer-events:none}
.module-drawer{position:fixed;z-index:2001;inset:0 auto 0 0;width:clamp(360px,33.333vw,580px);padding:26px;background:rgba(3,10,20,.88);border-right:1px solid rgba(255,255,255,.18);box-shadow:12px 0 36px rgba(0,0,0,.28);backdrop-filter:blur(24px);overflow-y:auto;transform:translateX(0);visibility:visible;transition:transform .28s ease,visibility .28s ease}.module-drawer[aria-hidden="true"]{transform:translateX(-102%);visibility:hidden}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.drawer-header h2{margin:0;font-size:27px}.drawer-close{width:38px;height:38px;padding:0;justify-content:center;border-radius:50%;font-size:27px;line-height:1}.drawer-status{display:flex;align-items:center;gap:9px;padding:15px 0;color:rgba(255,255,255,.7);font-size:11px}.drawer-status time{margin-left:auto;text-align:right}.drawer-content{display:grid;gap:14px}.drawer-section{padding:16px 17px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.12);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.10)}.drawer-section h3{margin:0 0 10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.78)}.drawer-diagnostic>summary{cursor:pointer;color:rgba(255,255,255,.66);font-size:11px;font-weight:600;list-style-position:inside}.drawer-diagnostic:not([open]){padding-block:12px}.drawer-diagnostic[open]>summary{margin-bottom:8px;color:rgba(255,255,255,.82)}.drawer-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.1fr);gap:16px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}.drawer-row span{color:rgba(255,255,255,.55);font-size:12px}.drawer-row strong{text-align:right;font-size:12px;font-weight:500;overflow-wrap:anywhere}.drawer-row strong .dot{margin-right:8px}.drawer-empty{color:rgba(255,255,255,.55)}body.drawer-open{overflow:hidden}
@media(max-width:680px){.module-drawer{width:100%;padding:20px}.drawer-row{grid-template-columns:1fr;gap:3px}.drawer-row strong{text-align:left}.drawer-status{flex-wrap:wrap}.drawer-status time{width:100%;margin-left:18px;text-align:left}}
@media(prefers-reduced-motion:reduce){.module-drawer,.drawer-overlay{transition:none}}
.drawer-overlay{background:rgba(0,0,0,.40);backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity 1s ease}
.module-drawer{inset:0 0 0 auto;width:50vw;max-width:none;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14);border-right:0;border-radius:10px 0 0 10px;box-shadow:-18px 0 46px rgba(0,0,0,.38);backdrop-filter:blur(30px) saturate(1.08);-webkit-backdrop-filter:blur(30px) saturate(1.08);transform:translateX(0)}
.module-drawer[aria-hidden="true"]{transform:translateX(102%)}
.drawer-section{background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.14);box-shadow:0 2px 10px rgba(0,0,0,.12)}
@media(max-width:800px){.module-drawer{width:100%;border-left:0;border-radius:0}}
.drawer-section.is-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.drawer-section.is-compact h3{grid-column:1/-1}.drawer-section.is-compact .drawer-row{display:flex;justify-content:space-between;gap:8px}.drawer-section.is-compact .drawer-row strong{text-align:right}
.volume-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.volume-card{min-width:0;padding:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.volume-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.volume-heading h3{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}.volume-ring{width:78px;height:78px;margin:13px auto;display:grid;place-items:center;position:relative;border-radius:50%;background:conic-gradient(var(--status-ok) 0 var(--used-angle),rgba(255,255,255,.34) var(--used-angle) 360deg);box-shadow:0 0 18px rgba(50,215,109,.12)}.volume-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(3,10,20,.92);box-shadow:inset 0 0 8px rgba(0,0,0,.25)}.volume-ring strong{position:relative;z-index:1;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.volume-facts{display:grid;gap:5px}.volume-facts span{display:flex;justify-content:space-between;gap:8px;font-size:10px}.volume-facts small{color:rgba(255,255,255,.45)}.volume-facts b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.volume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.volume-grid{grid-template-columns:1fr}.drawer-section.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Marque d’état ITM : taille lisible seule, compacte dans une gélule. */
.dot{width:16px;height:16px;border-radius:0;background:var(--status-unknown);box-shadow:none;flex:none;-webkit-mask:center/contain no-repeat url('../branding/itm-engine/Logo_ItmEngine_white.png');mask:center/contain no-repeat url('../branding/itm-engine/Logo_ItmEngine_white.png')}
.dot.ok{background:var(--status-ok);box-shadow:none}
.dot.warning{background:var(--status-warning);box-shadow:none}
.dot.critical{background:var(--status-critical);box-shadow:none}
.dot.sync{background:var(--status-info);box-shadow:none;animation:itm-sync 1.8s linear infinite}
.dot.unknown{background:var(--status-unknown);box-shadow:none}
.card-head>.dot{width:18px;height:18px}.status-badge .dot{width:11px;height:11px}.drawer-status .dot{width:16px;height:16px}.drawer-row strong .dot{display:inline-block;vertical-align:-2px}.volume-heading .dot{width:16px;height:16px}
.brand-mark picture{display:grid;place-items:center;width:100%;height:100%}.brand-logo{display:block;width:38px;height:38px;object-fit:contain}
.sidebar .brand-mark{border:0;background:transparent;box-shadow:none}
@keyframes itm-sync{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.dot.sync{animation:none}}
.account-grid-title{margin:4px 0 -4px;font-size:14px;font-weight:500;color:rgba(255,255,255,.8)}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-card{min-width:0;padding:13px 14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.account-heading{display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;align-items:center;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}.account-heading .dot{width:13px;height:13px}.account-heading h4{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600}.account-folder{grid-column:1/-1;color:rgba(255,69,58,.72);font-size:9px;white-space:nowrap}.account-folder.is-present{color:rgba(50,215,109,.72)}.account-last-use{display:grid;gap:2px;padding:9px 0}.account-last-use span{color:rgba(255,255,255,.45);font-size:9px}.account-last-use strong{font-size:10px;font-weight:500}.account-last-use small{color:rgba(255,255,255,.62);font-size:10px}.account-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.account-facts span{padding:6px 3px;background:rgba(255,255,255,.045);border-radius:3px;text-align:center}.account-facts small,.account-facts b{display:block}.account-facts small{color:rgba(255,255,255,.4);font-size:8px}.account-facts b{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:1200px){.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.account-grid{grid-template-columns:1fr}}
.sftp-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sftp-summary-grid .drawer-section{padding:12px 13px}.sftp-summary-grid .drawer-section h3{margin-bottom:7px}.sftp-summary-grid .drawer-row{padding:5px 0;gap:8px}.sftp-summary-grid .drawer-row span,.sftp-summary-grid .drawer-row strong{font-size:10px}
.sftp-details-layout{display:block}.sftp-account-column{min-width:0;display:grid;gap:14px}.sftp-network-column{display:none}
.sftp-network-panel{display:grid;gap:10px}.network-group{padding:13px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.network-group h3{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;margin:0 0 9px;font-size:11px;font-weight:500}.network-group h3 .dot{width:13px;height:13px}.network-group h3 b{display:grid;place-items:center;min-width:21px;height:21px;border-radius:11px;background:rgba(255,255,255,.08);font-size:10px}.network-group>p{margin:0;padding:9px;color:rgba(255,255,255,.42);font-size:10px;text-align:center}.network-ip-card{display:grid;gap:2px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}.network-ip-card strong{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.network-ip-card span{color:rgba(255,255,255,.62);font-size:9px}.network-ip-card small{color:rgba(255,255,255,.38);font-size:8px}
@media(max-width:800px){.sftp-summary-grid{grid-template-columns:1fr}}
.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-live{display:flex;justify-content:space-between;gap:8px;padding:7px 0 2px;color:rgba(255,255,255,.42);font-size:9px}.account-live strong{font-weight:500;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}.account-live.is-connected span,.account-live.is-connected strong{color:var(--status-ok)}
.account-card.is-folder-missing{background:rgba(0,0,0,.40);border-color:rgba(255,255,255,.07);box-shadow:none;opacity:.58}
.account-card.is-connected{background:rgba(50,215,109,.09);border-color:rgba(50,215,109,.32);box-shadow:0 2px 12px rgba(50,215,109,.10)}
.network-grid-title{margin:4px 0 10px;font-size:14px;font-weight:500;color:rgba(255,255,255,.8)}.network-group{max-height:calc(50vh - 40px);overflow-y:auto}.network-group h3{position:sticky;top:-13px;z-index:1;padding:10px 0;background:rgba(4,10,18,.96)}
@media(max-width:680px){.account-grid{grid-template-columns:1fr}}
.sftp-storage-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px 16px;align-items:center;padding:13px 15px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.sftp-storage-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.sftp-storage-heading h3{margin:0;font-size:12px;font-weight:500}.sftp-storage-heading .dot{width:14px;height:14px}.sftp-storage-ring{width:78px;height:78px;position:relative;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--status-ok) 0 var(--used-angle),rgba(255,255,255,.32) var(--used-angle) 360deg);box-shadow:0 0 18px rgba(50,215,109,.12)}.sftp-storage-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(3,10,20,.94)}.sftp-storage-ring strong{position:relative;z-index:1;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.sftp-storage-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sftp-storage-stats span{padding:7px 8px;background:rgba(255,255,255,.04);border-radius:3px}.sftp-storage-stats small,.sftp-storage-stats b{display:block}.sftp-storage-stats small{color:rgba(255,255,255,.4);font-size:8px}.sftp-storage-stats b{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:500}
.account-weight{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:7px 0}.account-weight>span{color:rgba(255,255,255,.45);font-size:9px}.account-weight>strong{font-size:10px;font-weight:500}.account-weight-track{grid-column:1/-1;height:4px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.14)}.account-weight-track i{display:block;height:100%;min-width:2px;border-radius:2px;background:var(--status-info);box-shadow:0 0 8px rgba(100,210,255,.34)}.account-weight>small{grid-column:1/-1;color:rgba(255,255,255,.38);font-size:8px}.account-weight.is-pending .account-weight-track{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 5px,transparent 5px 9px)}.account-weight.is-pending .account-weight-track i{display:none}.account-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.sftp-storage-card{grid-template-columns:1fr}.sftp-storage-heading{grid-column:1}.sftp-storage-ring{margin:auto}.sftp-storage-stats{grid-template-columns:1fr 1fr}}
.account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-toolbar .account-grid-title{margin:0}.account-sort{display:flex;align-items:center;gap:5px}.account-sort button{padding:5px 8px;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.14);box-shadow:none;color:rgba(255,255,255,.48);font-size:9px}.account-sort button:hover{background:rgba(255,255,255,.07);color:#fff}.account-sort button.is-active{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.10);color:#fff}.account-sort button:focus-visible{outline:1px solid #fff;outline-offset:2px}
@media(max-width:480px){.account-toolbar{align-items:flex-start;flex-direction:column}.account-sort{width:100%}.account-sort button{flex:1;justify-content:center}}
.account-compact-details{display:grid;grid-template-columns:minmax(118px,1.35fr) minmax(92px,1fr) minmax(76px,.8fr);gap:10px;align-items:center;padding-top:5px;border-top:1px solid rgba(255,255,255,.06)}.account-compact-details .account-last-use,.account-compact-details .account-weight{padding:3px 0}.account-compact-details .account-last-use strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-compact-details .account-facts{gap:3px}.account-compact-details .account-facts span{padding:5px 2px}.account-compact-details .account-weight>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.account-compact-details{grid-template-columns:1fr 1fr}.account-compact-details .account-last-use{grid-column:1/-1}.account-compact-details .account-facts{align-self:stretch}}

/* Capsule commune pour chaque association pictogramme + libellé de statut. */
.status-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.82);font-size:10px;font-weight:500;line-height:1;white-space:nowrap;opacity:1}
.status-badge.ok{border-color:rgba(50,215,109,.62)}
.status-badge.warning{border-color:rgba(255,159,10,.68);border-style:solid;opacity:1}
.status-badge.critical{border-color:rgba(255,69,58,.68);border-width:1px;opacity:1}
.status-badge.sync{border-color:rgba(100,210,255,.68)}
.status-badge.unknown{border-color:rgba(142,142,147,.58)}
.status-badge.info{border-color:rgba(100,210,255,.62)}
.status-badge.info .dot,.dot.info{background:#64d2ff;box-shadow:0 0 8px rgba(100,210,255,.4)}
.company-marker{display:inline-flex;align-items:center;gap:6px;width:max-content;color:rgba(255,255,255,.72);font-size:9px;font-weight:600}
.company-marker:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%}
.company-marker.company-eyeway{color:#c3adff}.company-marker.company-eyeway:before{background:#9b74ff;box-shadow:0 0 7px rgba(155,116,255,.42)}
.company-marker.company-eliote{color:#91c8ff}.company-marker.company-eliote:before{background:#56a8ff;box-shadow:0 0 7px rgba(86,168,255,.42)}
.company-marker.company-unknown:before{background:#8e8e93}
.drawer-status time{margin-left:auto}
.drawer-row strong .status-badge{margin-left:auto;color:rgba(255,255,255,.82);font-size:10px}
.module-status-group{display:flex;align-items:flex-start;justify-content:flex-end;gap:6px;min-width:0;max-width:72%}.module-notices{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.module-notices:empty{display:none}.module-notices .status-badge{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:9px}
.module-status-badge{align-self:flex-start;flex:none;padding:6px 10px;font-size:9px}.card-head>.module-status-badge .dot{width:13px;height:13px}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collection-card{min-width:0;padding:15px;background:rgba(0,0,0,.16);border:1px solid var(--line-soft);border-radius:4px}.collection-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.collection-card header>strong{font-size:12px;letter-spacing:.06em}.collection-card .detail-row{grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:10px;padding:6px 0;font-size:10px}.collection-legacy{margin:12px 0 0;color:rgba(255,255,255,.5);font-size:10px}.collection-section>.icon{width:20px}@media(max-width:1100px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.collection-grid{grid-template-columns:1fr}}
.detail-row strong>.status-badge{margin-left:auto}.mini-card strong>.status-badge{font-size:10px}@media(max-width:680px){.module-status-group{max-width:64%;flex-wrap:wrap}.module-notices{order:2;width:100%}}
.sftp-trend-panel{padding:13px 15px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.14);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.sftp-trend-panel>h3{margin:0 0 9px;font-size:12px;font-weight:500}.sftp-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sftp-trend-card{position:relative;overflow:hidden;padding:10px 11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:3px}.sftp-trend-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:rgba(255,255,255,.35)}.sftp-trend-card.is-positive:before{background:var(--status-ok)}.sftp-trend-card.is-negative:before{background:var(--status-info)}.sftp-trend-card>span,.sftp-trend-card>strong,.sftp-trend-card>small{display:block}.sftp-trend-card>span{color:rgba(255,255,255,.48);font-size:9px}.sftp-trend-card>strong{margin-top:2px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.sftp-trend-card>small{margin-top:3px;color:rgba(255,255,255,.38);font-size:8px}.sftp-trend-card.is-unavailable{opacity:.56}.sftp-trend-card.is-positive>strong{color:var(--status-ok)}.sftp-trend-card.is-negative>strong{color:var(--status-info)}
.account-size-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.06)}.account-size-trends>span{min-width:0;padding:5px 6px;background:rgba(255,255,255,.035);border-radius:3px}.account-size-trends small,.account-size-trends b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-size-trends small{color:rgba(255,255,255,.38);font-size:8px}.account-size-trends b{margin-top:1px;font-size:9px;font-weight:500;font-variant-numeric:tabular-nums}.account-size-trends .is-positive b{color:var(--status-ok)}.account-size-trends .is-negative b{color:var(--status-info)}.account-size-trends .is-unavailable{opacity:.5}@media(max-width:560px){.sftp-trend-grid{grid-template-columns:1fr}.account-size-trends{grid-template-columns:1fr 1fr}.account-size-trends .is-change-date{grid-column:1/-1}}
.security-dashboard{display:grid;gap:14px}.security-chart{padding:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:4px}.security-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.security-chart-heading h3{margin:0;font-size:13px;font-weight:500}.security-chart-heading small{color:rgba(255,255,255,.38);font-size:8px;text-align:right}.security-chart-bars{height:150px;margin-top:15px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.security-bar{height:100%;display:grid;grid-template-rows:18px 1fr 28px;gap:5px;text-align:center}.security-bar>strong{font-size:12px;font-variant-numeric:tabular-nums}.security-bar>i{position:relative;display:block;overflow:hidden;border-radius:3px 3px 0 0;background:rgba(255,255,255,.06)}.security-bar>i>b{position:absolute;inset:auto 0 0;background:var(--status-unknown);opacity:.76}.security-bar.ok>i>b{background:var(--status-ok)}.security-bar.warning>i>b{background:var(--status-warning)}.security-bar.critical>i>b{background:var(--status-critical)}.security-bar.sync>i>b{background:var(--status-info)}.security-bar>span{align-self:start;color:rgba(255,255,255,.48);font-size:8px}.security-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.security-filters,.security-sorts{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.security-toolbar button{padding:5px 8px;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.14);box-shadow:none;color:rgba(255,255,255,.5);font-size:9px}.security-toolbar button.is-active{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.10);color:#fff}.security-ip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.security-ip-card{min-width:0;padding:11px 12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);border-radius:4px}.security-ip-card.connected{background:rgba(50,215,109,.06);border-color:rgba(50,215,109,.22)}.security-ip-card.banned{background:rgba(255,69,58,.045);border-color:rgba(255,69,58,.20)}.security-ip-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.security-ip-card>div>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-variant-numeric:tabular-nums}.security-ip-card>span,.security-ip-card>small{display:block;margin-top:5px;color:rgba(255,255,255,.55);font-size:9px}.security-ip-card>small{color:rgba(255,255,255,.35);font-size:8px}.security-empty{grid-column:1/-1;margin:0;padding:24px;text-align:center;color:rgba(255,255,255,.42);border:1px dashed rgba(255,255,255,.12);border-radius:4px}@media(max-width:620px){.security-ip-list{grid-template-columns:1fr}.security-chart-heading{display:block}.security-chart-heading small{display:block;margin-top:3px;text-align:left}.security-toolbar{align-items:flex-start;flex-direction:column}}
.security-chart-legend{display:flex;align-items:center;gap:14px;margin-top:12px;color:rgba(255,255,255,.54);font-size:9px}.security-chart-legend span{display:flex;align-items:center;gap:6px}.security-chart-legend i{width:18px;height:2px;border-radius:2px;background:var(--status-unknown);box-shadow:0 0 7px currentColor}.security-chart-legend .connected i{background:var(--status-ok)}.security-chart-legend .unrecognized i{background:var(--status-warning)}.security-chart-legend .attempts i{background:var(--status-info)}.security-line-chart{width:100%;margin-top:8px;overflow:hidden}.security-line-chart svg{display:block;width:100%;height:auto;min-height:190px}.chart-grid-line{stroke:rgba(255,255,255,.10);stroke-width:1;stroke-dasharray:3 5}.chart-axis-label,.chart-time-label{fill:rgba(255,255,255,.36);font-size:9px;font-family:inherit;font-variant-numeric:tabular-nums}.chart-series{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,255,255,.18))}.chart-series.connected{stroke:var(--status-ok)}.chart-series.unrecognized{stroke:var(--status-warning)}.chart-series.attempts{stroke:var(--status-info)}.chart-point{stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke;fill-opacity:.22}.chart-point.connected{color:var(--status-ok);fill:var(--status-ok)}.chart-point.unrecognized{color:var(--status-warning);fill:var(--status-warning)}.chart-point.attempts{color:var(--status-info);fill:var(--status-info)}
#refresh{width:94px;height:30px;justify-content:center;padding:7px 10px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:rgba(255,255,255,.07);box-shadow:0 2px 10px rgba(0,0,0,.12);color:#fff;font-size:10px;font-weight:500;line-height:1;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}#refresh .icon{width:13px;height:13px}#refresh:hover{background:rgba(255,255,255,.14);border-color:#fff;box-shadow:0 0 12px rgba(255,255,255,.10)}#refresh:focus-visible{outline:1px solid #fff;outline-offset:3px}
.title-actions{display:flex;align-items:center;gap:14px}.title-actions h1{flex:none}@media(max-width:560px){.title-actions{align-items:flex-start;flex-direction:column;gap:10px}}
.service-trend-panel,.adobe-trend-panel{padding:14px 15px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.14);border-radius:4px}.service-trend-panel>h3,.adobe-trend-panel>h3{margin:0 0 10px;font-size:12px;font-weight:500}.service-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-period-card{min-width:0;padding:11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:3px}.service-period-card.is-unavailable{opacity:.55}.service-period-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-period-card>div:first-child span{color:rgba(255,255,255,.48);font-size:9px}.service-period-card>div:first-child strong{font-size:13px;font-variant-numeric:tabular-nums}.service-trend-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px}.service-trend-facts>span{min-width:0;padding:5px;background:rgba(0,0,0,.14);border-radius:3px}.service-trend-facts small,.service-trend-facts b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-trend-facts small{color:rgba(255,255,255,.38);font-size:7px}.service-trend-facts b{margin-top:1px;font-size:8px;font-weight:500;font-variant-numeric:tabular-nums}.itm-active-incident{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-bottom:9px;padding:8px 9px;background:rgba(255,159,10,.06);border:1px solid rgba(255,159,10,.18);border-radius:3px}.itm-active-incident>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:500}.itm-active-incident>small{color:rgba(255,255,255,.42);font-size:8px}.adobe-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.adobe-trend-grid>span{padding:9px;background:rgba(255,255,255,.035);border-radius:3px}.adobe-trend-grid small,.adobe-trend-grid strong{display:block}.adobe-trend-grid small{color:rgba(255,255,255,.4);font-size:8px}.adobe-trend-grid strong{margin-top:2px;font-size:11px;font-variant-numeric:tabular-nums}.adobe-trend-grid .is-positive strong{color:var(--status-ok)}.adobe-trend-grid .is-negative strong{color:var(--status-info)}.adobe-trend-grid .is-unavailable{opacity:.5}.adobe-trend-source{display:block;margin-top:7px;color:rgba(255,255,255,.3);font-size:7px}@media(max-width:560px){.service-period-grid,.adobe-trend-grid{grid-template-columns:1fr}.itm-active-incident{grid-template-columns:1fr}.service-trend-facts{grid-template-columns:1fr 1fr}}
.module-card .metrics{display:flex;grid-template-columns:none;flex-wrap:nowrap;width:100%;gap:8px}.module-card .metrics>div{flex:1 1 auto;min-width:0;padding-left:clamp(8px,1vw,12px);padding-right:clamp(8px,1vw,12px)}.module-card .metrics>div:only-child{flex-basis:100%}.module-card .metrics span,.module-card .metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:430px){.module-card .metrics{gap:5px}.module-card .metrics>div{padding:9px 6px}.module-card .metrics span{font-size:8px}.module-card .metrics strong{font-size:11px}}
.module-card .card-head{min-height:68px;align-items:flex-start}.module-card .module-title{min-width:0;flex:1}.module-card .module-title>div{min-width:0}.module-card .module-code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2}.module-card h2{max-width:100%;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.72);font-size:11px;font-weight:400}.module-status-group{flex:none;flex-wrap:nowrap;max-width:58%;overflow:hidden}.module-notices{min-width:0;flex-wrap:nowrap;overflow:hidden}.module-notices .status-badge{min-width:0;max-width:145px;overflow:hidden}.module-notices .status-badge>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-status-badge{position:relative;z-index:1;flex:none}.module-card .metrics{margin-top:0}@media(max-width:1200px){.module-status-group{max-width:54%}.module-notices .status-badge{max-width:112px}}@media(max-width:680px){.module-card .card-head{min-height:64px}.module-status-group{max-width:56%;flex-wrap:nowrap}.module-notices{order:initial;width:auto}.module-notices .status-badge{max-width:105px}}

/* Vue téléphone : densité proche d’une application iOS, libellés de navigation visibles. */
@media(max-width:560px){
  .shell{display:block;min-height:100vh}
  .sidebar{position:relative;height:auto;padding:12px 10px 10px;background:rgba(0,11,25,.78);box-shadow:0 5px 18px rgba(0,0,0,.14)}
  .brand{margin:0 2px 10px;gap:9px}.brand-mark{width:38px;height:38px;border-radius:6px}.brand-logo{width:26px;height:26px}.brand strong{font-size:13px}.brand small{margin-top:0;font-size:9px}
  .sidebar nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,auto);grid-template-columns:none;gap:6px;overflow-x:auto;padding:1px 1px 7px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sidebar nav::-webkit-scrollbar{display:none}
  .sidebar nav a{min-height:44px;padding:7px 9px;justify-content:flex-start;gap:7px;border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:8px;font-size:9px;line-height:1.1;white-space:nowrap;scroll-snap-align:start}.sidebar nav a.active{background:rgba(255,255,255,.10);box-shadow:inset 0 -2px #fff}.sidebar nav a .icon{width:16px;height:16px}.sidebar nav a span{display:block;max-width:82px;overflow:hidden;text-overflow:ellipsis}
  main{padding:14px 10px 12px}.topbar{align-items:flex-start;flex-direction:row;gap:8px;margin-bottom:14px}.topbar>.eyebrow{display:none}.topbar>div:first-child{min-width:0;flex:1}.topbar .eyebrow{margin-bottom:2px;font-size:8px}.title-actions{min-width:0;align-items:center;flex-direction:row;gap:8px}.title-actions h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px}#refresh{width:82px;height:28px;padding:6px 8px;font-size:9px}#refresh .icon{width:12px;height:12px}
  .top-actions{width:auto;flex:none;gap:7px}.clock-wrap{display:none}.avatar{width:34px;height:34px}.avatar .icon{width:17px;height:17px}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.summary-card{min-height:112px;padding:11px;border-radius:6px}.summary-card>.icon{width:19px;height:19px;margin-bottom:8px}.summary-card strong{margin-bottom:6px;font-size:19px}.summary-card span{font-size:10px;line-height:1.25}
  .grid{grid-template-columns:1fr;gap:8px}.card{min-height:0;padding:12px;border-radius:6px}.module-card .card-head{min-height:48px}.module-title{gap:9px}.module-title>.icon{width:25px;height:25px}.module-card .module-code{font-size:12px}.module-card h2{margin-top:1px;font-size:9px}.module-status-group{max-width:58%;gap:4px}.status-badge,.module-status-badge{padding:5px 7px;font-size:8px}.status-badge .dot,.drawer-status .dot,.card-head>.module-status-badge .dot{width:10px;height:10px}.module-notices .status-badge{max-width:90px}
  .module-card .metrics{gap:4px}.module-card .metrics>div{padding:8px 6px}.module-card .metrics span{margin-bottom:2px;font-size:7px}.module-card .metrics strong{font-size:10px}.card footer{display:flex;align-items:center;min-height:30px;margin-top:9px;padding-top:8px;gap:7px;font-size:8px}.card footer time{margin-left:auto;text-align:right}.module-owner{font-size:7px}
  .runtime-panel{margin-top:9px;padding:12px;gap:8px}.runtime-panel strong{font-size:12px}.runtime-panel span,.runtime-panel small{font-size:8px}.page-footer{padding-top:9px;font-size:8px}
  .module-drawer{width:100%;padding:14px 12px;border-radius:0}.drawer-header{padding-bottom:10px}.drawer-header h2{font-size:20px}.drawer-close{width:36px;height:36px}.drawer-status{padding:9px 0}.drawer-content{gap:8px}.drawer-section{padding:11px}.drawer-row{padding:6px 0}.drawer-row span,.drawer-row strong{font-size:9px}
  .sftp-summary-grid{gap:6px}.account-grid{gap:7px}.account-card{padding:10px}.security-chart{padding:11px}.security-line-chart svg{min-height:150px}.security-ip-list{gap:6px}
}
.disk-trend-panel,.net-trend-panel{padding:14px 15px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.14);border-radius:4px}.disk-trend-panel>h3,.net-trend-header h3{margin:0;font-size:12px;font-weight:500}.disk-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.disk-trend-card{padding:10px 11px;border-left:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.035);border-radius:3px}.disk-trend-card.is-positive{border-left-color:var(--status-ok)}.disk-trend-card.is-negative{border-left-color:var(--status-info)}.disk-trend-card.is-unavailable{opacity:.52}.disk-trend-card>span,.disk-trend-card>strong,.disk-trend-card>small{display:block}.disk-trend-card>span{color:rgba(255,255,255,.45);font-size:9px}.disk-trend-card>strong{margin-top:2px;font-size:13px;font-variant-numeric:tabular-nums}.disk-trend-card>small{margin-top:3px;color:rgba(255,255,255,.38);font-size:8px}.disk-trend-card.is-positive>strong{color:var(--status-ok)}.disk-trend-card.is-negative>strong{color:var(--status-info)}.volume-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}.volume-trends>span{min-width:0;padding:5px;background:rgba(255,255,255,.035);border-radius:3px}.volume-trends small,.volume-trends b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.volume-trends small{color:rgba(255,255,255,.4);font-size:8px}.volume-trends b{margin-top:1px;font-size:8px;font-weight:500;font-variant-numeric:tabular-nums}.volume-trends .is-positive b{color:var(--status-ok)}.volume-trends .is-negative b{color:var(--status-info)}.volume-trends .is-unavailable{opacity:.48}
.net-trend-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.net-trend-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.net-trend-overview>span{padding:8px;background:rgba(255,255,255,.04);border-radius:3px}.net-trend-overview small,.net-trend-overview strong{display:block}.net-trend-overview small{color:rgba(255,255,255,.4);font-size:8px}.net-trend-overview strong{margin-top:2px;font-size:12px;font-variant-numeric:tabular-nums}.net-trend-panel>p{margin:9px 0;color:rgba(255,255,255,.42);font-size:9px}.net-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.net-stat-card{min-width:0;padding:8px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:3px}.net-stat-card.is-partial{opacity:.55}.net-stat-card>strong{display:block;margin-bottom:5px;font-size:9px;font-weight:500}.net-stat-card>span{display:flex;justify-content:space-between;gap:4px;padding:3px 0;border-top:1px solid rgba(255,255,255,.06)}.net-stat-card small{color:rgba(255,255,255,.38);font-size:7px}.net-stat-card b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;font-weight:500;font-variant-numeric:tabular-nums}@media(max-width:900px){.net-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.disk-trend-grid,.net-trend-overview{grid-template-columns:1fr}.net-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.volume-trends{grid-template-columns:1fr 1fr}}
.volume-trends>span:first-child.is-positive b{color:#32d76d;text-shadow:0 0 6px rgba(50,215,109,.9),0 0 14px rgba(50,215,109,.5)}

/* Drawer Adobe partagé entre la vue d’ensemble et la page Adobe. */
.adobe-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.adobe-summary-card{min-width:0;padding:12px 13px}.adobe-summary-card h3{min-height:28px;margin-bottom:5px;font-size:11px}.adobe-summary-card .drawer-row{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 0}.adobe-summary-card .drawer-row span,.adobe-summary-card .drawer-row strong{min-width:0;font-size:9px}.adobe-summary-card .drawer-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adobe-summary-card .drawer-row strong{text-align:right;white-space:nowrap}.adobe-accounts-panel{padding:14px 15px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.14);border-radius:4px}.adobe-accounts-panel>h3{margin:0 0 10px;font-size:12px;font-weight:500}.adobe-account-group+.adobe-account-group{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09)}.adobe-account-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.adobe-account-heading h4{margin:0;font-size:10px;font-weight:500;color:rgba(255,255,255,.72)}.adobe-account-heading span{min-width:24px;padding:3px 7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;text-align:center;font-size:8px}.adobe-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.adobe-account-card{min-width:0;padding:9px 10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:4px}.adobe-account-card.is-disabled{opacity:.48}.adobe-account-card>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550}.adobe-account-contact{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:2px}.adobe-account-contact>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.46);font-size:8px}.adobe-account-contact>a{flex:none;color:rgba(255,255,255,.72);font-size:7px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}.adobe-account-contact>a:hover{color:#fff;border-color:#fff}.adobe-account-card>div:not(.adobe-account-contact){display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07)}.adobe-account-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.58);font-size:8px}.adobe-account-state{display:inline-flex!important;flex:none;gap:5px!important;margin:0!important;padding:4px 7px!important;color:rgba(255,255,255,.82)!important;font-size:7px!important}.adobe-account-state .dot{width:9px!important;height:9px!important}.adobe-account-group.is-admin .adobe-account-card{background:rgba(255,255,255,.025);border-style:dashed}.adobe-accounts-empty{margin:0;color:rgba(255,255,255,.42);font-size:9px}
@media(max-width:680px){.adobe-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.adobe-summary-card{padding:9px 7px}.adobe-summary-card h3{min-height:24px;font-size:9px}.adobe-summary-card .drawer-row{display:block;padding:3px 0}.adobe-summary-card .drawer-row span,.adobe-summary-card .drawer-row strong{display:block;font-size:8px;text-align:left}.adobe-summary-card .status-badge{display:inline-flex!important}.adobe-account-grid{grid-template-columns:1fr}}

/* Cohérence, filtres Adobe et retours accessibles. */
.status-badge.neutral{opacity:.76;border-color:rgba(255,255,255,.34)}.dot.neutral{background:#fff;box-shadow:0 0 8px rgba(255,255,255,.28)}
.adobe-account-controls{display:flex;align-items:center;gap:7px;margin-bottom:12px}.adobe-account-controls input{min-width:0;flex:1;height:30px;padding:0 9px;color:#fff;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.15);border-radius:4px;font:inherit;font-size:9px}.adobe-account-filters{display:flex;gap:4px}.adobe-account-filters button{min-height:30px;padding:4px 8px;border-radius:999px;box-shadow:none;font-size:8px}.adobe-account-filters button.is-active{color:#fff;border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.12)}.adobe-copy-feedback{min-height:14px;margin:-5px 0 6px;color:rgba(255,255,255,.55);font-size:8px}
@media(max-width:430px){.adobe-account-controls{align-items:stretch;flex-direction:column}.adobe-account-filters{overflow-x:auto}.adobe-account-filters button{min-height:34px}.adobe-account-card{padding:8px}.module-drawer{padding-left:10px;padding-right:10px}}
@media(max-width:375px){main{padding-left:8px;padding-right:8px}.sidebar{padding-left:9px;padding-right:9px}.adobe-summary-card{padding-left:5px;padding-right:5px}.adobe-account-contact{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:320px){body{min-width:0}.summary-grid{grid-template-columns:1fr 1fr}.sidebar nav{grid-auto-columns:minmax(82px,auto)}.module-status-group{max-width:54%}.module-notices .status-badge{max-width:76px}}

/* Navigation plateforme : hiérarchie commune, native au clavier et sans fausse route. */
.sidebar nav[aria-label="Navigation principale"]{display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
.sidebar-nav-entry,.sidebar-nav-group>summary{display:flex;align-items:center;gap:10px;min-height:40px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:6px;color:#fff;font-size:11px;text-decoration:none;text-align:left;cursor:pointer}
.sidebar-nav-entry .icon,.sidebar-nav-group>summary>.icon:first-child{width:18px;height:18px}
.sidebar-nav-entry:hover,.sidebar-nav-entry.active,.sidebar-nav-group>summary:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.06)}
.sidebar-nav-entry.active{box-shadow:inset 2px 0 #fff}
.sidebar-nav-entry:focus-visible,.sidebar-nav-group>summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sidebar-nav-group{min-width:0}.sidebar-nav-group>summary{list-style:none}.sidebar-nav-group>summary::-webkit-details-marker{display:none}
.sidebar-nav-group>summary span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-nav-chevron{width:13px!important;height:13px!important;opacity:.45;transition:transform .18s ease}
.sidebar-nav-group[open]>summary .sidebar-nav-chevron{transform:rotate(90deg)}
.sidebar-nav-group>div{display:grid;gap:2px;margin:2px 0 5px;padding-left:14px;border-left:1px solid rgba(255,255,255,.08)}
.sidebar-nav-subgroup>div{display:grid;grid-template-rows:0fr;max-height:0;overflow:hidden;transition:grid-template-rows .42s cubic-bezier(.2,.8,.2,1),max-height .42s cubic-bezier(.2,.8,.2,1),opacity .28s ease,transform .42s ease;opacity:0;transform:translateX(12px)}
.sidebar-nav-subgroup[open]>div{grid-template-rows:1fr;max-height:260px;opacity:1;transform:translateX(0)}
.sidebar-nav-subgroup>div>*{min-height:0}
.sidebar-nav-subgroup>summary .sidebar-nav-chevron{transition:transform .32s cubic-bezier(.2,.8,.2,1),color .2s ease}
.sidebar-nav-subgroup[open]>summary .sidebar-nav-chevron{color:#63d8e7;transform:rotate(90deg)}
.sidebar-nav-subgroup:hover>div{display:grid!important;grid-template-rows:1fr;max-height:260px;opacity:1;transform:translateX(0)}
.sidebar-nav-subgroup:hover>summary .sidebar-nav-chevron{color:#63d8e7;transform:rotate(90deg)}
.sidebar-nav-subgroup.is-hover-open>div{display:grid!important;grid-template-rows:1fr;max-height:260px;opacity:1;transform:translateX(0)}
.sidebar-nav-subgroup.is-hover-open>summary .sidebar-nav-chevron{color:#63d8e7;transform:rotate(90deg)}
.sidebar-nav-entry.is-child{min-height:34px;padding:6px 8px;font-size:10px}
.sidebar-nav-entry.is-planned{cursor:not-allowed;color:rgba(255,255,255,.42)}
.sidebar-nav-entry.is-planned small{margin-left:auto;padding:2px 5px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:6px;letter-spacing:.05em;text-transform:uppercase}
.sidebar-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;margin-left:auto;padding:0 6px;border:1px solid rgba(129,227,144,.5);border-radius:999px;background:rgba(129,227,144,.16);color:#81e390;font-size:9px;font-weight:800;line-height:1;flex:none}
.sidebar-nav-badge[hidden]{display:none!important}
.sidebar-nav-attention-total{border-color:rgba(255,185,86,.5);background:rgba(255,159,41,.15);color:#ffc270}
.resource-task-nav-badge{border-color:rgba(137,188,236,.42);background:rgba(91,153,211,.16);color:#b9dcfb}
.resource-task-strip{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;margin:0 0 10px;padding:7px 12px;border-color:rgba(117,166,211,.25);background:linear-gradient(90deg,rgba(44,91,132,.18),rgba(39,64,96,.12));color:#e8f2fb;text-decoration:none;box-shadow:none}.resource-task-strip[hidden]{display:none}.resource-task-strip:hover{border-color:rgba(146,197,240,.48);background:linear-gradient(90deg,rgba(48,103,151,.26),rgba(43,70,104,.18))}.resource-task-strip:focus-visible{outline:2px solid #a9d8ff;outline-offset:2px}.resource-task-strip-icon{display:grid;width:22px;height:22px;place-items:center;color:#9fd3ff}.resource-task-strip-icon .icon{width:15px;height:15px}.resource-task-strip-copy{display:flex;min-width:0;align-items:baseline;gap:9px}.resource-task-strip-copy strong{font-size:10px}.resource-task-strip-copy small{overflow:hidden;color:#94abc0;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.resource-task-strip-action{padding:4px 8px;border:1px solid rgba(151,204,247,.32);border-radius:999px;color:#cce8ff;font-size:8px;font-weight:750}.resource-task-source-state{margin:-3px 0 8px;color:#8fa2b5;font-size:8px}.resource-task-source-state[hidden]{display:none}
.sidebar-app-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}
.sidebar-app-row>.sidebar-nav-entry{min-width:0}
.sidebar-visibility-toggle{display:grid;place-items:center;width:28px;height:28px;cursor:pointer}
.sidebar-visibility-toggle input{position:absolute;opacity:0;pointer-events:none}
.sidebar-visibility-toggle i{width:20px;height:12px;border:1px solid var(--line);border-radius:999px;position:relative;background:rgba(255,255,255,.05);transition:.18s ease}
.sidebar-visibility-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.65);transition:.18s ease}
.sidebar-visibility-toggle input:checked+i{border-color:rgba(47,211,125,.62);background:rgba(47,211,125,.1)}
.sidebar-visibility-toggle input:checked+i:after{left:10px;background:var(--ok)}
.sidebar-visibility-toggle input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.collection-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:2px 0 12px}.collection-admin-head h1,.collection-admin-head p{margin:0}.collection-admin-head h1{margin-top:2px;font-size:20px}.collection-admin-head p:not(.eyebrow){margin-top:5px;color:var(--muted);font-size:9px}.collection-admin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin-bottom:12px}.collection-admin-panel{padding:13px}.collection-admin-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px}.collection-admin-toolbar h2,.collection-admin-toolbar p{margin:0}.collection-admin-toolbar h2{font-size:14px}.collection-admin-toolbar p{margin-top:3px;color:var(--muted);font-size:8px}.collection-admin-filters{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.collection-admin-filters input,.collection-admin-filters select{height:31px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:rgba(0,0,0,.24);color:#fff;font:inherit;font-size:8px;color-scheme:dark}.collection-admin-filters input{width:190px}.collection-admin-filters button{min-height:31px;padding:5px 9px;box-shadow:none;font-size:8px}.collection-admin-filters select:disabled{opacity:.48}.collection-admin-table .engine-table-head,.collection-admin-table .engine-table-row{grid-template-columns:minmax(145px,1.1fr) minmax(125px,.9fr) 92px minmax(125px,.9fr) 115px 95px 115px 105px 82px;min-width:1100px}.collection-admin-row{border-top:1px solid var(--line-soft)}.collection-admin-row:first-child{border-top:0}.collection-admin-row[hidden]{display:none}.collection-admin-row>summary{list-style:none;border-top:0;cursor:pointer}.collection-admin-row>summary::-webkit-details-marker{display:none}.collection-admin-row>summary>span:first-child,.collection-admin-row>summary>span:nth-child(2){display:grid;gap:2px}.collection-admin-row>summary>span:first-child strong,.collection-admin-row>summary>span:nth-child(2) strong{font-size:10px}.collection-admin-row>summary>span:first-child small,.collection-admin-row>summary>span:nth-child(2) small{color:var(--muted);font-size:7px}.collection-admin-row>summary>button{min-height:27px;padding:4px 7px;box-shadow:none;font-size:7px}.collection-admin-row>summary>button:disabled{cursor:not-allowed;opacity:.44}.collection-admin-row>summary:focus-visible{outline:2px solid #fff;outline-offset:-3px}.collection-admin-details{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 13px 11px}.collection-admin-details>div{padding:8px;border:1px solid var(--line-soft);border-radius:4px;background:rgba(0,0,0,.12)}.collection-admin-details span{display:block;color:var(--muted);font-size:7px}.collection-admin-details strong{display:block;margin-top:3px;font-size:9px}.collection-admin-details p{grid-column:1/-1;margin:0;color:var(--muted);font-size:8px}.collection-admin-empty{margin:0;padding:22px;color:var(--muted);font-size:9px;text-align:center}.muted-value{color:var(--muted)}@media(max-width:1050px){.collection-admin-toolbar{align-items:flex-start;flex-direction:column}.collection-admin-filters{justify-content:flex-start;width:100%}}@media(max-width:680px){.collection-admin-head{align-items:flex-start;flex-direction:column}.collection-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-admin-filters{display:grid;grid-template-columns:1fr 1fr}.collection-admin-filters label:first-child{grid-column:1/-1}.collection-admin-filters input{width:100%}.collection-admin-details{grid-template-columns:1fr 1fr}}@media(max-width:430px){.collection-admin-summary,.collection-admin-filters,.collection-admin-details{grid-template-columns:1fr}.collection-admin-filters label:first-child{grid-column:auto}}
.sidebar nav .sidebar-alert-link.sidebar-nav-entry{min-height:40px;padding:8px 10px;border-radius:6px;font-size:11px}
.sidebar-company-group{display:grid;gap:2px;padding:8px 0 4px}.sidebar-company-group>h2{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0 10px 7px;color:rgba(255,255,255,.72);background:transparent;font-size:8px;font-weight:700;letter-spacing:.06em;transition:color .18s ease}.sidebar-company-group>h2::after{content:"";position:absolute;right:-10px;bottom:-5px;left:-10px;border-bottom:1px solid rgba(255,255,255,.065)}.sidebar-company-group>h2 i{order:2;width:5px;height:5px;border-radius:50%;background:#9b74ff;box-shadow:0 0 7px rgba(155,116,255,.4)}.sidebar-company-group.is-eliote>h2 i{background:#56a8ff;box-shadow:0 0 7px rgba(86,168,255,.4)}.sidebar-company-group.is-eyeway>h2:hover,.sidebar-company-group.is-eyeway.has-active-page>h2{color:#b99cff}.sidebar-company-group.is-eliote>h2:hover,.sidebar-company-group.is-eliote.has-active-page>h2{color:#79baff}.sidebar-company-group>div{display:grid;gap:1px}.sidebar-nav-subgroup{margin-left:0}.sidebar-nav-subgroup>div{margin-left:11px}.sidebar-company-separator{width:calc(100% - 30px);height:0;margin:5px 15px 4px;border:0;border-top:1px solid rgba(255,255,255,.065)}.sidebar-section-separator{width:100%;height:0;margin:6px 0 4px;border:0;border-top:1px solid rgba(255,255,255,.065)}.company-eyeway .module-owner{color:#b99cff}.company-eliote .module-owner{color:#79baff}
.sidebar{padding-top:13px}.sidebar .brand{gap:10px;margin-bottom:16px}.sidebar .brand-mark{width:30px;height:30px}.sidebar .brand-logo{width:30px;height:30px}.sidebar .brand strong{font-size:14px;white-space:nowrap}.sidebar .brand small{font-size:9px;opacity:.55}.sidebar-nav-entry,.sidebar-nav-group>summary{min-height:40px;padding:7px 9px;gap:9px}.sidebar-nav-entry .icon,.sidebar-nav-group>summary>.icon:first-child{width:16px;height:16px}.sidebar-nav-entry.active{background:rgba(255,255,255,.075);box-shadow:inset 2px 0 #8c6bff}.sidebar-nav-group>div{margin-bottom:3px;padding-left:11px}.sidebar-nav-entry.is-child{min-height:34px;padding:5px 8px}.sidebar-nav-entry.is-child .icon{width:15px;height:15px}
.sidebar-version{flex:none;margin-top:8px;padding:8px 9px 0;color:rgba(255,255,255,.38);font-size:9px;font-weight:650;line-height:1.1;text-align:left}
.sidebar nav .sidebar-nav-entry,
.sidebar nav .sidebar-nav-group>summary,
.sidebar nav .sidebar-alert-link.sidebar-nav-entry{display:flex;align-items:center;gap:9px;min-height:32px;width:100%;padding:3px 9px;border:1px solid transparent;border-radius:6px;font:inherit;font-size:11px;line-height:1.2;text-align:left}
.sidebar nav .sidebar-nav-entry>.icon,
.sidebar nav .sidebar-nav-group>summary>.icon:first-child,
.sidebar nav .sidebar-alert-link.sidebar-nav-entry>.icon{width:16px;height:16px;flex:0 0 16px}
.sidebar nav .sidebar-nav-entry:hover,
.sidebar nav .sidebar-nav-entry.active,
.sidebar nav .sidebar-nav-group>summary:hover{min-height:32px;padding-top:3px;padding-bottom:3px;border-color:rgba(255,255,255,.13);background:linear-gradient(to left,rgba(255,255,255,.30) 0%,rgba(255,255,255,0) 72%);box-shadow:none}
.sidebar nav>.sidebar-nav-entry:hover,
.sidebar nav>.sidebar-nav-entry.active,
.sidebar nav>.sidebar-nav-group>summary:hover{color:#fff}
.sidebar-company-group.is-eyeway .sidebar-nav-entry:not(.is-planned):hover,
.sidebar-company-group.is-eyeway .sidebar-nav-entry.active,
.sidebar-company-group.is-eyeway .sidebar-nav-group>summary:hover{border-color:rgba(185,156,255,.18);color:#b99cff;background:linear-gradient(to left,rgba(185,156,255,.30) 0%,rgba(185,156,255,0) 72%)}
.sidebar-company-group.is-eliote .sidebar-nav-entry:not(.is-planned):hover,
.sidebar-company-group.is-eliote .sidebar-nav-entry.active,
.sidebar-company-group.is-eliote .sidebar-nav-group>summary:hover{border-color:rgba(121,186,255,.18);color:#79baff;background:linear-gradient(to left,rgba(121,186,255,.30) 0%,rgba(121,186,255,0) 72%)}

/* Navigation bureau fixe : seule l'arborescence interne peut défiler. */
@media(min-width:921px){
  .shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}
  .sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);height:100dvh;overflow:hidden}
  .sidebar nav[aria-label="Navigation principale"]{flex:1 1 auto;overflow-y:auto}
  .shell>main{grid-column:2;min-width:0}
}

@media(max-width:920px){
  .sidebar-version{display:none}
  .sidebar nav[aria-label="Navigation principale"]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible;padding:0}
  .sidebar-nav-entry,.sidebar-nav-group>summary,.sidebar nav .sidebar-alert-link.sidebar-nav-entry{min-height:44px;padding:7px 8px;border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:8px;font-size:9px}
  .sidebar-nav-entry span,.sidebar-nav-group>summary span{display:block}
  .sidebar-nav-group>div{position:relative;z-index:2;grid-column:1/-1;margin:3px 0 0;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(0,11,25,.56)}
  .sidebar-nav-entry.is-child{min-height:38px}
}
@media(max-width:560px){
  .sidebar nav[aria-label="Navigation principale"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .sidebar-nav-group{min-width:0}
  .sidebar-nav-group>div{position:static}
  .sidebar-nav-entry.is-planned small{font-size:5px}
}
:where(a,button,input,[tabindex]):focus-visible{outline:2px solid #fff;outline-offset:3px}
body.drawer-open{padding-right:var(--drawer-scrollbar-width,0)}

/* Navigation mobile compacte : le contenu n'est jamais repoussé par le menu complet. */
.sidebar-mobile-head{display:contents}.sidebar-mobile-toggle{display:none}
@media(max-width:560px){
  body{overflow-x:clip}.sidebar{position:sticky!important;top:0;align-self:start;z-index:3999;padding:66px 10px 7px!important;background:rgba(0,11,25,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 18px rgba(0,0,0,.14)}.sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar .brand{margin:0!important}.sidebar .brand-mark{width:30px;height:30px}.sidebar .brand-logo{width:25px;height:25px}.sidebar .brand strong{font-size:12px}.sidebar .brand small{font-size:7px}
  .sidebar-mobile-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.06);box-shadow:none;color:#fff;font-size:9px}.sidebar-mobile-toggle i,.sidebar-mobile-toggle i:before,.sidebar-mobile-toggle i:after{display:block;width:14px;height:1px;background:currentColor;content:""}.sidebar-mobile-toggle i{position:relative}.sidebar-mobile-toggle i:before{position:absolute;top:-4px}.sidebar-mobile-toggle i:after{position:absolute;top:4px}
  .sidebar nav[aria-label="Navigation principale"]{display:none!important;max-height:min(72vh,560px);margin-top:8px;padding:7px!important;overflow-y:auto!important;grid-template-columns:1fr!important;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(2,13,25,.96);box-shadow:0 14px 34px rgba(0,0,0,.38)}.sidebar.is-mobile-open nav[aria-label="Navigation principale"]{display:grid!important}.sidebar.is-mobile-open .sidebar-mobile-toggle{background:rgba(255,255,255,.13)}
  .sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-entry,.sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-group{width:100%;flex:none}.sidebar-company-group{width:100%}
  main{width:100%;max-width:100%;overflow-x:clip}
  .platform-indicators,.module-card .metrics,.sftp-account-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  .platform-indicators>span,.module-card .metrics>.ds-stat-card,.sftp-account-summary>.ds-stat-card{width:100%;min-width:0;min-height:0!important;aspect-ratio:1/1;padding:6px!important;align-content:center;overflow:hidden}
  .platform-indicators>span{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:start;gap:3px}.platform-indicators .icon{grid-row:auto;width:14px;height:14px}.platform-indicators small,.module-card .metrics span,.sftp-account-summary span{display:-webkit-box!important;overflow:hidden!important;text-overflow:clip!important;white-space:normal!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:6.5px!important;line-height:1.15}.platform-indicators strong,.module-card .metrics strong,.sftp-account-summary strong{overflow-wrap:anywhere!important;white-space:normal!important;text-overflow:clip!important;font-size:10px!important;line-height:1.08}
  .module-card{padding:9px!important}.module-card .card-head{min-height:42px}.module-card .metrics{margin-top:4px}.engine-table,.sftp-active-account-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sftp-accounts-detail,.system-section{max-width:100%;overflow:hidden}
}
@media(max-width:340px){.platform-indicators,.module-card .metrics,.sftp-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.platform-indicators>span,.module-card .metrics>.ds-stat-card,.sftp-account-summary>.ds-stat-card{aspect-ratio:1.15/1}}

/* Tableau Langui enrichi : sept colonnes, défilement interne sur petit écran. */
.sftp-active-account-table .engine-table-head,.sftp-active-account-table .engine-table-row{grid-template-columns:minmax(125px,1fr) minmax(120px,.9fr) minmax(125px,.85fr) minmax(135px,.95fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(120px,.8fr) minmax(135px,.85fr);min-width:1100px}.sftp-connected-ip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.sftp-connected-ip.is-authenticated{color:var(--status-ok);font-weight:700}

/* Création rapide d'un portefeuille : une seule décision dans une carte modale. */
.workspace-quick-dialog{width:min(460px,calc(100vw - 28px));padding:0;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:linear-gradient(135deg,rgba(22,45,55,.97),rgba(25,18,58,.97));color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.68),0 0 40px rgba(124,91,255,.13);overflow:hidden}.workspace-quick-dialog::backdrop{background:rgba(3,10,16,.54);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.workspace-quick-dialog form{display:grid;gap:15px;padding:22px}.workspace-quick-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.workspace-quick-dialog h2,.workspace-quick-dialog p{margin:0}.workspace-quick-dialog h2{margin-top:3px;font-size:20px}.workspace-quick-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;font-size:22px}.workspace-quick-count{color:var(--muted);font-size:10px}.workspace-quick-dialog label{display:grid;gap:6px;color:var(--muted);font-size:9px}.workspace-quick-dialog [data-workspace-quick-new][hidden]{display:none}.workspace-quick-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.workspace-quick-dialog .workspace-note{min-height:15px;color:#ffcc73;font-size:9px}

/* Workspaces NEXIS : arborescence 1/4, inventaire 3/4 et lignes compactes. */
.nexis-workspace-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr);gap:12px;align-items:start}.workspace-tree-panel{position:sticky;top:12px;min-width:0;padding:12px}.workspace-tree-panel header h2,.workspace-tree-panel header p{margin:0}.workspace-tree-panel header h2{font-size:14px}.workspace-tree-panel header p{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}.workspace-tree-all,.workspace-tree-portfolio{width:100%;border:1px solid var(--line-soft);border-radius:5px;background:rgba(255,255,255,.025);color:#fff;text-align:left}.workspace-tree-all{margin-top:10px;padding:8px 9px;font-size:9px}.workspace-tree-all.is-active,.workspace-tree-portfolio.is-active{border-color:rgba(124,91,255,.7);background:rgba(124,91,255,.12);box-shadow:inset 2px 0 0 #7c5bff}.workspace-tree{display:grid;gap:10px;margin-top:10px}.workspace-tree-client{display:grid;gap:5px}.workspace-tree-client>h3{margin:0;color:#fff;font-size:9px}.workspace-tree-program{display:grid;gap:4px;padding-left:8px;border-left:1px solid rgba(255,255,255,.1)}.workspace-tree-program>h4{margin:0;color:var(--muted);font-size:7px;font-weight:500}.workspace-tree-portfolio{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;font-size:8px;cursor:pointer;transition:.15s}.workspace-tree-portfolio small{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.08);font-size:7px}.workspace-tree-portfolio.is-drop-target{border-color:#5ac8fa;background:rgba(90,200,250,.14);box-shadow:0 0 14px rgba(90,200,250,.18)}.workspace-tree-empty{margin:0;padding:10px;border:1px dashed var(--line);border-radius:5px;color:var(--muted);font-size:8px;line-height:1.45}.nexis-workspace-main{min-width:0}.nexis-workspace-filters{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(110px,.9fr) minmax(110px,.9fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(90px,.7fr);gap:6px;margin:10px 0 8px}.nexis-workspace-filters label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:7px}.nexis-workspace-filters .ds-input{width:100%;min-width:0}.nexis-portfolio-table .engine-table-head,.nexis-portfolio-table .engine-table-row{min-height:36px}.nexis-portfolio-table .engine-table-head{padding-top:7px;padding-bottom:7px}.nexis-portfolio-table .engine-table-row{padding-top:6px;padding-bottom:6px}.nexis-portfolio-table .engine-table-row.is-dragging{opacity:.4}
@media(max-width:980px){.nexis-workspace-layout{grid-template-columns:1fr}.workspace-tree-panel{position:static}.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))}}

/* NEXIS : synthèse calculée sur la sélection et actions groupées. */
.nexis-portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.workspace-allocation-drawer{width:min(760px,52vw)}.workspace-allocation-drawer .drawer-header p:not(.eyebrow){max-width:520px;margin:5px 0 0;color:var(--muted);font-size:9px}.workspace-allocation-content{display:grid;gap:12px}.allocation-context{display:grid;grid-template-columns:1fr minmax(220px,.7fr);gap:10px}.allocation-context>div,.allocation-context>label{display:grid;gap:5px;padding:11px;border:1px solid var(--line-soft);border-radius:7px;background:rgba(255,255,255,.025)}.allocation-context span{color:var(--muted);font-size:8px}.allocation-context strong{font-size:14px}.allocation-node-create,.allocation-canvas{padding:13px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(3,10,20,.28);backdrop-filter:blur(18px)}.allocation-node-create h3,.allocation-canvas h3{margin:2px 0 0;font-size:15px}.allocation-node-create form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.55fr) auto;gap:8px;margin-top:10px}.allocation-canvas>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.allocation-help{margin:7px 0 10px;color:var(--muted);font-size:8px;line-height:1.5}.allocation-total{padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px}.allocation-total.is-valid{border-color:rgba(52,211,153,.75);background:rgba(16,185,129,.1);color:#66e4b2}.allocation-total.is-invalid{border-color:rgba(255,173,51,.72);background:rgba(255,145,0,.1);color:#ffb34d}.allocation-node-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.allocation-node{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:11px;border:1px solid rgba(124,91,255,.34);border-radius:8px;background:linear-gradient(135deg,rgba(24,37,51,.78),rgba(23,12,48,.7));overflow:hidden}.allocation-node:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#9868ff}.allocation-node.is-client:before{background:#35cbea}.allocation-node.is-program:before{background:#9868ff}.allocation-node.is-pool:before{background:#ffad33}.allocation-node.is-report:before{background:#34d399}.allocation-node>div{display:grid;min-width:0}.allocation-node>div span,.allocation-node>div small{color:var(--muted);font-size:7px}.allocation-node>div strong{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.allocation-node label{display:flex;align-items:center;gap:4px;flex:none}.allocation-node input{width:62px;min-height:32px;padding:5px 7px;border:1px solid var(--line);border-radius:5px;background:rgba(1,8,16,.6);color:#fff;text-align:right}.allocation-node label span{color:var(--muted);font-size:9px}.allocation-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);font-size:9px;text-align:center}.allocation-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(5,13,25,.88);backdrop-filter:blur(20px)}.allocation-actions p{flex:1;margin:0;color:var(--muted);font-size:8px}.allocation-actions button:disabled{opacity:.4}
@media(max-width:900px){.workspace-allocation-drawer{width:min(100vw,680px)}.allocation-node-list{grid-template-columns:1fr}}
@media(max-width:560px){.allocation-context,.allocation-node-create form{grid-template-columns:1fr}.allocation-actions{align-items:stretch;flex-wrap:wrap}.allocation-actions p{flex-basis:100%}.allocation-actions button{flex:1}}
.workspace-studio-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px}.workspace-studio-hero h1{margin:3px 0;font-size:24px}.workspace-studio-hero p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted);font-size:9px}.workspace-studio-view-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(2,9,18,.34)}.workspace-studio-view-switch button{min-height:32px;padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted)}.workspace-studio-view-switch button[aria-pressed=true]{background:rgba(124,91,255,.2);box-shadow:0 0 14px rgba(124,91,255,.16);color:#fff}.workspace-studio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.workspace-studio-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) auto auto;gap:8px;align-items:end;padding:11px;margin-bottom:10px}.workspace-studio-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:7px}.workspace-studio-toolbar .ds-button{display:grid;place-items:center;min-height:36px;text-decoration:none}.workspace-studio-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(440px,1.7fr) minmax(220px,.65fr);gap:10px;align-items:start}.workspace-studio-inbox,.workspace-studio-canvas,.workspace-studio-inspector{min-width:0;padding:13px}.workspace-studio-inbox,.workspace-studio-inspector{position:sticky;top:10px}.workspace-studio-inbox>header,.workspace-studio-canvas>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workspace-studio-inbox h2,.workspace-studio-canvas h2,.workspace-studio-inspector h2,.workspace-studio-table h2{margin:2px 0;font-size:16px}.workspace-studio-inbox header p:not(.eyebrow),.workspace-studio-canvas header p:not(.eyebrow){margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.workspace-studio-inbox>header>strong{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid rgba(53,203,234,.45);border-radius:50%;color:#71e3f4;font-size:9px}.workspace-studio-inbox-list{display:grid;gap:6px;max-height:calc(100vh - 290px);margin-top:11px;padding-right:4px;overflow:auto}.studio-workspace-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:6px;background:rgba(4,12,23,.42);cursor:grab;transition:.16s}.studio-workspace-card:hover{border-color:rgba(53,203,234,.55);background:rgba(53,203,234,.055);transform:translateX(2px)}.studio-workspace-card.is-assigned{border-left:3px solid #34d399}.studio-workspace-card.is-dragging{opacity:.35}.studio-workspace-card>div{display:grid;min-width:0}.studio-workspace-card strong,.studio-workspace-card span,.studio-workspace-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-workspace-card strong{font-size:9px}.studio-workspace-card span,.studio-workspace-card small{color:var(--muted);font-size:7px}.studio-workspace-card small{max-width:90px;text-align:right}.workspace-studio-organizations{display:grid;gap:9px;margin-top:12px}.studio-client-node{border:1px solid rgba(124,91,255,.28);border-radius:8px;background:linear-gradient(135deg,rgba(21,35,50,.62),rgba(25,13,49,.54));overflow:hidden}.studio-client-node>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer;list-style:none}.studio-client-node>summary::-webkit-details-marker{display:none}.studio-client-node>summary>div{display:grid}.studio-client-node>summary span{color:#60d5ea;font-size:7px;text-transform:uppercase;letter-spacing:.12em}.studio-client-node>summary strong{font-size:13px}.studio-client-node>summary small{color:var(--muted);font-size:7px}.studio-client-node>summary>i{width:8px;height:8px;border-right:1px solid #9e8bff;border-bottom:1px solid #9e8bff;transform:rotate(45deg);transition:.15s}.studio-client-node[open]>summary>i{transform:rotate(225deg)}.studio-client-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 10px}.studio-program-node{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid rgba(152,104,255,.35);border-radius:6px;background:rgba(5,10,24,.58);transition:.16s;cursor:pointer}.studio-program-node:hover,.studio-program-node.is-drop-target{border-color:#34d399;background:rgba(16,185,129,.1);box-shadow:0 0 18px rgba(52,211,153,.16);transform:translateY(-1px)}.studio-program-node>div{display:grid;min-width:0}.studio-program-node span,.studio-program-node small{color:var(--muted);font-size:7px}.studio-program-node strong{overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.studio-program-node>i{width:9px;height:9px;border:2px solid rgba(52,211,153,.7);border-radius:50%;box-shadow:0 0 8px rgba(52,211,153,.3)}.studio-client-node.is-unattached{border-style:dashed;border-color:rgba(255,173,51,.42)}.studio-client-node.is-unattached>summary span{color:#ffb34d}.workspace-studio-inspector>header{padding-bottom:9px;border-bottom:1px solid var(--line-soft)}.workspace-studio-inspector [data-studio-inspector]{display:grid;gap:10px;margin-top:11px}.workspace-studio-inspector h3{margin:0;font-size:14px;overflow-wrap:anywhere}.workspace-studio-inspector p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.studio-inspector-links{display:grid;gap:5px}.studio-inspector-links>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px;border:1px solid var(--line-soft);border-radius:5px;font-size:8px}.studio-inspector-links strong{color:#60dfb2;font-size:8px}.studio-empty{margin:0;padding:12px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:8px;line-height:1.45}.workspace-studio-table{padding:14px}.workspace-studio-table[hidden],.workspace-studio-layout[hidden]{display:none}.workspace-studio-table .engine-table-head,.workspace-studio-table .engine-table-row{grid-template-columns:minmax(170px,1fr) minmax(110px,.6fr) minmax(160px,.9fr) 80px minmax(120px,.7fr);min-width:720px}.studio-split-dialog{width:min(640px,calc(100vw - 28px))}.studio-split-dialog [data-studio-split-rows]{display:grid;gap:7px}.studio-split-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 34px;gap:7px}.studio-split-row label{display:flex;align-items:center;gap:4px}.studio-split-row label input{text-align:right}.studio-split-row label span{color:var(--muted);font-size:9px}.studio-split-row>button{padding:0;border-color:rgba(255,86,93,.45);color:#ff747a}
@media(max-width:1180px){.workspace-studio-layout{grid-template-columns:minmax(210px,.7fr) minmax(420px,1.5fr)}.workspace-studio-inspector{position:static;grid-column:1/-1}.workspace-studio-inbox{position:sticky}}
@media(max-width:760px){.workspace-studio-kpis{grid-template-columns:1fr 1fr}.workspace-studio-toolbar,.workspace-studio-layout{grid-template-columns:1fr}.workspace-studio-inbox{position:static}.workspace-studio-inbox-list{max-height:340px}.studio-client-programs{grid-template-columns:1fr}.workspace-studio-inspector{grid-column:auto}}
@media(max-width:520px){.workspace-studio-hero{align-items:flex-start;flex-direction:column}.workspace-studio-toolbar{grid-template-columns:1fr 1fr}.workspace-studio-toolbar label:first-child{grid-column:1/-1}.studio-split-row{grid-template-columns:1fr 90px 32px}}
@media(max-width:760px){.nexis-portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Gestion des portefeuilles : liste persistante à gauche, contexte utile à droite. */
.portfolio-manager-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:16px}.portfolio-manager-hero h1,.portfolio-manager-hero p{margin:0}.portfolio-manager-hero h1{margin:3px 0;font-size:22px}.portfolio-manager-hero>div>p:last-child{color:var(--muted);font-size:9px}.portfolio-manager{display:grid;grid-template-columns:minmax(220px,.28fr) minmax(0,1fr);gap:12px;align-items:start}.portfolio-rail,.portfolio-detail{padding:14px}.portfolio-rail{position:sticky;top:12px;display:grid;gap:12px}.portfolio-search{display:grid;gap:7px}.portfolio-search>span{font-size:12px;font-weight:650}.portfolio-list{display:grid;gap:6px}.portfolio-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(120deg,rgba(255,255,255,.045),rgba(124,91,255,.035));color:#fff;text-align:left;box-shadow:none}.portfolio-list-item:hover,.portfolio-list-item.is-active{border-color:rgba(154,116,255,.55);background:linear-gradient(120deg,rgba(124,91,255,.15),rgba(44,208,255,.07))}.portfolio-list-item span{display:grid;gap:3px;min-width:0}.portfolio-list-item strong{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.portfolio-list-item small{color:var(--muted);font-size:8px}.portfolio-list-item b{flex:none;color:#fff;font-size:9px}.portfolio-empty{margin:0;padding:18px;color:var(--muted);font-size:9px;text-align:center}.portfolio-detail{display:grid;gap:14px}.portfolio-detail-head,.portfolio-workspaces>header,.portfolio-usage>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.portfolio-detail-head{align-items:flex-start}.portfolio-detail-head h2,.portfolio-detail-head p,.portfolio-workspaces h3{margin:0}.portfolio-detail-head h2{margin:3px 0;font-size:20px}.portfolio-detail-head>div>p:last-child{color:var(--muted);font-size:9px}.portfolio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.portfolio-kpis article{display:grid;gap:5px;padding:11px;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(124,91,255,.045))}.portfolio-kpis span{color:var(--muted);font-size:8px}.portfolio-kpis strong{font-size:16px}.portfolio-usage{display:grid;gap:7px}.portfolio-usage header{font-size:8px}.portfolio-usage>i,.portfolio-workspace-row>i{display:block;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(124,91,255,.1));box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}.portfolio-usage>i{height:11px}.portfolio-usage b,.portfolio-workspace-row>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d9d0 0%,#7c5bff 55%,#c06bff 100%);box-shadow:0 0 12px rgba(124,91,255,.55);transition:width .25s ease}.portfolio-workspaces{display:grid;gap:9px;padding-top:13px;border-top:1px solid var(--line-soft)}.portfolio-workspaces>header input{width:min(260px,45%)}.portfolio-workspace-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.8fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:linear-gradient(120deg,rgba(255,255,255,.025),rgba(124,91,255,.025))}.portfolio-workspace-row>div{display:grid;gap:3px;min-width:0}.portfolio-workspace-row strong{overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.portfolio-workspace-row span{color:var(--muted);font-size:8px}.portfolio-workspace-row>i{height:8px}.portfolio-workspace-row em{min-width:62px;font-size:9px;font-style:normal;text-align:right}.portfolio-create-dialog label{display:grid;gap:7px}.portfolio-create-dialog [data-portfolio-create-message]{min-height:15px;color:var(--status-warning);font-size:8px}

/* Jauges communes : forme douce et dégradé cohérent dans tout le site. */
.engine-storage-meter,.account-weight-track{height:8px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:999px!important;background:linear-gradient(90deg,rgba(255,255,255,.07),rgba(124,91,255,.10))!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.engine-storage-meter i,.account-weight-track i{border-radius:inherit!important;background:linear-gradient(90deg,#34d9d0 0%,#7c5bff 58%,#c06bff 100%)!important;box-shadow:0 0 10px rgba(124,91,255,.5)!important}
@media(max-width:800px){.portfolio-manager{grid-template-columns:1fr}.portfolio-rail{position:static}.portfolio-list{display:flex;overflow-x:auto}.portfolio-list-item{flex:0 0 190px}.portfolio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.portfolio-manager-hero,.portfolio-detail-head,.portfolio-workspaces>header{align-items:flex-start;flex-direction:column}.portfolio-workspaces>header input{width:100%}.portfolio-workspace-row{grid-template-columns:minmax(0,1fr) 74px}.portfolio-workspace-row>i{grid-column:1/-1;grid-row:2}.portfolio-workspace-row em{grid-column:2;grid-row:1}.portfolio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* La synthèse NEXIS suit uniquement la sélection courante. */
.nexis-portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Maquette ITM SFTP Engine — structure prête pour la future API locale. */
.sftp-engine-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.sftp-engine-intro>div{display:flex;align-items:center;gap:12px}.sftp-engine-intro p{margin:0;color:var(--muted);font-size:10px}.sftp-engine-intro button:disabled,.engine-panel button:disabled{cursor:not-allowed;opacity:.42}
.engine-tabs{display:flex;gap:5px;margin-bottom:14px;padding:5px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:rgba(0,0,0,.18);scrollbar-width:none}.engine-tabs::-webkit-scrollbar{display:none}.engine-tabs button{min-height:38px;padding:7px 12px;flex:none;border-color:transparent;background:transparent;box-shadow:none;border-radius:3px;color:rgba(255,255,255,.54);font-size:10px;white-space:nowrap}.engine-tabs button[aria-selected="true"]{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.09)}
.engine-panel{display:grid;gap:14px}.engine-panel[hidden]{display:none}.engine-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.engine-kpis article{position:relative;min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.engine-kpis span,.engine-kpis strong{display:block}.engine-kpis span{color:var(--muted);font-size:9px}.engine-kpis strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.engine-kpis .dot{position:absolute;right:12px;top:12px;width:12px;height:12px}
.engine-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:14px}.engine-block{min-width:0;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.engine-block h2{margin:0 0 12px;font-size:12px;font-weight:550}.engine-chart{height:230px;padding:12px;background:rgba(0,0,0,.14);border-radius:4px}.engine-chart svg{width:100%;height:180px;overflow:visible}.engine-chart .grid-line{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}.engine-chart .chart-area{fill:rgba(50,215,109,.06)}.engine-chart .chart-line{fill:none;stroke:rgba(255,255,255,.85);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(50,215,109,.44))}.engine-chart>div{display:flex;justify-content:space-between;color:rgba(255,255,255,.35);font-size:8px}.engine-actions{display:flex;flex-wrap:wrap;gap:7px}.engine-actions button{box-shadow:none;font-size:9px}
.engine-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.engine-section-head h2,.engine-section-head p{margin:0}.engine-section-head h2{font-size:14px}.engine-section-head p{margin-top:3px;color:var(--muted);font-size:9px}.engine-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.engine-table-head,.engine-table-row{display:grid;grid-template-columns:minmax(130px,1fr) 120px 130px 100px minmax(260px,1.4fr);gap:12px;align-items:center;min-width:850px;padding:11px 13px;border-top:1px solid var(--line-soft);font-size:9px}.engine-table-head{border-top:0;color:var(--muted);text-transform:uppercase;font-size:8px}.engine-table-row>strong{font-size:10px}.engine-table.is-wide .engine-table-head,.engine-table.is-wide .engine-table-row{grid-template-columns:130px 130px 90px 80px 90px 120px 105px;min-width:850px}.engine-row-actions{display:flex;flex-wrap:wrap;gap:4px}.engine-row-actions button{min-height:25px;padding:4px 6px;box-shadow:none;font-size:7px}
.engine-list-row{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--line-soft)}.engine-list-row:first-of-type{border-top:0}.engine-list-row strong,.engine-list-row small{display:block}.engine-list-row strong{font-size:9px}.engine-list-row small{margin-top:2px;color:var(--muted);font-size:8px}.engine-list-row button{padding:5px 8px;box-shadow:none;font-size:8px}.engine-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;color:rgba(255,255,255,.48);text-align:center}.engine-empty .icon{width:30px;height:30px;opacity:.55}.engine-empty strong{font-size:10px}.engine-empty span{font-size:8px}.engine-empty button{margin-top:5px}
.engine-log{border:1px solid var(--line);border-radius:var(--radius);background:rgba(0,0,0,.22);overflow:hidden}.engine-log>div{display:grid;grid-template-columns:70px 90px minmax(0,1fr);gap:10px;align-items:center;padding:10px 13px;border-top:1px solid var(--line-soft)}.engine-log>div:first-child{border-top:0}.engine-log time{color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.engine-log p{margin:0;font-size:9px}.engine-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.engine-config-grid label{display:grid;gap:6px;color:var(--muted);font-size:9px}.engine-config-grid input{width:100%;height:34px;padding:0 9px;color:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:3px;background:rgba(0,0,0,.18)}.engine-config-grid button{margin-top:10px;box-shadow:none;font-size:8px}
@media(max-width:1100px){.engine-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.engine-layout{grid-template-columns:1fr}.engine-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sftp-engine-intro{align-items:flex-start;flex-direction:column}.sftp-engine-intro>div{align-items:flex-start;flex-direction:column}.engine-tabs{position:sticky;top:0;z-index:5}.engine-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.engine-section-head{align-items:flex-start;flex-direction:column}.engine-chart{height:190px}.engine-chart svg{height:145px}.engine-config-grid{grid-template-columns:1fr}.engine-log>div{grid-template-columns:58px 72px minmax(0,1fr);gap:6px;padding:8px}.engine-log .status-badge{padding:4px 6px;font-size:7px}}

/* Actions de comptes : capsules visuelles distinctes des filtres. */
.engine-row-actions{gap:6px}.engine-row-actions button{position:relative;min-height:29px;padding:5px 10px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(255,255,255,.08);box-shadow:0 2px 8px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.035);color:rgba(255,255,255,.88);font-size:8px;font-weight:500;white-space:nowrap}.engine-row-actions button:disabled{opacity:.72}.engine-row-actions button:before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.45)}.engine-row-actions button:hover{background:rgba(255,255,255,.13);border-color:#fff}.engine-row-actions button:last-child{background:rgba(255,255,255,.035);border-style:dashed}
@media(max-width:560px){.engine-row-actions{gap:5px}.engine-row-actions button{min-height:28px;padding:5px 8px;font-size:7px}}

/* Signal critique : respiration lumineuse douce, limitée au pictogramme rouge. */
.dot.critical{-webkit-animation:itm-critical-glow 2.6s ease-in-out infinite;animation:itm-critical-glow 2.6s ease-in-out infinite;will-change:filter,opacity}
@-webkit-keyframes itm-critical-glow{0%,100%{opacity:.58;-webkit-filter:drop-shadow(0 0 1px rgba(255,69,58,.28)) brightness(.82)}50%{opacity:1;-webkit-filter:drop-shadow(0 0 8px rgba(255,69,58,.95)) brightness(1.55)}}
@keyframes itm-critical-glow{0%,100%{opacity:.58;-webkit-filter:drop-shadow(0 0 1px rgba(255,69,58,.28)) brightness(.82);filter:drop-shadow(0 0 1px rgba(255,69,58,.28)) brightness(.82)}50%{opacity:1;-webkit-filter:drop-shadow(0 0 8px rgba(255,69,58,.95)) brightness(1.55);filter:drop-shadow(0 0 8px rgba(255,69,58,.95)) brightness(1.55)}}
@media(prefers-reduced-motion:reduce){.dot.critical{-webkit-animation:none;animation:none;opacity:1;-webkit-filter:drop-shadow(0 0 3px rgba(255,69,58,.55));filter:drop-shadow(0 0 3px rgba(255,69,58,.55))}}

/* Surimpression temporaire lors d’un changement de statut après actualisation. */

/* Dashboard 0.5.0 — Centre d’alertes et journal des événements. */
.alert-center-toggle{position:relative;width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:50%;box-shadow:none}.alert-center-toggle .icon{width:19px;height:19px}.alert-unread-badge{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid rgba(3,10,20,.95);border-radius:10px;background:var(--status-critical);color:#fff;font-size:8px;font-weight:700;line-height:1}.alert-unread-badge[hidden]{display:none}
.alert-center-overlay{position:fixed;z-index:3000;inset:0;background:rgba(0,0,0,.42);opacity:1;transition:opacity .28s ease}.alert-center-overlay[hidden]{display:block;opacity:0;pointer-events:none}.alert-center{position:fixed;z-index:3001;inset:0 0 0 auto;width:min(760px,52vw);padding:22px;background:rgba(2,8,18,.76);border-left:1px solid rgba(255,255,255,.18);box-shadow:-20px 0 48px rgba(0,0,0,.42);backdrop-filter:blur(32px) saturate(1.08);-webkit-backdrop-filter:blur(32px) saturate(1.08);overflow-y:auto;transform:translateX(0);visibility:visible;transition:transform .3s ease,visibility .3s ease}.alert-center[aria-hidden="true"]{transform:translateX(102%);visibility:hidden}.alert-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.alert-center-head h2{margin:0;font-size:24px}.alert-center-close{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:50%;font-size:24px;line-height:1}.alert-center-tabs{display:flex;gap:5px;margin:14px 0;padding:4px;border:1px solid var(--line-soft);border-radius:999px;background:rgba(0,0,0,.18)}.alert-center-tabs button{flex:1;justify-content:center;padding:8px 11px;border-color:transparent;border-radius:999px;background:transparent;box-shadow:none;color:rgba(255,255,255,.52);font-size:10px}.alert-center-tabs button[aria-selected="true"]{color:#fff;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.09)}.alert-center-tabs button span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgba(255,255,255,.10);font-size:8px}
.alert-center-panel[hidden]{display:none}.alert-center-actions{display:flex;justify-content:flex-end;gap:6px;margin-bottom:9px}.alert-center-actions button,.event-toolbar button{padding:6px 9px;border-radius:999px;box-shadow:none;font-size:8px}.alert-filters{display:grid;grid-template-columns:1fr 130px 125px 125px;gap:6px;margin-bottom:12px}.alert-quick-filters{display:flex;gap:4px;min-width:0;overflow-x:auto}.alert-quick-filters button{flex:none;padding:6px 9px;border-radius:999px;box-shadow:none;color:rgba(255,255,255,.52);font-size:8px}.alert-quick-filters button.is-active{color:#fff;border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.10)}.alert-filters select,.alert-filters input,.event-toolbar select,.event-toolbar input{min-width:0;height:31px;padding:0 8px;color:#fff;border:1px solid var(--line);border-radius:4px;background:rgba(0,0,0,.28);font:inherit;font-size:8px;color-scheme:dark}
.alert-list,.event-list{display:grid;gap:8px}.alert-item{position:relative;padding:13px 14px;border:1px solid var(--line-soft);border-left:2px solid rgba(255,255,255,.32);border-radius:4px;background:rgba(0,0,0,.22);box-shadow:0 2px 10px rgba(0,0,0,.10)}.alert-item.is-read{opacity:.58}.alert-item.is-unread:before{content:"";position:absolute;right:10px;top:10px;width:6px;height:6px;border-radius:50%;background:#fff}.alert-item.level-success{border-left-color:var(--status-ok)}.alert-item.level-attention{border-left-color:var(--status-warning)}.alert-item.level-error,.alert-item.level-critical{border-left-color:var(--status-critical)}.alert-item header{display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-item header strong{font-size:9px;letter-spacing:.08em}.alert-item time{color:rgba(255,255,255,.4);font-size:8px}.alert-item h3{margin:8px 0 3px;font-size:11px}.alert-item p{margin:0;color:rgba(255,255,255,.56);font-size:9px}.alert-state-change{display:flex;align-items:center;gap:7px;margin-top:9px}.alert-state-change .status-badge{padding:5px 7px;font-size:8px}.alert-item footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line-soft)}.alert-item footer>div{display:flex;gap:5px}.alert-item footer button{padding:5px 8px;border-radius:999px;box-shadow:none;font-size:7px}.alert-level{padding:4px 7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:7px}.alert-level.level-success{border-color:rgba(50,215,109,.55)}.alert-level.level-attention{border-color:rgba(255,159,10,.58)}.alert-level.level-error,.alert-level.level-critical{border-color:rgba(255,69,58,.62)}
.event-toolbar{display:grid;grid-template-columns:minmax(150px,1fr) 125px 115px 120px auto;gap:6px;margin-bottom:12px}.event-toolbar button:disabled{opacity:.42}.event-timeline{position:relative;display:grid;gap:0}.event-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:rgba(255,255,255,.13)}.event-item{position:relative;display:grid;grid-template-columns:17px minmax(0,1fr);gap:9px;padding:0 0 13px}.event-marker{position:relative;z-index:1;width:9px;height:9px;margin:6px 0 0 4px;border:2px solid rgba(255,255,255,.58);border-radius:50%;background:#08101c}.event-item.level-success .event-marker{border-color:var(--status-ok)}.event-item.level-attention .event-marker{border-color:var(--status-warning)}.event-item.level-error .event-marker,.event-item.level-critical .event-marker{border-color:var(--status-critical)}.event-item>div{padding:9px 10px;border:1px solid var(--line-soft);border-radius:4px;background:rgba(0,0,0,.18)}.event-item header{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center}.event-item header strong{font-size:8px;letter-spacing:.08em}.event-item header span{color:rgba(255,255,255,.48);font-size:7px}.event-item time{text-align:right;color:rgba(255,255,255,.36);font-size:7px}.event-item h3{margin:6px 0 2px;font-size:9px}.event-item p{margin:0;color:rgba(255,255,255,.48);font-size:8px}.alert-center-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed var(--line);border-radius:4px;color:rgba(255,255,255,.44);text-align:center}.alert-center-empty strong{font-size:11px}.alert-center-empty span{font-size:8px}
@media(max-width:900px){.alert-center{width:72vw}.alert-filters{grid-template-columns:1fr 1fr}.alert-quick-filters{grid-column:1/-1}.event-toolbar{grid-template-columns:1fr 1fr}.event-toolbar input:first-child{grid-column:1/-1}}
@media(max-width:620px){.alert-center{width:100%;padding:14px 11px}.alert-center-head h2{font-size:20px}.alert-center-tabs button{font-size:9px}.alert-filters{grid-template-columns:1fr 1fr}.alert-center-actions{justify-content:flex-start;overflow-x:auto}.alert-item header{align-items:flex-start;flex-direction:column;gap:2px}.alert-item footer{align-items:flex-start;flex-direction:column}.event-toolbar{grid-template-columns:1fr 1fr}.event-item header{grid-template-columns:auto 1fr}.event-item time{grid-column:1/-1;text-align:left}.alert-center-toggle{width:34px;height:34px}.alert-unread-badge{right:-4px;top:-6px}}
@media(prefers-reduced-motion:reduce){.alert-center,.alert-center-overlay{transition:none}}

/* Console de santé : synthèse compacte et timeline générique alimentée par eventId. */
.health-console{display:grid;grid-template-columns:auto minmax(260px,1fr);gap:10px 22px;align-items:center;margin:0 0 14px;padding:11px 14px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:rgba(3,10,20,.34);box-shadow:0 8px 24px rgba(0,0,0,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.health-console-summary{display:flex;align-items:center;gap:11px;white-space:nowrap}.health-console-summary>span:last-child{color:rgba(255,255,255,.48);font-size:8px}.health-console-summary time{margin-left:3px;color:rgba(255,255,255,.78);font-variant-numeric:tabular-nums}.health-console-summary .status-badge{padding:7px 10px}.health-console-summary strong{font-size:9px;font-weight:550}
.health-timeline-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.health-timeline-wrap>span{color:rgba(255,255,255,.42);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.health-timeline{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:0;min-height:24px;padding:0 8px}.health-timeline:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:rgba(255,255,255,.20)}
.health-timeline-empty{position:relative;z-index:1;padding-left:8px;background:rgba(3,10,20,.86);color:rgba(255,255,255,.34);font-size:8px}.nexis-status-dot{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.035)}
.health-modules{grid-column:1/-1;display:flex;align-items:center;gap:5px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.health-module{gap:6px;padding:4px 7px;border-color:transparent;border-radius:999px;background:transparent;box-shadow:none;color:rgba(255,255,255,.52);font-size:7px}.health-module:hover{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.05)}.health-module .dot{width:9px;height:9px}

/* Journal tabulaire lisible, triable et paginé. */
.event-table{overflow:hidden;border:1px solid var(--line-soft);border-radius:5px;background:rgba(0,0,0,.14)}.event-table-head,.event-table-row{display:grid;grid-template-columns:64px 70px 84px minmax(90px,.7fr) minmax(170px,1.8fr);gap:8px;align-items:center}.event-table-head{padding:7px 10px;border-bottom:1px solid var(--line-soft);color:rgba(255,255,255,.34);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.event-table-row{position:relative;width:100%;padding:9px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;background:transparent;box-shadow:none;color:rgba(255,255,255,.68);text-align:left;font-size:8px}.event-table-row:last-child{border-bottom:0}.event-table-row:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:rgba(255,255,255,.24)}.event-table-row.level-attention:before{background:var(--status-warning)}.event-table-row.level-error:before,.event-table-row.level-critical:before{background:var(--status-critical)}.event-table-row.level-success:before{background:var(--status-ok)}.event-table-row:hover,.event-table-row:focus-visible,.event-table-row.is-focused{background:rgba(255,255,255,.07);outline:none}.event-table-row time{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.48)}.event-table-row strong{font-size:8px;letter-spacing:.06em}.event-table-row .alert-level{justify-self:start}.event-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px}.event-pagination button{padding:5px 9px;border-radius:999px;box-shadow:none;font-size:7px}.event-pagination button:disabled{opacity:.3}.event-pagination span{color:rgba(255,255,255,.42);font-size:7px}.alert-open-module{border-color:rgba(255,255,255,.54)!important;color:#fff!important}
.incident-timeline{display:grid;gap:10px}.incident-thread{overflow:hidden;border:1px solid var(--line-soft);border-radius:6px;background:rgba(0,0,0,.15)}.incident-thread>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.incident-thread>header>div{display:flex;align-items:baseline;gap:8px;min-width:0}.incident-thread>header strong{color:rgba(255,255,255,.58);font-size:8px;letter-spacing:.08em}.incident-thread>header h3{overflow:hidden;margin:0;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.incident-sequence{position:relative;padding:5px 0}.incident-sequence:before{content:"";position:absolute;left:20px;top:14px;bottom:14px;width:1px;background:rgba(255,255,255,.14)}.incident-event{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;width:100%;padding:8px 12px 8px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;text-align:left}.incident-event:hover,.incident-event:focus-visible,.incident-event.is-focused{background:rgba(255,255,255,.06);outline:none}.incident-event-marker{position:relative;z-index:1;display:grid;place-items:center;width:17px;height:17px;margin-left:12px;border:1px solid var(--status-info);border-radius:50%;background:#0a1320;color:var(--status-info);font-size:9px;font-weight:800}.incident-event.event-tone-ok .incident-event-marker{border-color:var(--status-ok);color:var(--status-ok)}.incident-event.event-tone-warning .incident-event-marker{border-color:var(--status-warning);color:var(--status-warning)}.incident-event.event-tone-critical .incident-event-marker{border-color:var(--status-critical);color:var(--status-critical)}.incident-event-body{display:grid;gap:3px;min-width:0}.incident-event-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.incident-event-line strong{font-size:9px}.incident-event-line time{color:rgba(255,255,255,.48);font-size:8px;white-space:nowrap}.incident-event-description{color:rgba(255,255,255,.62);font-size:9px;line-height:1.4}.event-timeline-freshness{display:block;margin-top:9px;color:rgba(255,255,255,.44);font-size:8px;text-align:left}
.event-toolbar{grid-template-columns:minmax(150px,1fr) 105px 100px 105px 105px auto}
@media(max-width:900px){.health-console{grid-template-columns:1fr}.health-modules{grid-column:1}.event-table-head,.event-table-row{grid-template-columns:58px 62px 78px minmax(76px,.7fr) minmax(140px,1.5fr)}}
@media(max-width:620px){.health-console{gap:8px;padding:10px}.health-console-summary{justify-content:space-between}.health-timeline-wrap{grid-template-columns:1fr}.health-timeline{justify-content:flex-start;overflow-x:auto;padding:5px 3px}.health-timeline:before{left:3px;right:3px}.health-modules{overflow-x:auto}.health-module{flex:none}.event-table{overflow-x:auto}.event-table-head,.event-table-row{min-width:570px}.alert-item footer>div{flex-wrap:wrap}.alert-open-module{order:-1}}
@media(max-width:620px){.incident-thread>header{align-items:flex-start;padding:9px 10px}.incident-thread>header>div{display:grid;gap:2px}.incident-event{grid-template-columns:34px minmax(0,1fr);padding-right:9px}.incident-event-marker{margin-left:9px}.incident-sequence:before{left:17px}.incident-event-line{align-items:flex-start;flex-direction:column;gap:2px}}

/* Administration SFTP connectée et profil Microsoft 365. */
.engine-toolbar{display:flex;gap:8px;flex-wrap:wrap}.engine-toolbar input,.engine-toolbar select,.engine-dialog input,.engine-dialog textarea{min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:rgba(0,0,0,.24);color:#fff}.engine-toolbar input{min-width:240px;flex:1}.engine-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.engine-detail-grid>span{padding:10px;border:1px solid var(--line-soft);border-radius:4px;color:var(--muted);font-size:8px}.engine-detail-grid strong{display:block;margin-top:4px;color:#fff;font-size:11px}.engine-dialog{width:min(720px,calc(100vw - 24px));border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(8,20,29,.96);color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.65);backdrop-filter:blur(20px)}.engine-dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(4px)}.engine-dialog header,.engine-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.engine-dialog h2,.engine-dialog p{margin:0}.engine-dialog form{display:grid;gap:16px}.engine-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.engine-form-grid label,.engine-dialog>form>label{display:grid;gap:5px;color:var(--muted);font-size:9px}.engine-form-grid .is-wide,.engine-dialog .is-wide{grid-column:1/-1}.engine-dialog textarea{resize:vertical}.engine-form-note{color:var(--muted);font-size:8px;line-height:1.5}.form-error{min-height:16px;color:#ff8a84;font-size:9px}.engine-dialog footer{justify-content:flex-end}@media(max-width:560px){.user-profile>span:last-child{display:none}.engine-form-grid{grid-template-columns:1fr}.engine-form-grid .is-wide{grid-column:auto}}
.engine-provisioning{display:grid;gap:9px;padding:12px;border:1px solid var(--line-soft);border-radius:5px;background:rgba(0,0,0,.13)}.engine-provisioning h3,.engine-provisioning p{margin:0}.engine-provisioning h3{font-size:11px}.engine-provisioning p,.engine-provisioning small{color:var(--muted);font-size:8px}.engine-provisioning fieldset{display:flex;gap:14px;margin:0;padding:9px;border:1px solid var(--line-soft);border-radius:4px}.engine-provisioning legend,.engine-provisioning label{color:var(--muted);font-size:8px}.engine-provisioning>label{display:grid;gap:5px}.engine-provisioning select{min-height:36px;padding:7px;border:1px solid var(--line);border-radius:4px;background:rgba(0,0,0,.24);color:#fff}
.engine-form-section{display:grid;gap:11px;padding:13px;border:1px solid var(--line-soft);border-radius:6px;background:rgba(255,255,255,.025)}.engine-form-section-head{display:flex;align-items:flex-start;gap:9px}.engine-form-section-head>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(255,255,255,.42);border-radius:50%;font-size:8px}.engine-form-section-head h3,.engine-form-section-head p{margin:0}.engine-form-section-head h3{font-size:11px}.engine-form-section-head p{margin-top:2px;color:var(--muted);font-size:8px}.engine-form-grid small,.engine-key-field small{color:rgba(255,255,255,.42);font-size:7px}.engine-auth-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}.engine-auth-options label{display:flex;gap:9px;padding:11px;border:1px solid var(--line-soft);border-radius:5px;background:rgba(0,0,0,.13);cursor:pointer}.engine-auth-options input{flex:0 0 auto;min-height:auto;margin-top:2px}.engine-auth-options span,.engine-auth-options strong,.engine-auth-options small{display:block}.engine-auth-options strong{color:#fff;font-size:9px}.engine-auth-options em{margin-left:5px;color:var(--status-ok);font-size:7px;font-style:normal;font-weight:500}.engine-auth-options small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}.engine-auth-options .is-unavailable{opacity:.48;cursor:not-allowed}.engine-key-field,.engine-storage-section>label{display:grid;gap:5px;color:var(--muted);font-size:9px}.engine-storage-section>p{margin:0;color:var(--muted);font-size:8px}.engine-storage-section select{min-height:36px;padding:7px;border:1px solid var(--line);border-radius:4px;background:rgba(0,0,0,.24);color:#fff}.engine-storage-section select:disabled{opacity:.52}@media(max-width:560px){.engine-auth-options{grid-template-columns:1fr}.engine-dialog{padding:14px}.engine-form-section{padding:11px}}
.sftp-status-summary{display:flex!important;align-items:flex-end!important;gap:14px!important;flex-wrap:wrap}.sftp-status-summary>span{display:grid;gap:4px}.sftp-status-summary small{color:rgba(255,255,255,.42);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.sftp-status-summary b{font-weight:500}.sftp-status-summary>p{flex-basis:100%}.engine-business-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.engine-business-actions>span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--line-soft);border-radius:4px;background:rgba(255,255,255,.025)}.engine-business-actions strong{order:-1;min-width:0;font-size:9px;font-weight:500}.engine-business-actions .status-badge{flex:none;font-size:7px}.engine-monitoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.engine-monitoring-grid>span{padding:10px;border:1px solid var(--line-soft);border-radius:4px;color:var(--muted);font-size:8px}.engine-monitoring-grid strong{display:block;margin-top:4px;color:#fff;font-size:11px}.engine-storage-meter{height:5px;margin-top:12px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.engine-storage-meter i{display:block;width:var(--storage-used,0%);height:100%;border-radius:inherit;background:var(--status-ok);box-shadow:0 0 9px rgba(50,215,109,.42)}@media(max-width:560px){.sftp-engine-intro{align-items:flex-start}.sftp-status-summary{gap:8px!important}.engine-business-actions{grid-template-columns:1fr}.engine-monitoring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.engine-validation-workflow,.engine-contract-diagnostics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.engine-validation-workflow article,.engine-contract-diagnostics article{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-soft);border-radius:5px;background:rgba(255,255,255,.025)}.engine-validation-workflow article>span:first-child{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:8px}.engine-validation-workflow article>div{display:grid;gap:3px;min-width:0;flex:1}.engine-validation-workflow strong,.engine-contract-diagnostics strong{font-size:9px;font-weight:550}.engine-validation-workflow small,.engine-contract-diagnostics span,.engine-contract-diagnostics small{color:var(--muted);font-size:7px;line-height:1.45}.engine-validation-workflow .status-badge{flex:none;font-size:7px}.engine-contract-diagnostics article{display:grid;align-content:start}.engine-contract-diagnostics p{margin:2px 0;color:rgba(255,255,255,.68);font-size:8px;line-height:1.45}.sftp-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sftp-result-grid>span{padding:9px;border:1px solid var(--line-soft);border-radius:4px;color:var(--muted);font-size:8px}.sftp-result-grid strong{display:block;margin-top:4px;color:#fff;font-size:10px}.sftp-one-time-secret{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;padding:12px;border:1px solid rgba(255,159,10,.55);border-radius:5px;background:rgba(255,159,10,.06)}.sftp-one-time-secret>strong,.sftp-one-time-secret>p{grid-column:1/-1}.sftp-one-time-secret input{min-width:0}.sftp-one-time-secret p{color:rgba(255,255,255,.68);font-size:8px}@media(max-width:560px){.engine-validation-workflow,.engine-contract-diagnostics,.sftp-result-grid{grid-template-columns:1fr}.sftp-one-time-secret{grid-template-columns:1fr}.sftp-one-time-secret>strong,.sftp-one-time-secret>p{grid-column:1}}
.session-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;margin:-22px 0 20px;padding:12px 14px;border:1px solid rgba(255,159,10,.55);border-radius:6px;background:rgba(68,38,4,.72);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(16px)}.session-banner[hidden]{display:none}.session-banner>.dot{width:13px;height:13px}.session-banner>div{display:grid;gap:2px}.session-banner strong{font-size:10px}.session-banner span:not(.dot){color:rgba(255,255,255,.68);font-size:8px}.session-banner a{padding:7px 10px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;background:rgba(255,255,255,.08);font-size:8px;font-weight:550;text-decoration:none}.session-banner a:hover{background:rgba(255,255,255,.15)}@media(max-width:560px){.session-banner{grid-template-columns:auto 1fr;margin:-5px 0 12px;padding:10px}.session-banner a{grid-column:2;justify-self:start}}
.session-expiry-overlay{position:fixed;inset:0;z-index:3998;background:rgba(0,0,0,.42);backdrop-filter:blur(13px) saturate(.72);-webkit-backdrop-filter:blur(13px) saturate(.72);opacity:1;transition:opacity .28s ease}.session-expiry-overlay[hidden]{display:none}.session-banner.is-blocking{position:fixed;z-index:3999;top:50%;left:50%;width:min(560px,calc(100vw - 32px));margin:0;padding:17px 18px;transform:translate(-50%,-50%);border-color:rgba(255,159,10,.72);background:rgba(34,22,12,.92);box-shadow:0 22px 70px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}body.session-reconnect-required{overflow:hidden}.session-banner.is-blocking strong{font-size:12px}.session-banner.is-blocking span:not(.dot){font-size:9px}.session-banner.is-blocking a{font-size:9px}@media(max-width:560px){.session-banner.is-blocking{top:50%;grid-template-columns:auto minmax(0,1fr);margin:0;padding:14px;transform:translate(-50%,-50%)}.session-banner.is-blocking a{grid-column:2}}@media(prefers-reduced-motion:reduce){.session-expiry-overlay{transition:none}}

/* SFTP Langui : vue d'exploitation dense, diagnostic relégué au second niveau. */
.sftp-langui-hero .card-head>div:first-child{display:grid;gap:3px}.sftp-langui-hero .card-head h2,.sftp-langui-hero .card-head p{margin:0}.sftp-langui-hero .card-head h2{font-size:22px}.sftp-langui-hero .card-head p{color:rgba(255,255,255,.72);font-size:10px}.sftp-langui-hero .card-head small{color:rgba(255,255,255,.38);font-size:8px}
.sftp-langui-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.8fr);gap:14px;align-items:start}.sftp-langui-layout>.system-section,.sftp-langui-side,.sftp-langui-side>.system-section{min-width:0}.sftp-langui-layout>.system-section,.sftp-langui-side>.system-section{margin:0}.sftp-langui-side{display:grid;gap:14px}.langui-account-tools{margin:12px 0 10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:rgba(0,0,0,.14)}.langui-account-table .engine-table-head,.langui-account-table .engine-table-row{grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr) minmax(105px,.7fr) minmax(145px,1fr);min-width:620px}.langui-account-table .engine-table-row{padding-top:15px;padding-bottom:15px}.langui-account-table [data-langui-account-row][hidden]{display:none}.langui-account-no-result{padding:18px 13px;color:rgba(255,255,255,.42);font-size:9px;text-align:center}.langui-connection-table .engine-table-head,.langui-connection-table .engine-table-row{grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) 90px 105px minmax(90px,.8fr);min-width:560px}.langui-connection-table .engine-table-row{padding-top:13px;padding-bottom:13px}.langui-security-stack{display:grid;gap:10px;margin-top:10px}.langui-security-stack .engine-block{box-shadow:none}.langui-security-stack .engine-empty{min-height:92px}.langui-readonly{color:rgba(255,255,255,.38);font-size:8px}.langui-technical-details{margin-top:14px}.langui-technical-details>summary{cursor:pointer;color:rgba(255,255,255,.72);font-size:11px;font-weight:550}.langui-technical-details[open]>summary{margin-bottom:14px}.langui-technical-details .engine-business-actions .status-badge{pointer-events:none}
.langui-account-table .engine-table-head,.langui-account-table .engine-table-row{grid-template-columns:minmax(120px,1fr) minmax(105px,.8fr) minmax(90px,.65fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(105px,.7fr) minmax(110px,.8fr);min-width:900px}.langui-security-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) minmax(150px,.35fr);gap:8px;margin:12px 0 10px}.langui-security-table .engine-table-head,.langui-security-table .engine-table-row{grid-template-columns:minmax(125px,.8fr) minmax(115px,.75fr) 90px minmax(140px,1fr) minmax(125px,.85fr) 75px minmax(130px,.9fr) minmax(120px,.85fr);min-width:1050px}.langui-security-table .engine-table-row{position:relative;padding-top:13px;padding-bottom:13px}.langui-security-table .engine-table-row:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--status-unknown)}.langui-security-table .security-tone-ok:before{background:var(--status-ok)}.langui-security-table .security-tone-warning:before{background:var(--status-warning)}.langui-security-table .security-tone-critical:before{background:var(--status-critical)}
@media(max-width:820px){.langui-security-tools{grid-template-columns:1fr}.langui-account-table,.langui-security-table{overflow-x:auto}}
.sftp-account-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.sftp-accounts-detail{margin-top:14px}.sftp-active-account-table .engine-table-head,.sftp-active-account-table .engine-table-row{grid-template-columns:minmax(125px,1fr) minmax(120px,.9fr) minmax(125px,.85fr) minmax(135px,.95fr) minmax(110px,.75fr) minmax(110px,.75fr);min-width:820px}.sftp-active-account-table .engine-table-row{padding-top:13px;padding-bottom:13px}.sftp-active-account-table [data-sftp-account-row][hidden],.sftp-active-account-table [data-sftp-account-empty][hidden]{display:none}.sftp-account-usage,.sftp-volume-space,.sftp-account-trend{display:grid;gap:4px}.sftp-account-usage>strong,.sftp-volume-space>strong,.sftp-account-trend>strong{font-size:9px;font-weight:560}.sftp-account-usage>.account-weight-track{width:100%}.sftp-volume-space>small,.sftp-account-trend>small{color:var(--muted);font-size:8px}.sftp-contract-note{margin:11px 0 0;color:rgba(255,255,255,.42);font-size:8px}.sftp-storage-capacity{padding:12px 0 14px}.sftp-storage-capacity .account-weight-track i{background:var(--status-ok);box-shadow:0 0 8px rgba(50,215,109,.34)}.sftp-volume-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:10px;padding:11px;border:1px solid var(--line-soft);border-radius:5px;background:rgba(0,0,0,.12)}.sftp-volume-summary>strong{grid-column:1/-1;font-size:10px}.sftp-volume-summary>span{color:var(--muted);font-size:8px}.sftp-connection-count{font-size:20px;font-variant-numeric:tabular-nums}.sftp-inventory-metrics{margin-top:14px}.sftp-inventory-metrics .collection-card>p{margin:10px 0 0;color:#fff;font-size:14px;font-weight:620}.sftp-inventory-metrics .collection-card header{gap:8px}
@media(max-width:1180px){.sftp-langui-layout{grid-template-columns:1fr}.sftp-langui-side{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.sftp-account-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.sftp-langui-side{grid-template-columns:1fr}.sftp-langui-hero .card-head{align-items:flex-start;flex-direction:column}.langui-account-tools{padding:8px}.langui-account-tools input{min-width:180px}.sftp-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sidebar nav{display:flex;align-items:stretch;gap:6px}.sidebar nav>a,.sidebar nav>button{flex:0 0 auto}.sidebar-apps{display:flex;align-items:stretch;flex:0 0 auto;gap:5px;margin:0;padding:0;border:0}.sidebar-app-group{position:relative;display:flex;gap:4px;padding-top:11px}.sidebar-app-group h2{position:absolute;inset:0 auto auto 4px;margin:0;font-size:6px}.sidebar-app-row{flex:0 0 auto;min-width:94px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.sidebar-app-row>a.module-nav-link{min-height:43px;padding:7px 5px;gap:5px;border:0;background:transparent}.sidebar-app-row>a.module-nav-link .icon{margin-left:0}.sidebar-app-row.is-planned{min-width:86px;margin:0;padding:7px;gap:6px}.sidebar-app-row.is-planned small{display:none}.app-visibility{flex-basis:23px;width:23px;height:14px;margin-right:5px}.app-visibility i:after{width:8px;height:8px}.app-visibility input:checked+i:after{left:11px}.module-drag-handle{width:28px;height:28px;right:5px;bottom:4px;padding:8px;opacity:.28}}

/* Portefeuille NEXIS : composition de composants DS, sans modèle métier local. */
.nexis-page-tabs{margin-bottom:12px}.nexis-portfolio{display:grid;gap:12px}.nexis-portfolio[hidden]{display:none}.nexis-portfolio-head,.nexis-portfolio-chart>header,.nexis-portfolio-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.nexis-portfolio-head{padding:2px 0 4px}.nexis-portfolio-head h2,.nexis-portfolio-chart h2,.nexis-portfolio-table-head h2{margin:2px 0 0;font-size:18px}.nexis-portfolio-head p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:9px}.nexis-portfolio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.nexis-portfolio-controls,.nexis-portfolio-chart,.nexis-portfolio-table-section{padding:14px}.nexis-portfolio-contract-controls{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.nexis-portfolio-contract-controls button{opacity:.48}.nexis-portfolio-contract-controls span{color:var(--muted);font-size:8px}.nexis-portfolio-chart-empty{position:relative;margin-top:10px;min-height:150px;border:1px solid var(--line-soft);border-radius:5px;background:rgba(0,0,0,.1)}.nexis-portfolio-chart-empty svg{display:block;width:100%;height:150px}.nexis-portfolio-chart-empty line{stroke:rgba(255,255,255,.11);stroke-width:1}.nexis-portfolio-chart-empty p{position:absolute;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);color:var(--muted);font-size:9px;text-align:center}.nexis-portfolio-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px;color:var(--muted);font-size:8px}.nexis-portfolio-bulk label{display:flex;align-items:center;gap:7px}.nexis-portfolio-table .engine-table-head,.nexis-portfolio-table .engine-table-row{grid-template-columns:64px minmax(150px,1.2fr) minmax(120px,.9fr) minmax(120px,.9fr) 105px 100px 100px 72px minmax(190px,1.1fr);min-width:1120px}.nexis-portfolio-table .engine-table-row{padding-top:11px;padding-bottom:11px}.nexis-portfolio-table .engine-table-row>span,.nexis-portfolio-table .engine-table-row>time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nexis-portfolio-table .engine-table-row[hidden]{display:none}.nexis-portfolio-empty{padding:24px;color:var(--muted);font-size:9px;text-align:center}.nexis-portfolio-empty[hidden]{display:none}.workspace-association-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}.workspace-association-summary>[data-workspace-association]{overflow:hidden;text-overflow:ellipsis}.workspace-association-summary button{flex:0 0 auto;padding:5px 8px}.engine-table-row.has-workspace-link{background:rgba(124,91,255,.045)}.workspace-association-drawer form{display:grid;gap:12px}.workspace-association-drawer form>label{display:grid;gap:5px;color:var(--muted);font-size:9px}.workspace-association-drawer .workspace-actions{display:flex;gap:8px}.workspace-association-drawer [data-workspace-quick-form]{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.workspace-association-drawer [data-workspace-quick-form] button{align-self:end}
@media(max-width:980px){.nexis-portfolio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nexis-portfolio-head,.nexis-portfolio-chart>header,.nexis-portfolio-table-head{align-items:flex-start;flex-direction:column}.nexis-portfolio-kpis{grid-template-columns:1fr 1fr}.nexis-portfolio-contract-controls{align-items:flex-start;flex-direction:column}.nexis-portfolio-bulk{align-items:flex-start;flex-direction:column}.workspace-association-drawer [data-workspace-quick-form]{grid-template-columns:1fr}}
.nexis-portfolio{grid-template-columns:minmax(0,1fr)}.nexis-portfolio,.nexis-portfolio-table-section,.nexis-portfolio-table{min-width:0}.engine-table.nexis-portfolio-table{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.nexis-portfolio-table .engine-table-head,.nexis-portfolio-table .engine-table-row{grid-template-columns:54px minmax(170px,1.15fr) minmax(120px,.72fr) minmax(230px,1.2fr) minmax(120px,.72fr) minmax(105px,.65fr);min-width:900px}.nexis-workspace-usage{display:grid;gap:6px;min-width:0}.nexis-workspace-usage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.nexis-workspace-usage-head>strong{overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:600;white-space:nowrap}.nexis-workspace-usage-head>b{flex:none;color:var(--text);font-size:9px;font-weight:700}.nexis-workspace-usage>.engine-storage-meter{width:100%;height:7px!important;margin:0}
.nexis-workspace-usage-value{display:inline-flex;align-items:center;gap:7px;flex:none}.nexis-workspace-usage-value>b{color:var(--text);font-size:9px;font-style:normal;font-weight:700}.workspace-low-space-warning{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid rgba(255,173,51,.85);border-radius:50%;background:rgba(255,145,0,.14);box-shadow:0 0 10px rgba(255,145,0,.35);color:#ffb13b;font-size:10px;font-style:normal;font-weight:800}.nexis-portfolio-table .engine-table-row.is-low-space,.nexis-workspace-row.is-low-space{background:linear-gradient(90deg,rgba(255,145,0,.055),rgba(255,145,0,.015))}.nexis-portfolio-table .engine-table-row.is-low-space .engine-storage-meter i,.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}
.nexis-reader-mode .nexis-workspace-layout{grid-template-columns:minmax(0,1fr)}.nexis-reader-mode .workspace-tree-panel,.nexis-reader-mode .nexis-portfolio-bulk{display:none}.nexis-reader-mode .nexis-portfolio-table .engine-table-head,.nexis-reader-mode .nexis-portfolio-table .engine-table-row{grid-template-columns:minmax(190px,1.25fr) minmax(130px,.75fr) minmax(250px,1.4fr);min-width:650px}.nexis-reader-mode .nexis-portfolio-table .engine-table-head>span:first-child,.nexis-reader-mode .nexis-portfolio-table .engine-table-row>span:first-child,.nexis-reader-mode .nexis-portfolio-table .engine-table-head>span:last-child,.nexis-reader-mode .nexis-portfolio-table .engine-table-row>span:last-child{display:none}

/* Nexis Fleet : topologie sobre fondée uniquement sur les snapshots publics. */
.nexis-fleet-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:18px}.nexis-fleet-head h2,.nexis-fleet-head p{margin:0}.nexis-fleet-head h2{margin:3px 0;font-size:22px}.nexis-fleet-head>div>p:last-child{color:var(--muted);font-size:9px}.nexis-empty{display:flex;align-items:center;gap:12px}.nexis-empty .icon{width:30px;height:30px}.nexis-empty span{display:block;color:var(--muted);font-size:9px}@media(max-width:760px){.nexis-fleet-head{align-items:flex-start;flex-direction:column}}

/* Les règles de navigation restent prioritaires sur les anciens layouts mobiles. */
@media(max-width:920px){
  .sidebar nav[aria-label="Navigation principale"]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:6px;overflow:visible;padding:0}
  .sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-entry,.sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-group{min-width:0}
}
@media(max-width:560px){
  .sidebar nav[aria-label="Navigation principale"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;overflow:visible}
  .sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-entry,.sidebar nav[aria-label="Navigation principale"]>.sidebar-nav-group{flex:none}
}

/* Collectors : collecte et dernier réglage, sans doublon de date. */
.collection-admin-table .engine-table-head,.collection-admin-table .engine-table-row{grid-template-columns:minmax(145px,1.1fr) minmax(125px,.9fr) 112px minmax(125px,.9fr) minmax(145px,1fr) 132px;min-width:890px}.collection-admin-table .status-badge{min-width:max-content}
.collection-admin-table .engine-table-head [role=columnheader]{min-width:0}.collection-admin-table .engine-table-head button{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;font:inherit;text-align:left;text-transform:inherit;cursor:pointer}.collection-admin-table .engine-table-head button:hover,.collection-admin-table .engine-table-head button:focus-visible{color:#fff}.collection-admin-table .engine-table-head button:focus-visible{outline:1px solid rgba(255,255,255,.8);outline-offset:3px;border-radius:2px}.collection-admin-table .engine-table-head button i{width:0;height:0;border-right:3px solid transparent;border-left:3px solid transparent;opacity:0;transition:opacity .15s ease}.collection-admin-table .engine-table-head [aria-sort=ascending] button i{border-bottom:5px solid currentColor;opacity:.82}.collection-admin-table .engine-table-head [aria-sort=descending] button i{border-top:5px solid currentColor;opacity:.82}
.service-admin-row>span:first-child,.service-admin-row>span:nth-child(2){display:grid;min-width:0;gap:2px}.service-admin-row>span:first-child strong,.service-admin-row>span:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.service-admin-row>span:first-child small{color:var(--muted);font-size:7px}.service-admin-row>time{color:var(--muted);font-size:8px}.service-admin-row[data-service-state="starting"] .dot,.service-admin-row[data-service-state="restarting"] .dot,.service-admin-row[data-service-state="stopping"] .dot{animation:service-transition-pulse 1.4s ease-in-out infinite}
.site-notification-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.site-notification-test-trigger{min-height:28px;padding:6px 9px;box-shadow:none;font-size:8px}.site-notification-test-result{margin:-1px 0 9px;padding:10px 11px;border:1px solid rgba(50,215,109,.44);border-radius:5px;background:rgba(50,215,109,.08);color:rgba(255,255,255,.82);font-size:9px}.site-notification-test-result.is-error{border-color:rgba(255,69,58,.5);background:rgba(255,69,58,.08)}@media(max-width:560px){.site-notification-status-actions{align-items:flex-start;justify-content:flex-start}.site-notification-test-trigger{width:100%;justify-content:center}}
.collection-admin-details time{display:block;margin-top:4px;color:var(--muted);font-size:8px}
.collector-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.collector-row-actions .service-icon-actions{gap:3px}.collector-row-actions .service-icon-action{width:27px;height:27px}.collector-row-actions>.service-icon-action{margin-left:2px}
.nexis-portfolio-contract-controls .ds-button{min-height:32px;padding:7px 11px;text-decoration:none}.catalogue-links{display:grid;gap:5px;margin-top:10px}.catalogue-link-row{margin:0;padding:7px 9px;border:1px solid var(--line-soft);border-radius:4px;background:rgba(255,255,255,.025);font-size:9px}.catalogue-dialog{width:min(440px,calc(100vw - 28px))}.catalogue-dialog label{display:grid;gap:6px}.catalogue-dialog input{min-height:36px}.catalogue-dialog[open]::backdrop{background:rgba(2,8,14,.7);backdrop-filter:blur(10px)}
.catalogue-dialog-message{margin:8px 0 0;min-height:18px}.catalogue-dialog-message:empty{margin-top:0;min-height:0}
.portfolio-workspace-row.is-removed{filter:grayscale(.85);opacity:.52;border-style:dashed}.portfolio-workspace-row.is-removed>i{opacity:.38}
.nexis-detail-drawer.module-drawer{width:min(40vw,820px)}.nexis-detail-drawer .nexis-kpi-strip .nexis-detail-stats{grid-template-columns:repeat(4,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:180px}.catalogue-list-section>div{max-height:480px;overflow:auto;padding-right:4px}.catalogue-list-section{padding:12px}.catalogue-row{min-height:38px;padding:4px 0}.catalogue-row-actions{display:flex!important;grid-auto-flow:column;gap:2px!important}.catalogue-icon-action{width:27px!important;height:27px!important;min-height:27px!important;padding:5px!important}.catalogue-governance{padding:12px}.catalogue-links{display:none}.removed-workspaces-panel{margin-top:10px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(255,255,255,.025)}.removed-workspaces-panel>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:11px;cursor:pointer;list-style:none}.removed-workspaces-panel>summary span{font-size:10px;font-weight:700}.removed-workspaces-panel>summary strong{grid-row:1/3;grid-column:2;align-self:center;color:rgba(255,255,255,.62)}.removed-workspaces-panel>summary small{color:var(--muted);font-size:8px}.removed-workspaces-list{display:grid;max-height:360px;overflow:auto;border-top:1px solid var(--line-soft)}.removed-workspaces-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px;border-top:1px solid rgba(255,255,255,.06);filter:grayscale(.8);opacity:.62}.removed-workspaces-list article:first-child{border-top:0}.removed-workspaces-list article div{display:grid;gap:2px}.removed-workspaces-list article strong{font-size:9px}.removed-workspaces-list article span,.removed-workspaces-list article time{color:var(--muted);font-size:8px}@media(max-width:1100px){.nexis-detail-drawer.module-drawer{width:min(50vw,720px)}}@media(max-width:760px){.nexis-detail-drawer.module-drawer{width:100%}}
.engine-dialog{background:linear-gradient(145deg,rgba(8,25,35,.84),rgba(25,16,51,.8));backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.engine-dialog::backdrop{background:rgba(0,0,0,.54);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.workspace-quick-dialog{background:linear-gradient(135deg,rgba(22,45,55,.84),rgba(25,18,58,.8));backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.workspace-quick-dialog::backdrop{background:rgba(3,10,16,.48)}
.table-sort-trigger{display:inline-flex;align-items:center;gap:5px;width:100%;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.table-sort-trigger:hover,.table-sort-trigger:focus-visible{color:#fff}.table-sort-trigger:focus-visible{outline:1px solid rgba(255,255,255,.75);outline-offset:3px;border-radius:2px}.table-sort-indicator{display:inline-block;flex:none;width:0;height:0;border-right:3px solid transparent;border-left:3px solid transparent;opacity:0;transition:opacity .15s ease}.table-sort-trigger:hover .table-sort-indicator{border-bottom:5px solid currentColor;opacity:.28}[role="columnheader"][aria-sort="ascending"] .table-sort-indicator{border-top:0;border-bottom:5px solid currentColor;opacity:.9}[role="columnheader"][aria-sort="descending"] .table-sort-indicator{border-top:5px solid currentColor;border-bottom:0;opacity:.9}

/* NEXIS : densité d'exploitation, sans modifier les données ni les actions. */
.nexis-fleet-summary-compact{gap:7px;margin-bottom:10px}.nexis-fleet-summary-compact>.ds-stat-card{min-height:68px;padding:9px 11px}.nexis-fleet-summary-compact>.ds-stat-card span{font-size:7px}.nexis-fleet-summary-compact>.ds-stat-card strong{margin-top:3px;font-size:15px}.nexis-fleet-summary-compact>.ds-stat-card.large strong{font-size:14px}.nexis-global-history{padding:13px}.nexis-global-history>header{gap:12px}.nexis-global-history>header>div:first-child{min-width:0}.nexis-global-history>header span{font-size:8px}.nexis-range-controls{flex-wrap:wrap;justify-content:flex-end;gap:4px}.nexis-range-controls button{min-height:27px;padding:4px 8px;font-size:7px}.nexis-global-history footer{gap:10px;font-size:7px}.nexis-global-history footer strong{margin-left:auto;text-align:right}.nexis-portfolio-table-section{overflow:hidden}.nexis-portfolio-table .engine-table-head{position:sticky;top:0;z-index:1;background:rgba(8,18,33,.9);backdrop-filter:blur(12px)}.nexis-portfolio-table .engine-table-row{transition:background .16s ease}.nexis-portfolio-table .engine-table-row:hover{background:rgba(103,89,213,.09)}.nexis-workspace-usage>.engine-storage-meter{border-color:rgba(255,255,255,.11)}.workspace-new-badge{white-space:nowrap}.removed-workspaces-panel>summary:hover{background:rgba(255,255,255,.035)}

/* Atelier : actions sûres et lisibles, tableaux denses et zones sans débordement. */
.workspace-studio-toolbar,.workspace-studio-summary-strip,.workspace-studio-layout,.workspace-studio-table,.workspace-studio-canvas{min-width:0}.workspace-studio-toolbar{border-color:rgba(255,255,255,.14);background:linear-gradient(105deg,rgba(16,38,48,.43),rgba(31,19,67,.4))}.workspace-studio-toolbar .ds-input{min-width:0}.workspace-studio-layout{gap:9px}.workspace-studio-inbox,.workspace-studio-canvas,.workspace-studio-inspector{border-color:rgba(255,255,255,.13)}.workspace-studio-inbox-list{scrollbar-color:rgba(130,111,255,.7) transparent;scrollbar-width:thin}.workspace-studio-inbox-list::-webkit-scrollbar{width:7px}.workspace-studio-inbox-list::-webkit-scrollbar-thumb{border-radius:99px;background:rgba(130,111,255,.6)}.studio-client-node{box-shadow:inset 0 1px rgba(255,255,255,.025)}.studio-client-node>summary{min-height:48px;padding:9px 11px}.studio-client-node>summary:focus-visible,.studio-program-node:focus-visible{outline:2px solid rgba(96,213,234,.75);outline-offset:-2px}.studio-client-node>summary strong{font-size:12px}.studio-client-node>summary small{font-size:7px}.studio-client-actions,.studio-program-actions{gap:3px}.studio-client-actions button,.studio-program-actions button{border-color:rgba(255,255,255,.22)}.studio-client-actions button:focus-visible,.studio-program-actions button:focus-visible{outline:2px solid rgba(96,213,234,.8);outline-offset:2px}.studio-program-node{min-height:43px;padding:7px 8px}.studio-program-workspace-select{min-height:27px}.workspace-studio-table{overflow:hidden}.workspace-studio-table .engine-table{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.studio-table-client{position:sticky;left:0;z-index:1;min-height:34px;padding:7px 10px}.studio-table-client strong{font-size:9px}.workspace-studio-table .engine-table-row{min-height:39px}.workspace-studio-table .engine-table-row:hover{background:rgba(103,89,213,.08)}

/* Lectures réduites : conserver les tableaux horizontaux plutôt que compresser les chiffres. */
@media(max-width:760px){
  .nexis-fleet-summary-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.nexis-fleet-summary-compact>.ds-stat-card{min-height:58px;padding:8px}.nexis-fleet-summary-compact>.ds-stat-card span{font-size:7px;line-height:1.2}.nexis-fleet-summary-compact>.ds-stat-card strong{font-size:13px}.nexis-fleet-summary-compact>.ds-stat-card.large{grid-column:span 2}.nexis-global-history{padding:10px}.nexis-global-history>header{align-items:flex-start;flex-direction:column}.nexis-range-controls{justify-content:flex-start}.nexis-global-history footer{align-items:flex-start;flex-wrap:wrap}.nexis-global-history footer strong{width:100%;margin-left:0;text-align:left}
  .nexis-portfolio-kpis{gap:6px}.nexis-portfolio-kpis>.ds-stat-card{min-height:58px;padding:8px}.nexis-portfolio-kpis>.ds-stat-card span{font-size:7px}.nexis-portfolio-kpis>.ds-stat-card strong{font-size:13px}.nexis-workspace-main,.nexis-portfolio-table-section{max-width:100%;overflow:hidden}.nexis-portfolio-table{border-radius:6px}.nexis-portfolio-table .engine-table-head,.nexis-portfolio-table .engine-table-row{min-width:760px;padding-left:9px;padding-right:9px}.nexis-portfolio-bulk-actions{gap:5px;flex-wrap:wrap}.nexis-portfolio-bulk-actions .ds-button,.nexis-portfolio-bulk-actions button{min-height:29px;padding:5px 8px;font-size:7px}
  .workspace-studio-summary-strip{gap:6px}.workspace-studio-summary-strip>.ds-stat-card{min-height:56px;padding:8px}.workspace-studio-summary-strip>.ds-stat-card span{font-size:7px}.workspace-studio-summary-strip>.ds-stat-card strong{font-size:13px}.workspace-studio-view-card .workspace-studio-view-switch button{min-height:28px;font-size:7px}.workspace-studio-toolbar{gap:6px;padding:9px}.workspace-studio-toolbar>.secondary,.workspace-studio-toolbar [data-studio-edit-actions] button,.workspace-studio-edit-lock button{min-height:31px;height:31px;padding:5px 8px}.workspace-studio-inbox,.workspace-studio-canvas,.workspace-studio-inspector,.workspace-studio-table{padding:10px}.workspace-studio-inbox-list{max-height:300px}.studio-client-node>summary{min-height:45px;padding:8px 9px}.studio-client-node>summary strong{font-size:11px}.studio-client-programs{padding:0 8px 8px}.studio-program-node{min-height:40px}.workspace-studio-table .engine-table-head,.workspace-studio-table .engine-table-row{min-width:800px;padding-left:9px;padding-right:9px}.studio-table-client{min-width:800px;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px}.studio-table-client em{display:none}
}
@media(max-width:420px){
  .nexis-fleet-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.nexis-fleet-summary-compact>.ds-stat-card.large{grid-column:1/-1}.nexis-fleet-summary-compact>.ds-stat-card{min-height:54px}.nexis-portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.nexis-portfolio-kpis>.ds-stat-card:last-child{grid-column:span 1}.workspace-studio-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-studio-summary-strip>.workspace-studio-identity,.workspace-studio-summary-strip>.workspace-studio-view-card{grid-column:1/-1}.workspace-studio-toolbar{grid-template-columns:1fr 1fr}.workspace-studio-toolbar label:first-child{grid-column:1/-1}.workspace-studio-toolbar [data-studio-edit-actions]{grid-column:1/-1}.workspace-studio-toolbar [data-studio-edit-actions] button{flex:1}.workspace-studio-toolbar>.secondary:last-child{grid-column:span 2}.studio-client-actions button,.studio-program-actions button{width:25px;min-width:25px;height:25px;min-height:25px}.studio-client-actions button:hover,.studio-program-actions button:hover{width:25px}.studio-client-actions button::after,.studio-program-actions button::after{display:none}
}

/* Langui : sept colonnes alignées, évolution 24 h incluse. */
.sftp-active-account-table .engine-table-head,.sftp-active-account-table .engine-table-row{grid-template-columns:minmax(125px,1fr) minmax(120px,.9fr) minmax(125px,.85fr) minmax(135px,.95fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(135px,.85fr);min-width:980px}
/* Portefeuille NEXIS : compteur et suppression */
.nexis-portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 9px}
.nexis-portfolio-kpis>.ds-stat-card.large{min-height:58px;padding:8px 10px}
.nexis-portfolio-kpis>.ds-stat-card.large>span{color:rgba(255,255,255,.9);font-size:7px}
.nexis-portfolio-kpis>.ds-stat-card.large>strong{margin-top:3px;color:#fff;font-size:14px;line-height:1.15}
.workspace-tree-portfolio-row{position:relative}.workspace-tree-portfolio-row .workspace-tree-portfolio{padding-right:36px}.workspace-tree-portfolio-row .workspace-tree-portfolio small{display:grid;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;border:1px solid rgba(50,215,109,.55);border-radius:999px;background:rgba(50,215,109,.09);box-shadow:none;color:var(--green);font-size:10px;font-weight:800;line-height:1}.workspace-tree-portfolio-delete{position:absolute;top:50%;right:7px;z-index:2;display:grid;place-items:center;width:15px;height:15px;padding:0;border:0;border-radius:3px;background:transparent;color:rgba(255,255,255,.37);cursor:pointer;opacity:.9;transform:translateY(-50%);transition:color .15s ease,filter .15s ease}.workspace-tree-portfolio-delete svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.workspace-tree-portfolio-delete:hover,.workspace-tree-portfolio-delete:focus-visible{color:#ff8a65;filter:drop-shadow(0 0 5px rgba(255,104,71,.5));outline:0}.workspace-portfolio-delete-dialog p:not(.workspace-note){color:var(--muted);font-size:11px;line-height:1.5}.workspace-portfolio-delete-confirm{border-color:rgba(255,112,140,.7)!important;background:linear-gradient(135deg,rgba(148,37,71,.95),rgba(101,23,57,.95))!important}
.sftp-active-account-table .engine-table-head,.sftp-active-account-table .engine-table-row{grid-template-columns:minmax(125px,1fr) minmax(120px,.9fr) minmax(125px,.85fr) minmax(135px,.95fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(120px,.8fr) minmax(135px,.85fr);min-width:1100px}
.langui-security-table .engine-table-head,.langui-security-table .engine-table-row{grid-template-columns:minmax(125px,.8fr) minmax(115px,.72fr) minmax(135px,.9fr) minmax(145px,.95fr) 70px minmax(105px,.68fr) minmax(115px,.75fr) minmax(170px,1.1fr) minmax(110px,.72fr) 86px;min-width:1390px}.langui-security-table .status-badge{max-width:100%;white-space:nowrap}.sftp-security-action button{min-height:27px;padding:5px 8px;border-radius:5px;font-size:8px;font-weight:700}.sftp-ban-button{border-color:rgba(255,100,109,.7);background:rgba(120,24,38,.36);color:#ff9198}.sftp-unban-button{border-color:rgba(98,233,159,.6);background:rgba(22,102,67,.28);color:#62e99f}.sftp-security-dialog form>label{display:grid;gap:6px;color:var(--muted);font-size:9px}.sftp-security-dialog textarea{resize:vertical}

/* Langui : classement par activité et dernière connexion visible. */
.sftp-active-account-table .engine-table-head,.sftp-active-account-table .engine-table-row{grid-template-columns:minmax(125px,1fr) minmax(120px,.9fr) minmax(125px,.85fr) minmax(135px,.95fr) minmax(110px,.75fr) minmax(125px,.82fr) minmax(110px,.75fr) minmax(120px,.8fr) minmax(135px,.85fr);min-width:1230px}.sftp-last-connection{color:rgba(255,255,255,.78);font-variant-numeric:tabular-nums;white-space:nowrap}
/* Groupes Workspaces : résumé compact et historique par portefeuille. */
.portfolio-head-actions{display:flex;align-items:center;gap:8px}.portfolio-overview{display:grid;grid-template-columns:176px minmax(0,1fr);gap:12px}.portfolio-overview .portfolio-kpis{grid-template-columns:repeat(2,82px);grid-auto-rows:82px}.portfolio-overview .portfolio-kpis article{align-content:center;padding:9px}.portfolio-overview .portfolio-kpis span{font-size:7px}.portfolio-overview .portfolio-kpis strong{font-size:15px}.portfolio-history{position:relative;display:grid;min-height:171px;padding:10px;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(135deg,rgba(53,203,234,.035),rgba(124,91,255,.06))}.portfolio-history header{display:flex;align-items:center;justify-content:space-between;gap:8px}.portfolio-history header>div:first-child{display:grid;gap:2px}.portfolio-history header span{color:var(--muted);font-size:8px}.portfolio-history header strong{font-size:10px}.portfolio-history header [role=group]{display:flex;gap:3px}.portfolio-history header button{padding:4px 7px;border:1px solid var(--line-soft);border-radius:999px;background:transparent;color:var(--muted);font-size:7px}.portfolio-history header button[aria-pressed=true]{border-color:rgba(53,203,234,.55);background:rgba(53,203,234,.1);color:#fff}.portfolio-history svg{width:100%;height:135px;overflow:visible}.portfolio-history [data-history-grid] line{stroke:rgba(255,255,255,.08);stroke-width:1}.portfolio-history [data-history-labels] text{fill:var(--muted);font-size:8px}.portfolio-history [data-history-line]{fill:none;stroke:#62d9ef;stroke-width:2.5;vector-effect:non-scaling-stroke}.portfolio-history [data-history-area]{fill:rgba(124,91,255,.12);stroke:none}.portfolio-history [data-history-empty]{position:absolute;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-10%);color:var(--muted);font-size:9px}.portfolio-create-dialog small{color:var(--muted);font-size:8px}
@media(max-width:850px){.portfolio-overview{grid-template-columns:1fr}.portfolio-overview .portfolio-kpis{grid-template-columns:repeat(4,minmax(72px,1fr));grid-auto-rows:76px}}
@media(max-width:560px){.portfolio-head-actions{width:100%;flex-wrap:wrap}.portfolio-overview .portfolio-kpis{grid-template-columns:repeat(2,minmax(72px,1fr))}}
/* Explorateur Workspaces : la liste défile seule et chaque groupe tient sur une ligne. */
@media(min-width:981px){.workspace-tree-panel{display:flex;flex-direction:column;max-height:calc(100vh - 24px);overflow:hidden}.workspace-tree{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:3px;scrollbar-gutter:stable}}
.workspace-tree{gap:2px;margin-top:6px}.workspace-tree-client{display:grid;gap:2px}.workspace-tree-program{display:grid;gap:2px;padding-left:0;border-left:0}.workspace-tree-portfolio{min-height:27px;padding:4px 42px 4px 7px;font-size:8px}.workspace-tree-portfolio-row .workspace-tree-portfolio{padding-right:42px}.workspace-tree-portfolio-row .workspace-tree-portfolio small{position:absolute;right:22px;min-width:17px;height:17px;margin:0;padding:0 4px;font-size:7px}.workspace-tree-portfolio-delete{right:4px;width:14px;height:14px}.workspace-tree-portfolio-delete svg{width:11px;height:11px}.workspace-tree-all{margin-top:7px;padding:6px 8px}.workspace-tree-panel header p:last-child{display:none}
.workspace-tree-client-toggle{display:flex;align-items:center;gap:5px;width:100%;min-height:24px;padding:3px 5px;border:0;border-radius:4px;background:rgba(255,255,255,.035);color:#fff;font-size:8px;font-weight:750;text-align:left}.workspace-tree-client-toggle::before{content:'›';width:8px;color:var(--muted);font-size:12px;line-height:1;transform:rotate(90deg);transition:transform .15s}.workspace-tree-client-toggle[aria-expanded=false]::before{transform:rotate(0)}.workspace-tree-client-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-tree-client-toggle small{margin-left:auto;color:var(--muted);font-size:7px}.workspace-tree-client-body{display:grid;gap:2px;padding-left:5px}.workspace-tree-client-body[hidden]{display:none}
.workspace-tree-client-head{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:2px}.workspace-tree-client-pin{display:grid;place-items:center;width:22px;min-height:24px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.35)}.workspace-tree-client-pin svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.workspace-tree-client-pin:hover,.workspace-tree-client-pin:focus-visible{color:#bda8ff;outline:0}.workspace-tree-client-pin.is-pinned{background:rgba(124,91,255,.14);color:#bda8ff;filter:drop-shadow(0 0 4px rgba(124,91,255,.45))}
/* Règles transversales encore consommées par Langui et la carte NEXIS. */
.langui-security-table [data-sftp-security-row][hidden],.langui-security-table [data-sftp-security-empty][hidden]{display:none!important}.nexis-capacity-threshold{stroke:rgba(244,173,61,.52);stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke;pointer-events:none}

/* Scrollbars ITM Engine : discrètes, fines et cohérentes avec la palette du Dashboard. */
html,*{scrollbar-width:thin;scrollbar-color:rgba(130,111,255,.58) rgba(3,10,24,.18)}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:rgba(3,10,24,.18);border-radius:999px}
*::-webkit-scrollbar-thumb{border:1px solid rgba(8,16,34,.45);border-radius:999px;background:linear-gradient(180deg,rgba(79,215,211,.62),rgba(130,111,255,.7))}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(91,232,226,.82),rgba(155,108,255,.88));box-shadow:0 0 8px rgba(124,91,255,.32)}
*::-webkit-scrollbar-corner{background:transparent}

/* Détail NET : prolongement visuel de la carte réseau du Dashboard. */
.net-detail-panel{display:grid;gap:12px}.net-detail-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.net-detail-heading>div{display:grid;gap:3px}.net-detail-heading small{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.12em}.net-detail-heading h3{margin:0;color:#fff;font-size:15px}.net-detail-heading p{margin:0;color:var(--muted);font-size:8px}.net-detail-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.net-detail-kpi{display:grid;align-content:start;min-height:96px;padding:12px;border:1px solid rgba(150,176,224,.2);border-radius:9px;background:linear-gradient(135deg,rgba(53,203,234,.055),rgba(124,91,255,.075));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.net-detail-kpi>span{color:var(--muted);font-size:8px;font-weight:700}.net-detail-kpi>strong{margin-top:12px;color:#fff;font-size:18px;line-height:1.05}.net-detail-delta{align-self:end;margin-top:8px;color:var(--muted);font-size:7px}.net-detail-delta.is-positive{color:#52dda3}.net-detail-delta.is-negative{color:#ff7479}.net-detail-delta.is-stable{color:rgba(255,255,255,.42)}.net-detail-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.net-detail-chart{min-width:0;padding:12px;border:1px solid rgba(150,176,224,.18);border-radius:9px;background:linear-gradient(145deg,rgba(8,20,36,.66),rgba(19,13,47,.58));overflow:hidden}.net-detail-chart>header{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:5px}.net-detail-chart>header>div:first-child{display:grid;gap:2px}.net-detail-chart>header strong{color:#fff;font-size:10px}.net-detail-chart>header small{color:var(--muted);font-size:7px}.net-detail-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;color:var(--muted);font-size:7px}.net-detail-chart-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.net-detail-chart-legend i{width:14px;height:2px;border-radius:999px}.net-detail-chart-legend .series-1 i{background:#9b6cff;box-shadow:0 0 5px rgba(155,108,255,.35)}.net-detail-chart-legend .series-2 i{background:#35cbea;box-shadow:0 0 5px rgba(53,203,234,.35)}.net-detail-chart svg{display:block;width:100%;height:auto;overflow:visible}.net-detail-grid-line{stroke:rgba(185,204,226,.11);stroke-width:1;vector-effect:non-scaling-stroke}.net-detail-axis-label{fill:rgba(185,204,226,.52);font-size:8px}.net-detail-series{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.net-detail-series.series-1{stroke:#9b6cff}.net-detail-series.series-2{stroke:#35cbea}.net-detail-point{stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke;fill-opacity:.22}.net-detail-point.series-1{color:#9b6cff;fill:#9b6cff}.net-detail-point.series-2{color:#35cbea;fill:#35cbea}.net-detail-point.is-latest{transform-box:fill-box;transform-origin:center}.net-detail-chart-empty{display:grid;place-items:center;min-height:180px;color:var(--muted);font-size:8px;text-align:center}@keyframes net-detail-point-pulse{0%,100%{opacity:.82;transform:scale(.9)}50%{opacity:1;transform:scale(1.35)}}
@media(max-width:1000px){.net-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.net-detail-chart-grid{grid-template-columns:1fr}}
@media(max-width:600px){.net-detail-heading{align-items:start;flex-direction:column}.net-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.net-detail-kpi{min-height:82px;padding:10px}.net-detail-kpi>strong{font-size:15px}.net-detail-chart{padding:9px}.net-detail-chart>header{align-items:start;flex-direction:column}.net-detail-chart-legend{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.net-detail-point.is-latest{animation:none}}
.nexis-workspace-layout{grid-template-columns:minmax(0,1fr)}
.nexis-portfolio-table .engine-table-head,.nexis-portfolio-table .engine-table-row{grid-template-columns:minmax(190px,1.15fr) minmax(130px,.72fr) minmax(250px,1.2fr) minmax(150px,.72fr) minmax(140px,.65fr);min-width:900px}
@media(max-width:620px){.resource-task-strip{grid-template-columns:20px minmax(0,1fr) auto;gap:7px;padding:7px 9px}.resource-task-strip-copy{display:grid;gap:1px}.resource-task-strip-copy strong{font-size:9px}.resource-task-strip-copy small{font-size:7px}.resource-task-strip-action{padding:3px 6px;font-size:7px}}
.langui-security-table .engine-table-head,.langui-security-table .engine-table-row{grid-template-columns:42px minmax(125px,.8fr) minmax(115px,.72fr) minmax(135px,.9fr) minmax(145px,.95fr) 70px minmax(105px,.68fr) minmax(115px,.75fr) minmax(170px,1.1fr) minmax(110px,.72fr) 86px;min-width:1432px}.sftp-security-select{display:flex;align-items:center;justify-content:center;align-self:stretch}.sftp-security-select input{width:12px;height:12px;margin:0;accent-color:#ff6470}.langui-security-table .engine-table-row{transition:background-color .16s ease,border-color .16s ease}.langui-security-table .engine-table-row.is-selected{border-color:rgba(255,100,109,.42);background:rgba(255,69,58,.105);box-shadow:inset 2px 0 rgba(255,100,109,.9)}.langui-security-table .engine-table-row.is-selected .sftp-ban-button{border-color:rgba(255,100,109,.9);background:rgba(142,27,42,.5)}
