/* PSI Portal v14 — rebuilt structural client shell */
.client-rail-brand { display:none; }

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

body[data-portal-role="client"] .client-rail-brand {
  position:fixed!important;
  z-index:100!important;
  top:0!important;
  left:0!important;
  width:var(--client-rail)!important;
  height:var(--client-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;
}

body[data-portal-role="client"] .client-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="client"] .client-rail-brand span,
body[data-portal-role="client"] .client-rail-brand strong,
body[data-portal-role="client"] .client-rail-brand small { display:block!important;min-width:0!important; }
body[data-portal-role="client"] .client-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="client"] .client-rail-brand small { margin-top:2px!important;color:#8297b7!important;font-size:.68rem!important;white-space:nowrap!important; }

body[data-portal-role="client"]>.topbar {
  position:fixed!important;
  z-index:90!important;
  top:0!important;
  right:0!important;
  left:var(--client-rail)!important;
  width:calc(100% - var(--client-rail))!important;
  height:var(--client-top)!important;
  min-height:var(--client-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="client"]>.topbar>.brand { display:none!important; }
body[data-portal-role="client"]>.topbar::after { display:none!important; }

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

body[data-portal-role="client"] #client-sidebar.client-sidebar {
  position:fixed!important;
  z-index:80!important;
  top:var(--client-top)!important;
  bottom:0!important;
  left:0!important;
  width:var(--client-rail)!important;
  height:calc(100vh - var(--client-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="client"] #client-sidebar .sidebar-label { margin:0 10px 12px!important;color:#657b9e!important;font-size:.68rem!important;letter-spacing:.15em!important; }
body[data-portal-role="client"] #client-sidebar nav { padding:0!important;display:grid!important;gap:6px!important; }
body[data-portal-role="client"] #client-sidebar .nav-item { width:100%!important;min-height:48px!important;padding:10px 13px!important;display:flex!important;align-items:center!important;justify-content:flex-start!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="client"] #client-sidebar .nav-step { width:28px!important;height:28px!important;flex:0 0 28px!important;display:grid!important;place-items:center!important;border-radius:8px!important;color:#ffbd22!important;background:rgba(255,255,255,.07)!important;font-size:.68rem!important;font-weight:900!important; }
body[data-portal-role="client"] #client-sidebar .nav-item:hover { color:#fff!important;background:rgba(255,255,255,.06)!important; }
body[data-portal-role="client"] #client-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="client"] #client-sidebar .nav-item.active .nav-step { color:#15223b!important;background:rgba(255,255,255,.4)!important; }
body[data-portal-role="client"] #client-sidebar .sidebar-footer { margin-top:auto!important; }

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

body[data-portal-role="client"] .client-quick-nav { display:none!important; }
body[data-portal-role="client"] .client-hero {
  width:100%!important;
  min-height:218px!important;
  margin:0 0 20px!important;
  padding:32px 34px!important;
  grid-template-columns:minmax(0,1fr) 285px!important;
  border-radius:21px!important;
  box-shadow:0 20px 42px rgba(12,29,54,.18)!important;
}
body[data-portal-role="client"] .client-hero-copy { min-width:0!important; }
body[data-portal-role="client"] .client-hero h1 { max-width:100%!important;font-size:clamp(2rem,3.6vw,2.85rem)!important; }
body[data-portal-role="client"] .client-stage-card { width:100%!important;min-width:0!important; }
body[data-portal-role="client"] .client-today { right:34px!important;bottom:18px!important;width:285px!important; }
body[data-portal-role="client"] .journey-panel,
body[data-portal-role="client"] .client-action-card,
body[data-portal-role="client"] .support-card,
body[data-portal-role="client"] .client-guide { max-width:100%!important; }

@media(max-width:980px){
  body[data-portal-role="client"]{--client-rail:220px;}
  body[data-portal-role="client"] .client-hero{grid-template-columns:1fr!important;}
  body[data-portal-role="client"] .client-stage-card{margin-bottom:50px!important;}
  body[data-portal-role="client"] .client-today{right:34px!important;left:34px!important;width:auto!important;}
}

@media(max-width:820px){
  body[data-portal-role="client"]{--client-rail:0px;}
  body[data-portal-role="client"] .client-rail-brand{display:none!important;}
  body[data-portal-role="client"]>.topbar{left:0!important;width:100%!important;padding:10px 15px!important;}
  body[data-portal-role="client"]>.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="client"] #client-sidebar.client-sidebar{position:sticky!important;top:var(--client-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="client"] #client-sidebar .sidebar-label,
  body[data-portal-role="client"] #client-sidebar .sidebar-footer{display:none!important;}
  body[data-portal-role="client"] #client-sidebar nav{display:flex!important;width:max-content!important;}
  body[data-portal-role="client"] #client-sidebar .nav-item{width:auto!important;min-width:165px!important;}
  body[data-portal-role="client"] #portal-content.portal-content{width:100%!important;margin-left:0!important;padding:18px 16px 50px!important;}
}

@media(max-width:580px){
  body[data-portal-role="client"] .notification-bell,
  body[data-portal-role="client"] .account-welcome,
  body[data-portal-role="client"] .account-avatar{display:none!important;}
  body[data-portal-role="client"] .client-hero{min-height:0!important;padding:25px 20px!important;grid-template-columns:1fr!important;border-radius:17px!important;}
  body[data-portal-role="client"] .client-hero h1{font-size:2rem!important;}
  body[data-portal-role="client"] .client-identity-row{grid-template-columns:1fr!important;}
  body[data-portal-role="client"] .client-stage-card{margin-bottom:54px!important;}
  body[data-portal-role="client"] .client-today{right:20px!important;left:20px!important;bottom:14px!important;}
}
