/* =====================================================================
   V121 · Digital Hub institutional system
   Presentation-only refinement layered after V120.

   Goals
   - RWTH institutional blue + white remain the Digital Hub identity.
   - No cursor-following visual effect; motion is restrained and state-based.
   - Connected applications use their real product logos inside Hub surfaces.
   - Light / dark parity is explicit for every Hub surface and dialog.
   - Responsive behavior is preserved from phone through wide desktop.
   - Icons remain glyphs on transparent backgrounds.
   ===================================================================== */
:root{
  --hub121-blue:#00549F;
  --hub121-blue-strong:#003B70;
  --hub121-blue-mid:#407FB7;
  --hub121-blue-light:#8EBAE5;
  --hub121-blue-pale:#E8F1FA;
  --hub121-blue-wash:#F3F8FC;
  --hub121-white:#FFFFFF;
  --hub121-page:#F6F8FB;
  --hub121-surface:#FFFFFF;
  --hub121-surface-alt:#F8FBFE;
  --hub121-ink:#102A43;
  --hub121-ink-soft:#405B73;
  --hub121-muted:#6D8294;
  --hub121-line:#D9E5EF;
  --hub121-line-strong:#B9D3E8;
  --hub121-hover:#EEF5FB;
  --hub121-active:#E3EFF9;
  --hub121-focus:0 0 0 3px rgba(0,84,159,.16);
  --hub121-shadow:0 10px 26px rgba(16,42,67,.055);
  --hub121-modal-shadow:0 22px 64px rgba(12,42,66,.14);
}
[data-theme="dark"]{
  --hub121-page:#071827;
  --hub121-surface:#0B2236;
  --hub121-surface-alt:#0E2941;
  --hub121-ink:#F3F8FC;
  --hub121-ink-soft:#C6D9E8;
  --hub121-muted:#9CB9CE;
  --hub121-line:#24455E;
  --hub121-line-strong:#376887;
  --hub121-hover:#11314C;
  --hub121-active:#12395A;
  --hub121-focus:0 0 0 3px rgba(142,186,229,.22);
  --hub121-shadow:none;
  --hub121-modal-shadow:0 24px 70px rgba(0,0,0,.34);
}

html,
body.imb-institutional-aurora,
body.imb-institutional-aurora .app-shell,
body.imb-institutional-aurora .app-main,
body.imb-institutional-aurora .hub-content{
  background:var(--hub121-page)!important;
  color:var(--hub121-ink)!important;
}

/* ---------------------------------------------------------------------
   Institutional chrome: quiet, precise and flat.
   --------------------------------------------------------------------- */
body.imb-institutional-aurora #hubSidebar,
body.imb-institutional-aurora .topbar{
  background:var(--hub121-surface)!important;
  border-color:var(--hub121-line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .topbar-title small,
body.imb-institutional-aurora #hubSidebar .brand-copy strong,
body.imb-institutional-aurora .sidebar-section-label,
body.imb-institutional-aurora .eyebrow{
  color:var(--hub121-blue)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .topbar-title small,
[data-theme="dark"] body.imb-institutional-aurora #hubSidebar .brand-copy strong,
[data-theme="dark"] body.imb-institutional-aurora .sidebar-section-label,
[data-theme="dark"] body.imb-institutional-aurora .eyebrow{
  color:var(--hub121-blue-light)!important;
}
body.imb-institutional-aurora .topbar-title strong,
body.imb-institutional-aurora .page-intro h1,
body.imb-institutional-aurora h1,
body.imb-institutional-aurora h2,
body.imb-institutional-aurora h3,
body.imb-institutional-aurora strong{color:var(--hub121-ink)!important}
body.imb-institutional-aurora p,
body.imb-institutional-aurora small,
body.imb-institutional-aurora .muted{color:var(--hub121-muted)!important}

/* Navigation has no edge rail: state is carried by the whole control. */
body.imb-institutional-aurora #hubSidebar .nav-link,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link{
  border:1px solid transparent!important;
  border-left-color:transparent!important;
  border-radius:.72rem!important;
  background:transparent!important;
  color:var(--hub121-ink-soft)!important;
  box-shadow:none!important;
  transition:background-color .14s ease,color .14s ease,border-color .14s ease!important;
}
body.imb-institutional-aurora #hubSidebar .nav-link::before,
body.imb-institutional-aurora #hubSidebar .nav-link::after,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link::before,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link::after{
  content:none!important;display:none!important;
}
body.imb-institutional-aurora #hubSidebar .nav-link:hover,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link:hover{
  background:var(--hub121-hover)!important;
  color:var(--hub121-blue)!important;
  border-color:transparent!important;
}
body.imb-institutional-aurora #hubSidebar .nav-link.active,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link.active{
  background:var(--hub121-active)!important;
  color:var(--hub121-blue)!important;
  border-color:var(--hub121-line-strong)!important;
  border-left-color:var(--hub121-line-strong)!important;
}
[data-theme="dark"] body.imb-institutional-aurora #hubSidebar .nav-link.active,
[data-theme="dark"] body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link.active{
  color:var(--hub121-blue-light)!important;
  background:var(--hub121-active)!important;
  border-color:var(--hub121-line-strong)!important;
}

/* Every navigation and utility icon remains transparent. */
body.imb-institutional-aurora .nav-icon,
body.imb-institutional-aurora .mobile-nav-svg,
body.imb-institutional-aurora .request-icon,
body.imb-institutional-aurora .status-symbol,
body.imb-institutional-aurora .governance-action-icon,
body.imb-institutional-aurora .app-icon-large,
body.imb-institutional-aurora .app-mini-icon,
body.imb-institutional-aurora .launcher-app-icon,
body.imb-institutional-aurora .modal-close,
body.imb-institutional-aurora .workflow-number,
body.imb-institutional-aurora .hub-tablet-menu-button,
body.imb-institutional-aurora .sidebar-toggle,
body.imb-institutional-aurora .suite-signout-icon{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .nav-icon,
body.imb-institutional-aurora .mobile-nav-svg,
body.imb-institutional-aurora .request-icon,
body.imb-institutional-aurora .governance-action-icon,
body.imb-institutional-aurora .suite-signout-icon{color:currentColor!important}

/* ---------------------------------------------------------------------
   Shared page surfaces: institutional spacing, almost no elevation.
   --------------------------------------------------------------------- */
body.imb-institutional-aurora .simple-intro{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .simple-intro::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:1.05rem;
  background:var(--hub121-line);
}
body.imb-institutional-aurora .surface,
body.imb-institutional-aurora .person-row,
body.imb-institutional-aurora .registry-card,
body.imb-institutional-aurora .manager-row,
body.imb-institutional-aurora .workflow-panel,
body.imb-institutional-aurora .governance-panel,
body.imb-institutional-aurora .ai-connection-panel,
body.imb-institutional-aurora .modular-note,
body.imb-institutional-aurora .access-app-row,
body.imb-institutional-aurora .person-identity-panel,
body.imb-institutional-aurora .info-box{
  background:var(--hub121-surface)!important;
  color:var(--hub121-ink)!important;
  border-color:var(--hub121-line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .person-row:hover,
body.imb-institutional-aurora .registry-card:hover{
  background:var(--hub121-surface-alt)!important;
  border-color:var(--hub121-line-strong)!important;
  transform:none!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .governance-head,
body.imb-institutional-aurora .ai-connection-note,
body.imb-institutional-aurora .pending-identity,
body.imb-institutional-aurora .info-box,
body.imb-institutional-aurora .person-identity-panel{
  background:var(--hub121-surface-alt)!important;
  border-color:var(--hub121-line)!important;
}

/* Controls */
body.imb-institutional-aurora .btn.btn-primary,
body.imb-institutional-aurora .launcher-open-pill{
  background:var(--hub121-blue)!important;
  color:#fff!important;
  border-color:var(--hub121-blue)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .btn.btn-primary:hover,
body.imb-institutional-aurora .launcher-open-pill:hover{
  background:var(--hub121-blue-strong)!important;
  border-color:var(--hub121-blue-strong)!important;
}
body.imb-institutional-aurora .btn.btn-secondary,
body.imb-institutional-aurora .btn.btn-quiet,
body.imb-institutional-aurora .btn-danger-soft{
  background:var(--hub121-surface)!important;
  color:var(--hub121-blue)!important;
  border-color:var(--hub121-line-strong)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .btn.btn-secondary:hover,
body.imb-institutional-aurora .btn.btn-quiet:hover,
body.imb-institutional-aurora .btn-danger-soft:hover{
  background:var(--hub121-hover)!important;
  border-color:var(--hub121-blue-mid)!important;
  color:var(--hub121-blue)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .btn.btn-secondary,
[data-theme="dark"] body.imb-institutional-aurora .btn.btn-quiet,
[data-theme="dark"] body.imb-institutional-aurora .btn-danger-soft{
  color:var(--hub121-blue-light)!important;
}
body.imb-institutional-aurora .field input,
body.imb-institutional-aurora .field select,
body.imb-institutional-aurora .field textarea,
body.imb-institutional-aurora .search-box{
  background:var(--hub121-surface)!important;
  color:var(--hub121-ink)!important;
  border-color:var(--hub121-line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .field input:focus,
body.imb-institutional-aurora .field select:focus,
body.imb-institutional-aurora .field textarea:focus,
body.imb-institutional-aurora .search-box:focus-within{
  border-color:var(--hub121-blue)!important;
  box-shadow:var(--hub121-focus)!important;
  outline:none!important;
}

/* ---------------------------------------------------------------------
   Workspace cards: an institutional access credential, not a novelty UI.
   Real product logos stay visible. No cursor-following field or animation.
   --------------------------------------------------------------------- */
body.imb-institutional-aurora .app-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1rem!important;
  align-items:stretch!important;
}
body.imb-institutional-aurora .hub-app-launcher{
  --workspace-tone:var(--hub121-blue)!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:20.5rem!important;
  border:1px solid var(--hub121-line-strong)!important;
  border-radius:1rem!important;
  background:var(--hub121-surface)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .15s ease,background-color .15s ease!important;
}
/* V121 intentionally neutralises the V120 pointer-position variables. */
body.imb-institutional-aurora .hub-app-launcher::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  background:
    linear-gradient(90deg,rgba(0,84,159,.055) 1px,transparent 1px),
    linear-gradient(rgba(0,84,159,.04) 1px,transparent 1px)!important;
  background-size:24px 24px!important;
  mask-image:linear-gradient(135deg,#000 0 22%,transparent 58%)!important;
  -webkit-mask-image:linear-gradient(135deg,#000 0 22%,transparent 58%)!important;
}
body.imb-institutional-aurora .hub-app-launcher::after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  z-index:0!important;
  width:13rem!important;
  height:13rem!important;
  right:-7.2rem!important;
  bottom:-7.2rem!important;
  top:auto!important;
  border:1px solid rgba(0,84,159,.13)!important;
  border-radius:50%!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  background:transparent!important;
  box-shadow:0 0 0 2.7rem rgba(0,84,159,.025),0 0 0 5.4rem rgba(0,84,159,.018)!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-app-launcher::before{
  background:
    linear-gradient(90deg,rgba(142,186,229,.055) 1px,transparent 1px),
    linear-gradient(rgba(142,186,229,.04) 1px,transparent 1px)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-app-launcher::after{
  border-color:rgba(142,186,229,.16)!important;
  box-shadow:0 0 0 2.7rem rgba(142,186,229,.025),0 0 0 5.4rem rgba(142,186,229,.016)!important;
}
body.imb-institutional-aurora .hub-app-launcher:hover{
  background:var(--hub121-surface)!important;
  border-color:var(--hub121-blue-mid)!important;
  box-shadow:var(--hub121-shadow)!important;
  transform:none!important;
}
body.imb-institutional-aurora .hub-app-launcher:hover::before,
body.imb-institutional-aurora .hub-app-launcher:hover::after{
  opacity:1!important;transform:none!important;animation:none!important;
}
body.imb-institutional-aurora .hub-app-launcher:focus-visible{
  outline:none!important;
  border-color:var(--hub121-blue)!important;
  box-shadow:var(--hub121-focus)!important;
}
body.imb-institutional-aurora .hub-app-launcher>*{position:relative!important;z-index:1!important}
body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar{
  min-height:2.65rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:.72rem .9rem .55rem!important;
  background:transparent!important;
  border:0!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar::before{
  content:"IMB DIGITAL HUB · APPLICATION"!important;
  color:var(--hub121-blue)!important;
  font-size:.61rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar::before{color:var(--hub121-blue-light)!important}
body.imb-institutional-aurora .hub-app-launcher .launcher-stage{
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  gap:.95rem!important;
  padding:.64rem .9rem .9rem!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-brand{
  display:grid!important;
  grid-template-columns:4.9rem minmax(0,1fr)!important;
  align-items:center!important;
  gap:1rem!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon{
  width:4.9rem!important;
  height:4.9rem!important;
  min-width:4.9rem!important;
  display:grid!important;
  place-items:center!important;
  padding:.5rem!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--hub121-line)!important;
  border-radius:.9rem!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .15s ease!important;
}
body.imb-institutional-aurora .hub-app-launcher:hover .launcher-app-icon{
  transform:none!important;
  border-color:var(--hub121-line-strong)!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  filter:none!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-copy .eyebrow{
  color:var(--hub121-blue)!important;
  font-size:.64rem!important;
  letter-spacing:.11em!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-app-launcher .launcher-copy .eyebrow{color:var(--hub121-blue-light)!important}
body.imb-institutional-aurora .hub-app-launcher .launcher-copy h2{
  margin:.12rem 0 .18rem!important;
  color:var(--hub121-ink)!important;
  letter-spacing:-.025em!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-copy p{color:var(--hub121-muted)!important;max-width:34rem!important}
body.imb-institutional-aurora .launcher-feature-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.5rem!important;
  margin:0!important;
}
body.imb-institutional-aurora .launcher-feature-row span{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:.46rem .54rem!important;
  border:1px solid var(--hub121-line)!important;
  border-radius:.6rem!important;
  background:var(--hub121-surface-alt)!important;
  color:var(--hub121-ink-soft)!important;
  font-size:.7rem!important;
  line-height:1.25!important;
  font-weight:720!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.8rem!important;
  margin-top:auto!important;
  padding-top:.85rem!important;
  border-top:1px solid var(--hub121-line)!important;
}
body.imb-institutional-aurora .launcher-role{
  color:var(--hub121-blue)!important;
  background:transparent!important;
  border:0!important;
  font-size:.73rem!important;
  font-weight:780!important;
  padding:0!important;
}
[data-theme="dark"] body.imb-institutional-aurora .launcher-role{color:var(--hub121-blue-light)!important}
body.imb-institutional-aurora .hub-app-launcher .launcher-open-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:2.45rem!important;
  border-radius:.64rem!important;
  padding:.56rem .8rem!important;
  font-weight:800!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-open-pill::after{
  content:"↗"!important;
  margin-left:.4rem!important;
  transform:none!important;
  transition:none!important;
}
body.imb-institutional-aurora .hub-app-launcher:hover .launcher-open-pill::after{transform:none!important}
body.imb-institutional-aurora .hub-app-launcher.is-waiting{
  background:var(--hub121-surface-alt)!important;
  opacity:.82!important;
  transform:none!important;
}
body.imb-institutional-aurora .hub-app-launcher.is-waiting .launcher-open-pill{
  background:transparent!important;
  color:var(--hub121-muted)!important;
  border-color:var(--hub121-line)!important;
}
body.imb-institutional-aurora .launcher-status-badge,
body.imb-institutional-aurora .launcher-status-badge.ready,
body.imb-institutional-aurora .count-badge,
body.imb-institutional-aurora .account-status{
  background:var(--hub121-blue-wash)!important;
  color:var(--hub121-blue)!important;
  border-color:var(--hub121-line)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .launcher-status-badge,
[data-theme="dark"] body.imb-institutional-aurora .launcher-status-badge.ready,
[data-theme="dark"] body.imb-institutional-aurora .count-badge,
[data-theme="dark"] body.imb-institutional-aurora .account-status{
  background:var(--hub121-surface-alt)!important;
  color:var(--hub121-blue-light)!important;
  border-color:var(--hub121-line)!important;
}

/* App registry cards use the same institutional product treatment. */
body.imb-institutional-aurora .registry-card{
  border-radius:.9rem!important;
  overflow:hidden!important;
  border-color:var(--hub121-line)!important;
}
body.imb-institutional-aurora .registry-card::after{display:none!important;content:none!important}
body.imb-institutional-aurora .registry-card .app-card-icon.small{
  background:#fff!important;
  border:1px solid var(--hub121-line)!important;
  border-radius:.65rem!important;
  padding:.28rem!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .registry-card .app-card-icon.small img{
  width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important;background:transparent!important;
}

/* ---------------------------------------------------------------------
   Login / verification: institutional rather than promotional.
   --------------------------------------------------------------------- */
.login-page,.pending-page,.hub-boot-page{background:var(--hub121-page)!important}
.login-shell{
  width:min(62rem,calc(100vw - 2rem))!important;
  min-height:34rem!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr)!important;
  background:var(--hub121-surface)!important;
  border:1px solid var(--hub121-line-strong)!important;
  border-radius:1rem!important;
  box-shadow:var(--hub121-shadow)!important;
}
.login-story{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:2rem!important;
  padding:2.5rem!important;
  background:var(--hub121-blue-wash)!important;
  color:var(--hub121-ink)!important;
  border-right:1px solid var(--hub121-line)!important;
  box-shadow:none!important;
}
[data-theme="dark"] .login-story{
  background:#0A2B49!important;
  color:#fff!important;
  border-right-color:var(--hub121-line)!important;
}
.login-story::before,
.login-story::after{content:none!important;display:none!important}
.login-story>img{width:min(13rem,62%)!important;height:auto!important;object-fit:contain!important}
.login-story-copy{max-width:34rem!important}
.login-story-copy .eyebrow{color:var(--hub121-blue)!important}
.login-story-copy h1{color:var(--hub121-ink)!important;font-size:clamp(2rem,4vw,3.25rem)!important;line-height:1.02!important;letter-spacing:-.04em!important}
.login-story-copy p{color:var(--hub121-ink-soft)!important}
[data-theme="dark"] .login-story-copy .eyebrow{color:var(--hub121-blue-light)!important}
[data-theme="dark"] .login-story-copy h1{color:#fff!important}
[data-theme="dark"] .login-story-copy p{color:#C6D9E8!important}
.login-flow{
  display:grid!important;
  grid-template-columns:auto 1fr auto 1fr!important;
  gap:.75rem!important;
  align-items:start!important;
  background:transparent!important;
}
.login-flow>span{
  display:grid!important;place-items:center!important;width:1.75rem!important;height:1.75rem!important;
  background:transparent!important;border:1px solid var(--hub121-blue-mid)!important;color:var(--hub121-blue)!important;border-radius:50%!important;
  font-weight:800!important;
}
[data-theme="dark"] .login-flow>span{border-color:var(--hub121-blue-light)!important;color:var(--hub121-blue-light)!important}
.login-flow strong{color:var(--hub121-ink)!important}
.login-flow small{color:var(--hub121-muted)!important}
[data-theme="dark"] .login-flow strong{color:#fff!important}
[data-theme="dark"] .login-flow small{color:#AFCBE0!important}
.login-product-lineup{
  display:flex!important;
  align-items:center!important;
  gap:.65rem!important;
  flex-wrap:wrap!important;
  padding-top:.9rem!important;
  border-top:1px solid var(--hub121-line)!important;
}
.login-product-lineup .login-product{
  display:flex!important;
  align-items:center!important;
  gap:.48rem!important;
  min-width:0!important;
  padding:.4rem .58rem!important;
  border:1px solid var(--hub121-line)!important;
  border-radius:.65rem!important;
  background:var(--hub121-surface)!important;
  color:var(--hub121-ink)!important;
}
.login-product-lineup .login-product img{
  width:1.7rem!important;height:1.7rem!important;object-fit:contain!important;background:transparent!important;filter:none!important;
}
.login-product-lineup .login-product span{font-size:.72rem!important;font-weight:760!important;white-space:nowrap!important;color:var(--hub121-ink)!important}
[data-theme="dark"] .login-product-lineup{border-top-color:var(--hub121-line)!important}
[data-theme="dark"] .login-product-lineup .login-product{background:#fff!important;border-color:#DCE8F2!important;color:#102A43!important}
[data-theme="dark"] .login-product-lineup .login-product span{color:#102A43!important}
.login-form-panel{
  position:relative!important;
  padding:2.5rem!important;
  background:var(--hub121-surface)!important;
}
.login-form-panel .field input{
  background:var(--hub121-surface)!important;
  color:var(--hub121-ink)!important;
  border-color:var(--hub121-line)!important;
  box-shadow:none!important;
}
.login-form-panel .field input:focus{border-color:var(--hub121-blue)!important;box-shadow:var(--hub121-focus)!important}
.hub-auth-steps b,.hub-auth-steps b.complete{
  background:transparent!important;color:var(--hub121-muted)!important;border-color:var(--hub121-line-strong)!important;
}
.hub-auth-steps b.active{background:var(--hub121-blue)!important;color:#fff!important;border-color:var(--hub121-blue)!important}
.hub-auth-steps i{background:var(--hub121-line)!important}
.hub-auth-notice{background:var(--hub121-blue-wash)!important;border-color:var(--hub121-line-strong)!important;color:var(--hub121-ink)!important}
[data-theme="dark"] .hub-auth-notice{background:var(--hub121-surface-alt)!important;color:var(--hub121-ink)!important}
.pending-card,.hub-boot-card{
  background:var(--hub121-surface)!important;
  border-color:var(--hub121-line-strong)!important;
  box-shadow:var(--hub121-shadow)!important;
}

/* ---------------------------------------------------------------------
   Account control, mobile navigation and dialogs.
   --------------------------------------------------------------------- */
.hub-account-exit-control{
  background:var(--hub121-surface)!important;
  border:1px solid var(--hub121-line-strong)!important;
  border-radius:.78rem!important;
  box-shadow:none!important;
}
.hub-account-exit-control .hub-session-avatar{
  background:transparent!important;
  color:var(--hub121-blue)!important;
  border-color:var(--hub121-line-strong)!important;
  box-shadow:none!important;
}
[data-theme="dark"] .hub-account-exit-control .hub-session-avatar{color:var(--hub121-blue-light)!important}
.hub-account-exit-control .hub-session-copy strong{color:var(--hub121-ink)!important}
.hub-account-exit-control .hub-session-copy small{color:var(--hub121-muted)!important}
.hub-account-exit-control .hub-direct-signout{
  background:transparent!important;
  color:var(--hub121-blue)!important;
  border:0!important;
  box-shadow:none!important;
}
.hub-account-exit-control .hub-direct-signout:hover{background:var(--hub121-hover)!important;color:var(--hub121-blue)!important}
[data-theme="dark"] .hub-account-exit-control .hub-direct-signout{color:var(--hub121-blue-light)!important}
[data-theme="dark"] .hub-account-exit-control .hub-direct-signout:hover{background:var(--hub121-hover)!important;color:#fff!important}

body.imb-institutional-aurora .hub-mobile-nav{
  background:var(--hub121-surface)!important;
  border-color:var(--hub121-line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .hub-mobile-nav a{
  color:var(--hub121-muted)!important;
  background:transparent!important;
  border:1px solid transparent!important;
}
body.imb-institutional-aurora .hub-mobile-nav a:hover{color:var(--hub121-blue)!important;background:var(--hub121-hover)!important}
body.imb-institutional-aurora .hub-mobile-nav a.active{
  color:var(--hub121-blue)!important;
  background:var(--hub121-active)!important;
  border-color:var(--hub121-line-strong)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-mobile-nav a.active{color:var(--hub121-blue-light)!important}
body.imb-institutional-aurora .hub-mobile-nav a::before,
body.imb-institutional-aurora .hub-mobile-nav a::after{display:none!important;content:none!important}

body.imb-institutional-aurora .modal-backdrop{
  background:rgba(8,37,60,.46)!important;
  backdrop-filter:blur(2px)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .modal-backdrop{background:rgba(2,10,18,.72)!important}
body.imb-institutional-aurora .modal{
  background:var(--hub121-surface)!important;
  color:var(--hub121-ink)!important;
  border-color:var(--hub121-line-strong)!important;
  box-shadow:var(--hub121-modal-shadow)!important;
}
body.imb-institutional-aurora .modal-head,
body.imb-institutional-aurora .modal-header,
body.imb-institutional-aurora .modal-actions{
  background:var(--hub121-surface)!important;
  border-color:var(--hub121-line)!important;
}
body.imb-institutional-aurora .modal-close{
  color:var(--hub121-blue)!important;
  border-color:transparent!important;
}
[data-theme="dark"] body.imb-institutional-aurora .modal-close{color:var(--hub121-blue-light)!important}
body.imb-institutional-aurora .access-role-option{
  background:var(--hub121-surface-alt)!important;
  color:var(--hub121-ink)!important;
  border-color:var(--hub121-line)!important;
}
body.imb-institutional-aurora .access-role-option:hover{background:var(--hub121-hover)!important;border-color:var(--hub121-line-strong)!important}
body.imb-institutional-aurora .access-role-option.is-active{background:var(--hub121-active)!important;border-color:var(--hub121-blue)!important;color:var(--hub121-ink)!important}

/* ---------------------------------------------------------------------
   Explicit responsive rules: wide desktop, tablet, phone, compact phone.
   --------------------------------------------------------------------- */
@media(max-width:1180px){
  .login-shell{width:min(58rem,calc(100vw - 2rem))!important;grid-template-columns:minmax(0,1fr) minmax(21rem,.92fr)!important}
  .login-story,.login-form-panel{padding:2rem!important}
}
@media(max-width:960px){
  body.imb-institutional-aurora .app-card-grid{grid-template-columns:1fr!important}
  body.imb-institutional-aurora .hub-app-launcher{min-height:18.5rem!important}
  .login-shell{grid-template-columns:1fr!important;max-width:42rem!important;min-height:0!important}
  .login-story{padding:1.6rem 1.7rem!important;border-right:0!important;border-bottom:1px solid var(--hub121-line)!important;gap:1.35rem!important}
  .login-story-copy h1{font-size:clamp(1.8rem,6vw,2.65rem)!important}
  .login-flow{grid-template-columns:auto 1fr!important}
  .login-flow>span:nth-of-type(2){grid-row:2}
  .login-product-lineup{padding-top:.7rem!important}
  .login-form-panel{padding:1.7rem!important}
}
@media(max-width:700px){
  body.imb-institutional-aurora .hub-content{padding-left:.8rem!important;padding-right:.8rem!important}
  body.imb-institutional-aurora .page-intro h1{font-size:clamp(1.8rem,8vw,2.55rem)!important}
  body.imb-institutional-aurora .hub-app-launcher{min-height:0!important;border-radius:.86rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar{min-height:2.4rem!important;padding:.65rem .75rem .45rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-stage{padding:.55rem .75rem .75rem!important;gap:.75rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-brand{grid-template-columns:4rem minmax(0,1fr)!important;gap:.72rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon{width:4rem!important;height:4rem!important;min-width:4rem!important;border-radius:.72rem!important;padding:.4rem!important}
  body.imb-institutional-aurora .launcher-feature-row{grid-template-columns:1fr!important;gap:.36rem!important}
  body.imb-institutional-aurora .launcher-feature-row span{justify-content:flex-start!important;text-align:left!important;padding:.42rem .5rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-footer{gap:.55rem!important}
  body.imb-institutional-aurora .registry-grid-simple{grid-template-columns:1fr!important}
  body.imb-institutional-aurora .people-section .section-heading-clean{align-items:stretch!important}
  body.imb-institutional-aurora .search-box{width:100%!important;max-width:none!important}
  body.imb-institutional-aurora .workflow-row{grid-template-columns:auto 1fr!important}
  body.imb-institutional-aurora .workflow-arrow{display:none!important}
  body.imb-institutional-aurora .governance-action{grid-template-columns:auto minmax(0,1fr)!important}
  body.imb-institutional-aurora .governance-action-controls{grid-column:1/-1!important;width:100%!important}
  body.imb-institutional-aurora .ai-connection-form{grid-template-columns:1fr!important}
  body.imb-institutional-aurora .ai-span-2{grid-column:auto!important}
}
@media(max-width:520px){
  .login-page{padding:.65rem!important;align-items:flex-start!important}
  .login-shell{width:100%!important;border-radius:.82rem!important}
  .login-story,.login-form-panel{padding:1.15rem!important}
  .login-story>img{width:min(11rem,68%)!important}
  .login-story-copy h1{font-size:1.85rem!important}
  .login-flow{display:none!important}
  .login-product-lineup{gap:.4rem!important}
  .login-product-lineup .login-product{padding:.34rem .45rem!important}
  .login-product-lineup .login-product img{width:1.45rem!important;height:1.45rem!important}
  .login-product-lineup .login-product span{font-size:.67rem!important}
  .hub-auth-steps em{display:none!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-brand{grid-template-columns:3.55rem minmax(0,1fr)!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon{width:3.55rem!important;height:3.55rem!important;min-width:3.55rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-copy h2{font-size:1.25rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-footer{align-items:stretch!important;flex-direction:column!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-open-pill{width:100%!important}
  .hub-account-exit-control{border-radius:.65rem!important}
  .hub-account-exit-control .hub-session-copy{display:none!important}
  .hub-account-exit-control .hub-direct-signout{width:2.35rem!important;min-width:2.35rem!important;padding:0!important;justify-content:center!important}
  .hub-account-exit-control .hub-direct-signout span{display:none!important}
  body.imb-institutional-aurora .modal{width:calc(100vw - 1rem)!important;max-height:calc(100dvh - 1rem)!important;border-radius:.82rem!important}
}
@media(max-width:370px){
  body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar::before{content:"IMB · APPLICATION"!important;font-size:.57rem!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-brand{grid-template-columns:3rem minmax(0,1fr)!important}
  body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon{width:3rem!important;height:3rem!important;min-width:3rem!important;padding:.32rem!important}
  .login-product-lineup .login-product span{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  body.imb-institutional-aurora .hub-app-launcher,
  body.imb-institutional-aurora .hub-app-launcher::before,
  body.imb-institutional-aurora .hub-app-launcher::after,
  body.imb-institutional-aurora .hub-app-launcher *,
  body.imb-institutional-aurora #hubSidebar .nav-link,
  body.imb-institutional-aurora .hub-mobile-nav a{
    transition:none!important;
    animation:none!important;
    transform:none!important;
  }
}
