/* PSI Portal v13: independent, cache-busting dashboard shell */
.admin-rail-brand { display:none; }

body[data-portal-role="admin"] {
  --v13-rail:264px;
  --v13-top:76px;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:#f3f6fa!important;
}

body[data-portal-role="admin"] .admin-rail-brand {
  position:fixed!important;
  z-index:100!important;
  top:0!important;
  left:0!important;
  width:var(--v13-rail)!important;
  height:var(--v13-top)!important;
  padding:10px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:#fff!important;
  background:#071126!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

body[data-portal-role="admin"] .admin-rail-brand img {
  width:45px!important;
  height:45px!important;
  flex:0 0 45px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 12px rgba(255,188,37,.28))!important;
}

body[data-portal-role="admin"] .admin-rail-brand span,
body[data-portal-role="admin"] .admin-rail-brand strong,
body[data-portal-role="admin"] .admin-rail-brand small { display:block!important;min-width:0!important; }
body[data-portal-role="admin"] .admin-rail-brand strong { overflow:hidden!important;color:#fff!important;font-size:.9rem!important;font-weight:800!important;text-overflow:ellipsis!important;white-space:nowrap!important; }
body[data-portal-role="admin"] .admin-rail-brand small { margin-top:2px!important;color:#8297b7!important;font-size:.68rem!important;white-space:nowrap!important; }

body[data-portal-role="admin"]>.topbar {
  position:fixed!important;
  z-index:90!important;
  top:0!important;
  right:0!important;
  left:var(--v13-rail)!important;
  width:calc(100% - var(--v13-rail))!important;
  height:var(--v13-top)!important;
  min-height:var(--v13-top)!important;
  margin:0!important;
  padding:10px 22px!important;
  background:#192439!important;
  border:0!important;
  border-bottom:1px solid #344158!important;
  box-shadow:0 4px 16px rgba(7,17,38,.12)!important;
  backdrop-filter:none!important;
}

body[data-portal-role="admin"]>.topbar>.brand { display:none!important; }
body[data-portal-role="admin"]>.topbar::after { display:none!important; }

body[data-portal-role="admin"] #portal-view.portal {
  min-height:100vh!important;
  margin:0!important;
  padding:var(--v13-top) 0 0!important;
  display:block!important;
  background:#f3f6fa!important;
}

body[data-portal-role="admin"] #admin-sidebar.sidebar {
  position:fixed!important;
  z-index:80!important;
  top:var(--v13-top)!important;
  bottom:0!important;
  left:0!important;
  width:var(--v13-rail)!important;
  height:calc(100vh - var(--v13-top))!important;
  margin:0!important;
  padding:25px 12px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  color:#fff!important;
  background:linear-gradient(180deg,#071126 0%,#0a182d 100%)!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  box-shadow:none!important;
}

body[data-portal-role="admin"] #admin-sidebar .sidebar-heading { display:none!important; }
body[data-portal-role="admin"] #admin-sidebar .sidebar-label { margin:0 10px 12px!important;color:#657b9e!important;font-size:.68rem!important;letter-spacing:.15em!important; }
body[data-portal-role="admin"] #admin-sidebar nav { padding:0!important;display:grid!important;gap:6px!important; }
body[data-portal-role="admin"] #admin-sidebar .nav-item { width:100%!important;min-height:46px!important;padding:10px 13px!important;gap:12px!important;border:1px solid transparent!important;border-radius:11px!important;color:#b2bfd2!important;background:transparent!important;box-shadow:none!important;font-size:.82rem!important;font-weight:700!important;transform:none!important; }
body[data-portal-role="admin"] #admin-sidebar .nav-item:hover { color:#fff!important;background:rgba(255,255,255,.06)!important; }
body[data-portal-role="admin"] #admin-sidebar .nav-item.active { color:#142039!important;border-color:#ffbf2d!important;background:linear-gradient(135deg,#ffca36,#ff9e09)!important;box-shadow:0 10px 24px rgba(255,158,9,.23)!important; }
body[data-portal-role="admin"] #admin-sidebar .sidebar-footer { margin-top:auto!important; }

body[data-portal-role="admin"] #portal-content.portal-content {
  width:calc(100% - var(--v13-rail))!important;
  max-width:none!important;
  min-height:calc(100vh - var(--v13-top))!important;
  margin:0 0 0 var(--v13-rail)!important;
  padding:28px clamp(24px,3vw,44px) 64px!important;
  background:radial-gradient(circle at 92% 0,rgba(48,111,200,.07),transparent 25rem),#f3f6fa!important;
}

body[data-portal-role="admin"] .admin-hero { border-radius:20px!important;box-shadow:0 18px 40px rgba(12,29,54,.18)!important; }
body[data-portal-role="admin"] .dashboard-stats .stat { border-radius:16px!important; }
body[data-portal-role="admin"] .scanner-card,
body[data-portal-role="admin"] .table-card { border-radius:18px!important; }

@media(max-width:820px){
  body[data-portal-role="admin"]{--v13-rail:0px;}
  body[data-portal-role="admin"] .admin-rail-brand{display:none!important;}
  body[data-portal-role="admin"]>.topbar{left:0!important;width:100%!important;padding:10px 15px!important;}
  body[data-portal-role="admin"]>.topbar>.brand{position:static!important;width:auto!important;height:auto!important;padding:0!important;display:flex!important;background:transparent!important;border:0!important;}
  body[data-portal-role="admin"] #admin-sidebar.sidebar{position:sticky!important;top:var(--v13-top)!important;width:100%!important;height:auto!important;padding:8px!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;}
  body[data-portal-role="admin"] #admin-sidebar .sidebar-label,
  body[data-portal-role="admin"] #admin-sidebar .sidebar-footer{display:none!important;}
  body[data-portal-role="admin"] #admin-sidebar nav{display:flex!important;width:max-content!important;}
  body[data-portal-role="admin"] #admin-sidebar .nav-item{width:auto!important;min-width:130px!important;}
  body[data-portal-role="admin"] #portal-content.portal-content{width:100%!important;margin-left:0!important;padding:20px 16px 50px!important;}
}
