:root {
  --bg:#070b14;
  --surface:#0b1220;
  --surface-2:#0e1728;
  --surface-3:#111d31;
  --card:#0b1526;
  --card-h:#0d192c;
  --line:#1d2b43;
  --line-strong:#2b4163;
  --text:#f7f9fc;
  --muted:#91a0b8;
  --muted-2:#64748f;
  --blue:#2f78ff;
  --blue-bright:#4d8cff;
  --blue-soft:rgba(47,120,255,.12);
  --green:#4ed7a1;
  --amber:#f4b95f;
  --red:#ff6879;
  --cyan:#65d7dd;
  --violet:#2f78ff;
  --violet-l:#4d8cff;
  --violet-d:#1763d5;
  --border:#1d2b43;
  --border-v:#2b4163;
  --ink:#f7f9fc;
  --ink2:#91a0b8;
  --ink3:#64748f;
  --bg1:#0b1629;
  --bg2:#0e1728;
  --orange:#f4b95f;
  --f:"IBM Plex Sans",Inter,system-ui,sans-serif;
  --f-d:"Bricolage Grotesque",Inter,system-ui,sans-serif;
  --f-mono:"IBM Plex Mono","JetBrains Mono",monospace;
  --header-h:78px;
  --sidebar-w:232px;
  --r:12px;
  --r-sm:8px;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body,
body.panel-index,
body.panel-server,
body.panel-admin,
body.panel-login{
  min-height:100vh!important;
  margin:0!important;
  color:var(--text)!important;
  background:
    radial-gradient(circle at 82% 4%,rgba(47,120,255,.09),transparent 25%),
    radial-gradient(circle at 18% 100%,rgba(101,215,221,.035),transparent 28%),
    var(--bg)!important;
  font-family:var(--f)!important;
  font-size:14px!important;
  line-height:1.5;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  opacity:.32!important;
  pointer-events:none!important;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px)!important;
  background-size:48px 48px!important;
  mix-blend-mode:normal!important;
  mask-image:radial-gradient(circle at 58% 40%,#000 4%,transparent 78%);
}
body::after{display:none!important}
body>*{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{color:#fff;background:var(--blue)}
:focus-visible{outline:2px solid var(--blue-bright)!important;outline-offset:3px}

/* Structure commune */
.topbar{
  position:fixed!important;
  z-index:100!important;
  inset:0 0 auto!important;
  height:var(--header-h)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding:0 28px!important;
  border:0!important;
  border-bottom:1px solid #162239!important;
  background:rgba(6,11,21,.96)!important;
  backdrop-filter:blur(18px)!important;
}
.topbar-brand,.mobile-brand{
  min-width:205px;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  color:#fff!important;
  font-family:var(--f-d)!important;
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:-.35px!important;
}
.topbar-brand img,.mobile-brand img{width:36px!important;height:36px!important;border-radius:9px!important;object-fit:contain!important;filter:none!important}
.brand-accent{color:#fff!important}
.burger-btn,.burger{
  width:38px!important;
  height:38px!important;
  display:none!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  color:#aebbd0!important;
  background:#0a1322!important;
}
.mobile-actions{display:flex;align-items:center;gap:8px}

.sidebar{
  position:fixed!important;
  z-index:90!important;
  top:var(--header-h)!important;
  bottom:0!important;
  left:0!important;
  width:var(--sidebar-w)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  border:0!important;
  border-right:1px solid #1a2a44!important;
  background:#0b1629!important;
  box-shadow:none!important;
}
.sb-brand{
  min-height:62px!important;
  padding:14px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-shrink:0!important;
  border:0!important;
  border-bottom:1px solid #1a2a44!important;
  color:#fff!important;
  background:transparent!important;
  font-family:var(--f-d)!important;
  font-size:16px!important;
  font-weight:800!important;
}
.sb-brand img,.sb-brand-logo img{width:32px!important;height:32px!important;border-radius:8px!important;object-fit:contain!important;filter:none!important}
.sb-brand-logo{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;background:transparent!important}
.sb-brand-copy{min-width:0;flex:1}
.sb-brand-name{color:#fff!important;font:800 16px/1.1 var(--f-d)!important}
.sb-brand-meta{margin-top:3px;color:#607897!important;font:700 8px/1 var(--f-mono)!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.sb-badge{padding:4px 7px!important;border:1px solid #33558a!important;border-radius:5px!important;color:#85b2fa!important;background:#102448!important;font:800 8px/1 var(--f-mono)!important;text-transform:uppercase!important}
.sb-section{padding:18px 8px 2px!important;flex-shrink:0!important}
.sb-section+.sb-section{padding-top:12px!important}
.sb-lbl{margin:0 0 8px!important;padding:0 12px!important;color:#536985!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.17em!important;text-transform:uppercase!important}
.nav-item{
  position:relative!important;
  min-height:43px!important;
  width:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0 0 2px!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:9px!important;
  color:#8fa0ba!important;
  background:transparent!important;
  font-family:var(--f)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-align:left!important;
  transition:color .18s ease,background .18s ease!important;
}
.nav-item:hover{color:#fff!important;background:rgba(255,255,255,.04)!important}
.nav-item.active{color:#fff!important;background:#183462!important;box-shadow:inset 3px 0 0 var(--blue-bright)!important}
.nav-item.active::before{display:none!important}
.nav-icon{width:19px!important;height:22px!important;display:grid!important;place-items:center!important;flex:0 0 19px!important;color:#7890b2!important;background:transparent!important;font:700 14px/1 var(--f-mono)!important;text-align:center!important}
.nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.nav-item.active .nav-icon{color:#fff!important}
.nav-badge,.nav-count{margin-left:auto!important;min-width:20px!important;padding:3px 6px!important;border:1px solid #2e4b76!important;border-radius:5px!important;color:#9ab9e9!important;background:#10213a!important;font:800 8px/1 var(--f-mono)!important;text-align:center!important}
.sb-spacer{flex:1!important;min-height:18px!important}
.sb-user{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:9px!important;
  margin:10px!important;
  padding:11px!important;
  border:1px solid #203858!important;
  border-radius:10px!important;
  background:#0e1c34!important;
}
.sb-ava{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border:1px solid #3563a1!important;border-radius:8px!important;color:#fff!important;background:#2052a1!important;font-weight:800!important}
.sb-uinfo,.sb-info{min-width:0!important}
.sb-uname,.sb-name{overflow:hidden!important;color:#fff!important;font-size:12px!important;font-weight:750!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.sb-urole,.sb-role{margin-top:2px!important;color:#6880a2!important;font:700 8px/1 var(--f-mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.sb-logout{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:7px!important;color:#7688a2!important;background:transparent!important}
.sb-logout:hover{color:var(--red)!important;background:rgba(255,104,121,.08)!important}
.sb-disk,.workspace-state{margin:12px 10px 0!important;padding:11px!important;border:1px solid #203858!important;border-radius:9px!important;background:#0d1a2e!important}
.sb-disk-lbl{display:flex;justify-content:space-between;color:#7690b2!important;font:700 9px/1 var(--f-mono)!important}
.sb-disk-bar,.scan-progress-bar-bg{height:5px!important;margin-top:9px!important;overflow:hidden!important;border-radius:999px!important;background:#1b2940!important}
.sb-disk-fill,.scan-progress-bar{height:100%;border-radius:inherit}
.workspace-state{display:flex;align-items:center;gap:9px}
.workspace-state-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.workspace-state-title{color:#dfe8f5;font-size:10px;font-weight:750}
.workspace-state-sub{margin-top:2px;color:#617693;font:700 8px/1 var(--f-mono)}

.main{
  width:auto!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0 0 0 var(--sidebar-w)!important;
  padding:calc(var(--header-h) + 42px) 34px 64px!important;
  background:transparent!important;
}
.content{width:min(1420px,100%);margin:0 auto}

/* Dashboard du panel */
.ph,.page-header,.hero{width:min(1420px,100%);margin-right:auto!important;margin-left:auto!important}
.ph{margin-bottom:25px!important}
.ph-eyebrow,.eyebrow,.overview-eyebrow,.admin-section-kicker{margin-bottom:7px!important;color:var(--blue-bright)!important;font:800 9px/1 var(--f-mono)!important;letter-spacing:.22em!important;text-transform:uppercase!important}
.ph-title,.hero-title,.page-title,.overview-title,.admin-section-title{color:#fff!important;font-family:var(--f-d)!important;font-weight:800!important;letter-spacing:-1px!important}
.ph-title{margin:0!important;font-size:clamp(30px,3vw,40px)!important;line-height:1!important}
.ph-title span,.hero-title span{color:#fff!important}
.coins-banner{width:min(1420px,100%);min-height:52px;margin:0 auto 16px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid #203758!important;border-radius:10px!important;background:#0b1628!important}
.coins-left{color:#8298b7!important;font-size:11px!important;font-weight:700!important}
.coins-val{color:#fff!important;font:800 12px/1 var(--f-mono)!important}
.stats-grid{width:min(1420px,100%);margin:0 auto 16px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.stat-card,.kpi-card,.metric{
  min-height:116px!important;
  padding:17px!important;
  border:1px solid #1e314d!important;
  border-radius:11px!important;
  background:#0b1526!important;
  box-shadow:none!important;
}
.stat-card:hover,.kpi-card:hover,.metric:hover{border-color:#2a456b!important;background:#0d192c!important;transform:translateY(-1px)!important}
.stat-icon,.kpi-icon,.metric-icon,.page-header-icon{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid #28518b!important;border-radius:8px!important;color:#75a8ff!important;background:#10284a!important;font-size:15px!important}
.stat-val,.kpi-value,.metric-val{margin-top:13px!important;color:#fff!important;font-family:var(--f-d)!important;font-size:25px!important;font-weight:800!important}
.stat-lbl,.kpi-label,.metric-label{margin-top:3px!important;color:#647995!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.actions-row{width:min(1420px,100%);margin:0 auto 22px!important;display:flex!important;gap:9px!important;flex-wrap:wrap!important}
.btn-action,.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-cyan,.header-btn,.refresh-btn,.hero-action,.quick-action,.empty-btn{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 14px!important;
  border:1px solid #2a3d5d!important;
  border-radius:8px!important;
  color:#adbed7!important;
  background:#0a1322!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:800!important;
  transition:.18s ease!important;
}
.btn-action:hover,.btn:hover,.btn-ghost:hover,.header-btn:hover,.refresh-btn:hover,.hero-action:hover,.quick-action:hover{border-color:#3b577f!important;color:#fff!important;background:#0d192b!important;transform:translateY(-1px)!important}
.btn-action-primary,.btn-primary,.hero-action.primary,.refresh-btn{border-color:#397ff0!important;color:#fff!important;background:#1763d5!important}
.btn-action-primary:hover,.btn-primary:hover,.hero-action.primary:hover,.refresh-btn:hover{border-color:#5594ff!important;background:#2373e8!important}
.btn-action-cyan,.btn-cyan{border-color:#2f6b7a!important;color:#b9f8fb!important;background:#12333e!important}
.btn-danger,.btn-danger-full,.mini-del{border-color:rgba(255,104,121,.35)!important;color:#ff8795!important;background:rgba(255,104,121,.08)!important}
.btn-warn{border:1px solid rgba(244,185,95,.36)!important;color:var(--amber)!important;background:rgba(244,185,95,.08)!important}
.creds-grid{width:min(1420px,100%);margin:0 auto 16px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.creds-card,.section-card,.card,.ops-panel,.recent-card,.maint-card,.threat-card{
  border:1px solid #1e314d!important;
  border-radius:12px!important;
  background:#0b1526!important;
  box-shadow:none!important;
}
.creds-card{padding:18px!important}
.creds-title,.section-title,.section-title,.disk-title{color:#fff!important;font-family:var(--f-d)!important;font-size:14px!important;font-weight:800!important}
.cred-row,.info-row{min-height:42px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;border-bottom:1px solid #1b2c45!important}
.cred-row:last-child,.info-row:last-child{border-bottom:0!important}
.cred-key,.info-key{color:#667c99!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.cred-val,.info-val{color:#dbe5f3!important;font-size:11px!important;font-weight:700!important}
.copy-btn,.mini-btn,.act-btn,.btn-sm-admin,.page-btn,.pg-btn{
  min-height:30px!important;
  padding:0 9px!important;
  border:1px solid #2b4162!important;
  border-radius:6px!important;
  color:#9fb2ce!important;
  background:#0d192b!important;
  font-size:9px!important;
  font-weight:800!important;
}
.copy-btn:hover,.mini-btn:hover,.act-btn:hover,.btn-sm-admin:hover{color:#fff!important;border-color:#426895!important;background:#11213a!important}
.section-card{width:min(1420px,100%);margin:0 auto 16px!important;overflow:hidden!important}
.section-head,.card>.section-head{min-height:56px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid #1e314d!important;background:#0c1729!important}
.section-count{padding:4px 8px!important;border:1px solid #2b4162!important;border-radius:5px!important;color:#8397b5!important;background:#0b1728!important;font:700 8px/1 var(--f-mono)!important}
.item-row{min-height:82px!important;padding:14px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;border-bottom:1px solid #1b2c45!important;background:transparent!important}
.item-row:last-child{border-bottom:0!important}
.item-row:hover{background:#0d192c!important}
.item-left{min-width:0;display:flex;align-items:center;gap:13px}
.item-icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border:1px solid #28518b!important;border-radius:9px!important;color:#75a8ff!important;background:#10284a!important}
.item-icon-web{color:#65d7dd!important;border-color:#245a68!important;background:#0d2934!important}
.item-name{color:#fff!important;font-family:var(--f-d)!important;font-size:15px!important;font-weight:750!important}
.item-meta,.item-specs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#657a96!important;font-size:9px!important}
.item-right{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.item-spec-val{color:#cfd9e8!important;font-weight:700!important}
.badge,.status{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:4px 8px!important;border:1px solid #33445f!important;border-radius:999px!important;color:#8d9bb0!important;background:rgba(141,155,176,.07)!important;font:800 8px/1 var(--f-mono)!important}
.badge-active,.badge-running,.status-running,.badge-green{border-color:rgba(78,215,161,.34)!important;color:var(--green)!important;background:rgba(78,215,161,.08)!important}
.badge-suspended,.badge-pending,.status-pending,.status-suspended{border-color:rgba(244,185,95,.35)!important;color:var(--amber)!important;background:rgba(244,185,95,.08)!important}
.badge-banned{border-color:rgba(255,104,121,.35)!important;color:var(--red)!important;background:rgba(255,104,121,.08)!important}
.empty,.empty-state,.scan-empty{padding:48px 22px!important;color:#8394af!important;text-align:center!important}
.empty-icon,.scan-empty-icon{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;margin:0 auto 13px!important;border:1px solid #2a4872!important;border-radius:10px!important;color:#72a8ff!important;background:#10213b!important}

/* Page hébergement */
.back-link{width:min(1420px,100%);display:block;margin:0 auto 14px!important;color:#7186a6!important;font-size:10px!important;font-weight:750!important}
.back-link:hover{color:#fff!important}
.hero{margin-bottom:14px!important;padding:22px!important;border:1px solid #203758!important;border-radius:12px!important;background:#0b1628!important;box-shadow:none!important}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.hero-title{margin:3px 0 8px!important;font-size:clamp(25px,3vw,34px)!important}
.hero-domain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#7e93b0!important;font:600 10px/1.4 var(--f-mono)!important}
.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hero-hints{margin-top:18px!important;padding-top:14px!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;border-top:1px solid #1d304c!important}
.hint-chip{padding:5px 8px!important;border:1px solid #253b5d!important;border-radius:6px!important;color:#7186a5!important;background:#0b1728!important;font-size:8px!important}
.tabs{width:min(1420px,100%);margin:0 auto 16px!important;display:flex!important;gap:3px!important;overflow:auto!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.tab{position:relative!important;min-height:48px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:0 14px!important;border:0!important;border-radius:0!important;color:#8ea0bc!important;background:transparent!important;font-size:11px!important;font-weight:700!important;white-space:nowrap!important}
.tab.active,.tab:hover{color:#fff!important;background:rgba(17,31,53,.55)!important}
.tab.active::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--blue-bright)}
.grid{width:min(1420px,100%);margin-right:auto!important;margin-left:auto!important;gap:12px!important}
.card{padding:18px!important}
.card:hover{border-color:#2a456b!important}
.metric-top,.disk-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.metric-top{align-items:flex-start}
.toolbar,.fm-header,.editor-header{padding:12px!important;border:1px solid #223755!important;border-radius:9px!important;background:#0c1729!important}
.input,.select,.txtarea,.field-input,.field-select,.search-input,.palette-input,.command-search,.ed-find input{
  min-height:42px!important;
  border:1px solid #253956!important;
  border-radius:8px!important;
  outline:0!important;
  color:#edf3fc!important;
  background:#08111f!important;
  box-shadow:none!important;
}
.input:focus,.select:focus,.txtarea:focus,.field-input:focus,.field-select:focus,.search-input:focus,.palette-input:focus,.command-search:focus{border-color:#397ff0!important;box-shadow:0 0 0 3px rgba(47,120,255,.1)!important}
.input::placeholder,.txtarea::placeholder,.field-input::placeholder,.search-input::placeholder{color:#536982!important}
.label,.field-label{display:block!important;margin-bottom:6px!important;color:#7186a6!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.fm-grid{gap:8px!important}
.grid-item,.file-row,.bk-row,.log-row,.pi-hint,.quick-action{border-color:#1f3452!important;background:#0c182a!important;box-shadow:none!important}
.grid-item:hover,.file-row:hover,.bk-row:hover,.log-row:hover,.quick-action:hover{border-color:#31517e!important;background:#0f1e34!important}
.file-icon,.gi-icon,.bk-icon,.qa-ico{color:#79aaff!important;background:#10284a!important;border-color:#28518b!important}
.file-name,.gi-name,.bk-name,.log-action{color:#eaf0fa!important}
.file-sub,.gi-meta,.bk-note,.log-details,.log-when{color:#667c99!important}
.editor-wrap,.ed-area,.file-editor-wrap,.file-browser{border-color:#213654!important;background:#08111f!important}
.editor-toolbar,.editor-header,.editor-statusbar,.file-editor-header{border-color:#213654!important;background:#0d1a2d!important}
.editor-textarea,.file-editor-area{color:#d9e5f5!important;background:#07101d!important;font-family:var(--f-mono)!important}
.ed-area{position:relative!important;background:#07101d!important}
.ed-area #edHl{z-index:1!important;color:#eaf2ff!important;background:transparent!important}
.ed-area #edHl code{color:inherit!important}
.ed-area .editor-textarea{position:relative!important;z-index:2!important;color:transparent!important;-webkit-text-fill-color:transparent!important;background:transparent!important;caret-color:#80adf5!important}
.ed-area .editor-textarea::selection{color:transparent!important;-webkit-text-fill-color:transparent!important;background:rgba(47,120,255,.38)!important}
.modal-overlay,.palette-overlay,.lightbox{background:rgba(2,6,13,.78)!important;backdrop-filter:blur(10px)!important}
.modal,.palette,.command-modal,.drawer{border:1px solid #294267!important;border-radius:12px!important;background:#0b1629!important;box-shadow:0 28px 90px rgba(0,0,0,.58)!important}
.modal-head,.modal-tabs,.drawer-head,.palette-foot{border-color:#203552!important;background:#0c192c!important}

/* Administration */
body.panel-admin .icon{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
body.panel-admin .topbar{justify-content:space-between!important}
body.panel-admin .main{display:block!important}
.page-header{min-height:66px!important;margin-bottom:18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:0!important;border:0!important;background:transparent!important}
.page-header-left{display:flex;align-items:center;gap:12px}
.page-title{font-size:23px!important}
.page-sub{margin-top:3px;color:#7185a2!important;font-size:10px!important}
.header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.header-status,.command-trigger{min-height:36px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:0 10px!important;border:1px solid #253956!important;border-radius:8px!important;color:#8fa4c1!important;background:#091321!important;font-size:9px!important;font-weight:750!important}
.connection-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}
.overview-hero{padding:26px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:28px!important;border:1px solid #203758!important;border-radius:12px!important;background:#0b1628!important;box-shadow:none!important}
.overview-title{max-width:760px!important;margin:8px 0 10px!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.05!important}
.overview-copy,.admin-section-copy{max-width:720px;color:#8397b5!important;font-size:12px!important;line-height:1.65!important}
.overview-actions{margin-top:19px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.health-gauge{border-color:#28518b!important;background:#10284a!important;box-shadow:none!important}
.overview-kpis,.quick-grid,.recent-grid,.metric-grid{gap:12px!important}
.admin-section-head,.sec-header{margin:28px 0 12px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important}
.admin-section-title,.sec-title{margin:0!important;color:#fff!important;font-family:var(--f-d)!important;font-size:20px!important;font-weight:800!important}
.search-shell,.sec-controls{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.table-wrap{overflow:auto!important;border:1px solid #1e314d!important;border-radius:11px!important;background:#0b1526!important;box-shadow:none!important}
.data-table{width:100%!important;border-collapse:collapse!important}
.data-table th{height:44px!important;padding:0 13px!important;border-bottom:1px solid #223755!important;color:#617794!important;background:#0d192b!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.1em!important;text-align:left!important;text-transform:uppercase!important;white-space:nowrap!important}
.data-table td{padding:12px 13px!important;border-bottom:1px solid #1a2b44!important;color:#cbd6e6!important;font-size:11px!important}
.data-table tr:last-child td{border-bottom:0!important}
.data-table tbody tr:hover td{background:#0d192c!important}
.activity-item,.recent-item,.posture-row,.resource-row{border-color:#1d304c!important}
.notice,.flash{border-color:#2b4163!important;border-radius:8px!important;color:#9db0ca!important;background:#0c192c!important}

/* Connexion */
body.panel-login{display:grid!important;place-items:center!important;padding:26px!important;overflow:auto!important}
body.panel-login::before{opacity:.38!important}
.login-wrap{width:100%!important;min-height:auto!important;display:grid!important;place-items:center!important;padding:0!important}
.login-card{width:min(470px,100%)!important;overflow:hidden!important;border:1px solid #233a5d!important;border-radius:16px!important;background:#0b1526!important;box-shadow:0 30px 100px rgba(0,0,0,.52)!important}
.login-glow{height:2px!important;inset:0 0 auto!important;background:linear-gradient(90deg,transparent,var(--blue-bright),var(--cyan),transparent)!important;filter:none!important;opacity:1!important}
.login-body{padding:38px!important}
.login-brand{display:flex!important;align-items:center!important;gap:11px!important;color:#fff!important;font-family:var(--f-d)!important;font-size:18px!important;font-weight:800!important}
.login-brand img{width:40px!important;height:40px!important;border-radius:9px!important;object-fit:contain!important;filter:none!important}
.login-title{margin:30px 0 8px!important;color:#fff!important;font-family:var(--f-d)!important;font-size:30px!important;font-weight:800!important;letter-spacing:-1px!important}
.login-title span{color:var(--blue-bright)!important}
.login-sub{margin:0 0 26px!important;color:#7287a5!important;font:600 9px/1.55 var(--f-mono)!important}
.login-error{margin-bottom:16px!important;padding:11px 12px!important;border:1px solid rgba(255,104,121,.3)!important;border-radius:8px!important;color:#ff96a1!important;background:rgba(255,104,121,.07)!important;font-size:10px!important}
.form-group{margin-bottom:16px!important}
.form-label{display:block!important;margin-bottom:7px!important;color:#7186a6!important;font:800 8px/1 var(--f-mono)!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.form-input-wrap{position:relative!important}
.form-input{width:100%!important;height:48px!important;padding:0 78px 0 43px!important;border:1px solid #253956!important;border-radius:9px!important;outline:0!important;color:#edf3fc!important;background:#08111f!important;box-shadow:none!important}
.form-input:focus{border-color:#397ff0!important;box-shadow:0 0 0 3px rgba(47,120,255,.1)!important}
.form-input-icon{position:absolute!important;z-index:2!important;top:50%!important;left:14px!important;color:#6680a3!important;transform:translateY(-50%)!important}
.pw-toggle-btn{position:absolute!important;z-index:2!important;top:50%!important;right:9px!important;min-height:30px!important;padding:0 8px!important;border:0!important;border-radius:6px!important;color:#7f94b2!important;background:#101e32!important;font-size:9px!important;font-weight:750!important;transform:translateY(-50%)!important}
.btn-login{width:100%!important;height:48px!important;margin-top:4px!important;border:1px solid #397ff0!important;border-radius:9px!important;color:#fff!important;background:#1763d5!important;font-size:11px!important;font-weight:800!important;box-shadow:0 14px 34px rgba(23,99,213,.2)!important}
.btn-login:hover{border-color:#5594ff!important;background:#2373e8!important;transform:translateY(-1px)!important}
.login-footer{margin-top:24px!important;padding-top:18px!important;border-top:1px solid #1d304c!important;text-align:center!important}
.login-footer-text{color:#607592!important;font-size:9px!important}
.login-footer-link{display:inline-block;margin-top:7px;color:#80adf5!important;font-size:10px!important;font-weight:750!important}

@media (max-width:1100px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .item-specs{display:none!important}
  .overview-hero{grid-template-columns:1fr!important}
  .health-gauge{display:none!important}
}
@media (max-width:820px){
  :root{--header-h:64px}
  .topbar{height:64px!important;padding:0 14px!important}
  .topbar-brand,.mobile-brand{min-width:0!important;font-size:15px!important}
  .topbar-brand img,.mobile-brand img{width:30px!important;height:30px!important}
  .burger-btn,.burger{display:grid!important}
  .sidebar{top:0!important;z-index:120!important;transform:translateX(-100%)!important;box-shadow:24px 0 70px rgba(0,0,0,.5)!important}
  .sidebar.open{transform:translateX(0)!important}
  .backdrop{position:fixed!important;z-index:110!important;inset:0!important;display:block!important;opacity:0!important;background:rgba(2,6,13,.72)!important;pointer-events:none!important;transition:.2s ease!important}
  .backdrop.open{opacity:1!important;pointer-events:auto!important}
  .main{margin-left:0!important;padding:calc(var(--header-h) + 26px) 14px 42px!important}
  .header-actions .command-trigger,.header-actions .header-status,.header-actions .header-clock{display:none!important}
  .creds-grid{grid-template-columns:1fr!important}
  .item-row{align-items:flex-start!important}
  .item-right{align-items:flex-end!important;flex-direction:column!important}
  .hero-top{flex-direction:column!important}
  .hero-actions{justify-content:flex-start!important}
}
@media (max-width:560px){
  .login-body{padding:28px 22px!important}
  .login-title{font-size:26px!important}
  .stats-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .stat-card{min-height:100px!important;padding:13px!important}
  .stat-val{font-size:21px!important}
  .ph-title{font-size:29px!important}
  .item-row{flex-direction:column!important}
  .item-right{width:100%!important;align-items:flex-start!important}
  .actions-row>*{flex:1!important}
  .tabs{margin-right:-14px!important;margin-left:-14px!important;padding-left:14px!important;width:calc(100% + 28px)!important}
  .hero{padding:17px!important}
  .overview-title{font-size:29px!important}
  .page-header{align-items:flex-start!important;flex-direction:column!important}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
