/* =====================================================================
   V118 · Digital Hub lean visual system
   Styling-only refinement. Keeps V117 navigation geometry, routes,
   authentication flow and Hub Manager capabilities unchanged.
   ===================================================================== */
:root{
  --hub118-bg:#f5f7fb;
  --hub118-surface:#ffffff;
  --hub118-surface-soft:#f8faff;
  --hub118-surface-muted:#f0f4fa;
  --hub118-line:#e1e7f0;
  --hub118-line-strong:#cfd8e6;
  --hub118-ink:#111a2e;
  --hub118-ink-2:#3d4961;
  --hub118-muted:#68738a;
  --hub118-accent:#4f6fe7;
  --hub118-accent-strong:#3d5ccc;
  --hub118-accent-soft:#edf2ff;
  --hub118-teal:#259e91;
  --hub118-violet:#7565dd;
  --bg:var(--hub118-bg);
  --surface:var(--hub118-surface);
  --surface-raised:var(--hub118-surface);
  --surface-soft:var(--hub118-surface-soft);
  --surface-sunken:var(--hub118-surface-muted);
  --surface-tint:var(--hub118-surface);
  --glass:rgba(255,255,255,.86);
  --glass-strong:rgba(255,255,255,.96);
  --glass-quiet:rgba(255,255,255,.68);
  --glass-line:rgba(43,60,92,.10);
  --ink:var(--hub118-ink);
  --ink-secondary:var(--hub118-ink-2);
  --muted:var(--hub118-muted);
  --line:var(--hub118-line);
  --line-strong:var(--hub118-line-strong);
  --accent:var(--hub118-accent);
  --accent-hover:var(--hub118-accent-strong);
  --accent-soft:var(--hub118-accent-soft);
  --info:var(--hub118-accent);
  --info-soft:var(--hub118-accent-soft);
  --info-line:#d3defe;
  --focus:0 0 0 3px rgba(79,111,231,.18);
  --elev-1:0 1px 2px rgba(18,30,52,.035);
  --elev-2:0 2px 8px rgba(18,30,52,.05);
  --elev-3:0 6px 20px rgba(18,30,52,.07);
  --elev-4:0 16px 44px rgba(18,30,52,.14);
}
[data-theme="dark"]{
  --hub118-bg:#0d1420;
  --hub118-surface:#151e2d;
  --hub118-surface-soft:#192335;
  --hub118-surface-muted:#101825;
  --hub118-line:#273348;
  --hub118-line-strong:#35445f;
  --hub118-ink:#eef3fb;
  --hub118-ink-2:#bcc7d9;
  --hub118-muted:#97a5ba;
  --hub118-accent:#8ca2f3;
  --hub118-accent-strong:#a1b2f7;
  --hub118-accent-soft:#202e4d;
  --hub118-teal:#63c8bc;
  --hub118-violet:#aa9af0;
  --bg:var(--hub118-bg);
  --surface:var(--hub118-surface);
  --surface-raised:var(--hub118-surface);
  --surface-soft:var(--hub118-surface-soft);
  --surface-sunken:var(--hub118-surface-muted);
  --surface-tint:var(--hub118-surface);
  --glass:rgba(21,30,45,.88);
  --glass-strong:rgba(21,30,45,.97);
  --glass-quiet:rgba(21,30,45,.7);
  --glass-line:rgba(164,180,208,.13);
  --ink:var(--hub118-ink);
  --ink-secondary:var(--hub118-ink-2);
  --muted:var(--hub118-muted);
  --line:var(--hub118-line);
  --line-strong:var(--hub118-line-strong);
  --accent:var(--hub118-accent);
  --accent-hover:var(--hub118-accent-strong);
  --accent-soft:var(--hub118-accent-soft);
  --info:var(--hub118-accent);
  --info-soft:var(--hub118-accent-soft);
  --info-line:#3b4f78;
  --focus:0 0 0 3px rgba(140,162,243,.24);
  --elev-1:0 1px 2px rgba(0,0,0,.16);
  --elev-2:0 2px 8px rgba(0,0,0,.18);
  --elev-3:0 8px 24px rgba(0,0,0,.24);
  --elev-4:0 18px 48px rgba(0,0,0,.38);
}

html{background:var(--bg)}
body.imb-institutional-aurora{
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 2.5%,var(--bg)) 0%,var(--bg) 18rem)!important;
  color:var(--ink);
}
[data-theme="dark"] body.imb-institutional-aurora{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3%,var(--bg)) 0%,var(--bg) 18rem)!important;
}

/* ----- Core surfaces and controls ----- */
body.imb-institutional-aurora .surface,
body.imb-institutional-aurora .person-row,
body.imb-institutional-aurora .registry-card,
body.imb-institutional-aurora .hub-app-launcher,
body.imb-institutional-aurora .search-box,
body.imb-institutional-aurora .workflow-panel,
body.imb-institutional-aurora .governance-panel,
body.imb-institutional-aurora .ai-connection-panel{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .surface{border-radius:1rem}
body.imb-institutional-aurora .btn,
body.imb-institutional-aurora button,
body.imb-institutional-aurora input,
body.imb-institutional-aurora select,
body.imb-institutional-aurora textarea{
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,opacity .15s ease!important;
}
body.imb-institutional-aurora .btn.btn-primary,
body.imb-institutional-aurora .launcher-open-pill{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .btn.btn-primary:hover,
body.imb-institutional-aurora .launcher-open-pill:hover{
  background:var(--accent-hover)!important;
  border-color:var(--accent-hover)!important;
  filter:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .btn.btn-secondary,
body.imb-institutional-aurora .btn.btn-quiet{
  box-shadow:none!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(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .field input:hover,
body.imb-institutional-aurora .field select:hover,
body.imb-institutional-aurora .field textarea:hover,
body.imb-institutional-aurora .search-box:hover{border-color:var(--line-strong)!important}
body.imb-institutional-aurora .field input:focus,
body.imb-institutional-aurora .field select:focus,
body.imb-institutional-aurora .field textarea:focus{border-color:var(--accent)!important;box-shadow:var(--focus)!important}
body.imb-institutional-aurora .ui-theme-toggle{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .ui-theme-toggle button{color:var(--muted)!important}
body.imb-institutional-aurora .ui-theme-toggle button.active,
body.imb-institutional-aurora .ui-theme-toggle button[aria-pressed="true"]{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .ui-theme-toggle button.active,
[data-theme="dark"] body.imb-institutional-aurora .ui-theme-toggle button[aria-pressed="true"]{color:var(--accent)!important}

/* ----- Shell / navigation: geometry is intentionally untouched ----- */
body.imb-institutional-aurora #hubSidebar{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .topbar{
  background:color-mix(in srgb,var(--surface) 96%,transparent)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
body.imb-institutional-aurora #hubSidebar .nav-link{
  color:var(--ink-secondary)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora #hubSidebar .nav-link:hover{
  background:var(--surface-soft)!important;
  color:var(--accent)!important;
}
body.imb-institutional-aurora #hubSidebar .nav-link.active{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 18%,var(--line))!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora #hubSidebar .nav-icon{
  background:transparent!important;
  color:currentColor!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-nav>.nav-link,
body.hub-manager-mode.imb-institutional-aurora #hubSidebar .sidebar-footer{
  background-color:var(--surface)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora #hubSidebar .profile-card,
.hub-session-identity{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora #hubSidebar .profile-card .avatar,
.hub-session-avatar{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 16%,var(--line))!important;
  box-shadow:none!important;
}
.hub-direct-signout{background:var(--surface)!important;border-color:var(--line)!important;box-shadow:none!important;transform:none!important}
.hub-direct-signout:hover{background:var(--danger-soft)!important;border-color:var(--danger-line)!important;color:var(--danger)!important;transform:none!important}
body.imb-institutional-aurora .hub-tablet-menu-button{box-shadow:none!important;background:var(--surface)!important}
body.imb-institutional-aurora .hub-tablet-drawer-backdrop{background:rgba(9,17,31,.32)!important;backdrop-filter:blur(2px)}

/* ----- Page introductions and common hierarchy ----- */
body.imb-institutional-aurora .simple-intro{
  border-bottom:1px solid var(--line);
  padding-bottom:1rem;
  margin-bottom:1.15rem;
}
body.imb-institutional-aurora .simple-intro h1{color:var(--ink);font-weight:720;letter-spacing:-.035em}
body.imb-institutional-aurora .simple-intro p{color:var(--muted)}
body.imb-institutional-aurora .simple-intro .eyebrow,
body.imb-institutional-aurora .governance-head .eyebrow,
body.imb-institutional-aurora .ai-connection-head .eyebrow{color:var(--accent)!important}
body.imb-institutional-aurora .section-heading-clean{margin-bottom:.7rem}
body.imb-institutional-aurora .section-heading-clean h2{font-weight:700}

/* ----- Home / workspace cards ----- */
body.imb-institutional-aurora .hub-app-launcher{
  background:var(--surface)!important;
  border-radius:1rem!important;
  overflow:hidden;
  box-shadow:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .hub-app-launcher:before{opacity:.35!important;filter:saturate(.8)}
body.imb-institutional-aurora .hub-app-launcher:hover{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;
  box-shadow:0 1px 3px rgba(18,30,52,.05)!important;
  transform:none!important;
}
body.imb-institutional-aurora .hub-app-launcher .launcher-window-bar{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .launcher-dots span{opacity:.48}
body.imb-institutional-aurora .launcher-key-event_navigator .launcher-window-bar{box-shadow:inset 0 2px 0 color-mix(in srgb,#3677cf 75%,transparent)!important}
body.imb-institutional-aurora .launcher-key-hiwilog .launcher-window-bar{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--hub118-violet) 75%,transparent)!important}
body.imb-institutional-aurora .hub-app-launcher .launcher-app-icon{
  box-shadow:none!important;
  border-color:var(--line)!important;
  background:var(--surface-soft)!important;
}
body.imb-institutional-aurora .launcher-feature-row span,
body.imb-institutional-aurora .launcher-role{
  background:var(--surface-soft)!important;
  color:var(--ink-secondary)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .launcher-status-badge.ready{background:var(--success-soft)!important;color:var(--success)!important}
body.imb-institutional-aurora .launcher-status-badge.waiting{background:var(--warning-soft)!important;color:var(--warning)!important}
body.imb-institutional-aurora .access-request-callout{
  background:color-mix(in srgb,var(--warning-soft) 54%,var(--surface))!important;
  border-color:var(--warning-line)!important;
  box-shadow:none!important;
  border-radius:.9rem;
}
body.imb-institutional-aurora .request-icon{box-shadow:none!important}

/* ----- People ----- */
body.imb-institutional-aurora .people-list,
body.imb-institutional-aurora .request-grid{gap:.55rem}
body.imb-institutional-aurora .person-row{
  border:1px solid var(--line)!important;
  border-radius:.9rem!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .person-row:hover{
  background:var(--surface-soft)!important;
  border-color:var(--line-strong)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .person-row.review-row{
  background:color-mix(in srgb,var(--warning-soft) 38%,var(--surface))!important;
  border-color:var(--warning-line)!important;
}
body.imb-institutional-aurora .count-badge{box-shadow:none!important}
body.imb-institutional-aurora .account-status{border:1px solid transparent}

/* ----- Apps ----- */
body.imb-institutional-aurora .registry-grid-simple{gap:.85rem}
body.imb-institutional-aurora .registry-card{
  border:1px solid var(--line)!important;
  border-radius:1rem!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .registry-card.is-archived{background:var(--surface-soft)!important}
body.imb-institutional-aurora .role-catalog{border-color:var(--line)!important}
body.imb-institutional-aurora .role-catalog-row+.role-catalog-row{border-color:var(--line)!important}
body.imb-institutional-aurora .modular-note{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .app-icon-large,
body.imb-institutional-aurora .app-mini-icon{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line))!important;
  box-shadow:none!important;
}

/* ----- Hub Settings ----- */
body.imb-institutional-aurora .workflow-panel,
body.imb-institutional-aurora .governance-panel,
body.imb-institutional-aurora .ai-connection-panel{
  border:1px solid var(--line)!important;
  border-radius:1rem!important;
}
body.imb-institutional-aurora .workflow-panel{padding-block:.9rem}
body.imb-institutional-aurora .workflow-number{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
  box-shadow:none!important;
}
body.imb-institutional-aurora .governance-head{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
}
body.imb-institutional-aurora .governance-action-icon{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));
  box-shadow:none!important;
}
body.imb-institutional-aurora .governance-action-icon.transfer{background:var(--warning-soft)!important;color:var(--warning)!important;border-color:var(--warning-line)!important}
body.imb-institutional-aurora .manager-row{
  background:var(--surface-soft)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .ai-connection-head{
  background:var(--surface)!important;
  border-color:var(--line)!important;
}
body.imb-institutional-aurora .ai-connection-status{
  box-shadow:none!important;
}
body.imb-institutional-aurora .ai-connection-note{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}

/* ----- Every Hub modal / opened window ----- */
body.imb-institutional-aurora .modal-backdrop{
  background:rgba(11,18,30,.38)!important;
  backdrop-filter:blur(3px)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .modal-backdrop{background:rgba(3,7,13,.62)!important}
body.imb-institutional-aurora .modal{
  background:var(--surface)!important;
  border:1px solid var(--line-strong)!important;
  border-radius:1rem!important;
  box-shadow:var(--elev-4)!important;
}
body.imb-institutional-aurora .modal-head,
body.imb-institutional-aurora .modal-header{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  backdrop-filter:none!important;
}
body.imb-institutional-aurora .modal-actions{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
}
body.imb-institutional-aurora .modal-close{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  color:var(--muted)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .modal-close:hover{background:var(--surface-soft)!important;color:var(--ink)!important;border-color:var(--line-strong)!important}
body.imb-institutional-aurora .person-identity-panel{
  background:var(--surface-soft)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .access-app-row{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  border-radius:.9rem!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .access-role-option{
  background:var(--surface-soft)!important;
  border-color:var(--line)!important;
  border-radius:.8rem!important;
  box-shadow:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .access-role-option:hover{
  background:var(--surface)!important;
  border-color:var(--line-strong)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.imb-institutional-aurora .access-role-option.is-active{
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line))!important;
  box-shadow:none!important;
}
body.imb-institutional-aurora .access-role-option.is-no-access:not(.is-active){background:color-mix(in srgb,var(--danger-soft) 36%,var(--surface-soft))!important}
body.imb-institutional-aurora .info-box{
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 20%,var(--line))!important;
  box-shadow:none!important;
}

/* ----- Sign in / verification / waiting states ----- */
.login-page{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--bg)),var(--bg) 36%)!important;
}
.login-shell{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  border-radius:1.25rem!important;
  box-shadow:0 8px 28px rgba(18,30,52,.08)!important;
}
[data-theme="dark"] .login-shell{box-shadow:0 12px 34px rgba(0,0,0,.24)!important}
.login-story{
  background:linear-gradient(145deg,#244d84 0%,#3f66b8 62%,#5369c6 100%)!important;
  box-shadow:none!important;
}
.login-story:before{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)!important}
.login-story:after{opacity:.38;box-shadow:none!important}
.login-form-panel{background:var(--surface)!important;box-shadow:none!important}
.login-form-panel .field input{background:var(--surface-soft)!important;border-color:var(--line)!important;box-shadow:none!important}
.login-form-panel .field input:focus{background:var(--surface)!important;border-color:var(--accent)!important;box-shadow:var(--focus)!important}
.hub-auth-steps b{box-shadow:none!important}
.hub-auth-notice,
.account-create-copy{
  box-shadow:none!important;
}
.pending-page{background:var(--bg)!important}
.pending-card{
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  border-radius:1rem!important;
  box-shadow:0 6px 24px rgba(18,30,52,.07)!important;
}
[data-theme="dark"] .pending-card{box-shadow:0 10px 30px rgba(0,0,0,.22)!important}
.pending-identity{background:var(--surface-soft)!important;border:1px solid var(--line)!important}
.hub-boot-page{background:var(--bg)!important}
.hub-boot-card{background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:none!important}

/* ----- Feedback ----- */
body.imb-institutional-aurora .toast{
  background:var(--ink)!important;
  color:var(--surface)!important;
  border:1px solid color-mix(in srgb,var(--surface) 14%,transparent)!important;
  border-radius:.75rem!important;
  box-shadow:0 8px 24px rgba(18,30,52,.14)!important;
}
body.imb-institutional-aurora .toast.error{background:var(--danger)!important;color:#fff!important}
body.imb-institutional-aurora .empty{background:var(--surface-soft)!important;border-color:var(--line-strong)!important;box-shadow:none!important}

/* ----- Responsive finishing ----- */
@media (max-width:1050px){
  body.imb-institutional-aurora #hubSidebar{box-shadow:none!important}
  body.imb-institutional-aurora #appView.hub-tablet-drawer-open #hubSidebar{box-shadow:10px 0 32px rgba(11,18,30,.14)!important}
  [data-theme="dark"] body.imb-institutional-aurora #appView.hub-tablet-drawer-open #hubSidebar{box-shadow:12px 0 36px rgba(0,0,0,.32)!important}
}
@media (max-width:700px){
  body.imb-institutional-aurora .simple-intro{padding-bottom:.85rem;margin-bottom:1rem}
  .login-page{background:var(--bg)!important}
  .login-story{background:linear-gradient(145deg,#244d84,#4668b8 76%,#5369c6)!important}
  .login-shell{box-shadow:none!important}
}
@media (max-width:560px){
  body.imb-institutional-aurora .modal-backdrop{
    align-items:end!important;
    padding:.5rem!important;
  }
  body.imb-institutional-aurora .modal{
    width:100%!important;
    max-width:none!important;
    max-height:94svh!important;
    border-radius:1.05rem!important;
  }
  body.imb-institutional-aurora .modal-head,
  body.imb-institutional-aurora .modal-header{padding:1rem!important}
  body.imb-institutional-aurora .modal-actions{
    position:sticky;
    bottom:0;
    z-index:2;
    padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))!important;
  }
  body.imb-institutional-aurora .person-row,
  body.imb-institutional-aurora .registry-card,
  body.imb-institutional-aurora .hub-app-launcher{border-radius:.9rem!important}
}
@media (max-width:420px){
  body.imb-institutional-aurora .hub-content{padding-inline:.8rem!important}
  body.imb-institutional-aurora .simple-intro h1{font-size:1.85rem!important}
  .pending-card{padding:1.2rem!important}
}

@media (prefers-reduced-motion:reduce){
  body.imb-institutional-aurora *,
  body.imb-institutional-aurora *::before,
  body.imb-institutional-aurora *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Mobile navigation and compact chrome use the same flat hierarchy. */
body.imb-institutional-aurora .hub-mobile-nav{
  background:color-mix(in srgb,var(--surface) 96%,transparent)!important;
  border-color:var(--line)!important;
  box-shadow:0 2px 10px rgba(18,30,52,.06)!important;
  backdrop-filter:blur(12px)!important;
}
[data-theme="dark"] body.imb-institutional-aurora .hub-mobile-nav{box-shadow:0 4px 14px rgba(0,0,0,.22)!important}
body.imb-institutional-aurora .hub-mobile-nav a{color:var(--muted)!important}
body.imb-institutional-aurora .hub-mobile-nav a.active{background:var(--accent-soft)!important;color:var(--accent)!important}
body.imb-institutional-aurora .request-indicator{box-shadow:none!important}
body.imb-institutional-aurora .sidebar-toggle{box-shadow:none!important}
