/* SEFT Banking R44 full-site stability layer.
   Loaded last to normalize navigation, controls, layout, colour and responsiveness. */
:root{
  --r44-primary:#1268d8;
  --r44-primary-dark:#0b4fae;
  --r44-primary-soft:#eaf3ff;
  --r44-navy:#102a4e;
  --r44-sidebar:#082c55;
  --r44-sidebar-2:#061f3d;
  --r44-canvas:#f4f7fb;
  --r44-card:#fff;
  --r44-text:#14243d;
  --r44-muted:#667993;
  --r44-border:#dbe5f0;
  --r44-success:#168261;
  --r44-warning:#b06b08;
  --r44-danger:#b53d4d;
  --r44-shadow:0 12px 34px rgba(18,45,78,.09);
  --r44-sidebar-admin:310px;
  --r44-sidebar-user:292px;
}
html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body[class*="bank-context-"]{
  max-width:100%;min-height:100vh;overflow-x:hidden;
  background:var(--r44-canvas)!important;color:var(--r44-text)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:15px!important;line-height:1.55!important;-webkit-font-smoothing:antialiased;
}
body.bank-context-public,body.bank-context-auth{background:#fff!important}
body[class*="bank-context-"] *,body[class*="bank-context-"] *::before,body[class*="bank-context-"] *::after{box-sizing:border-box}
body[class*="bank-context-"] img,body[class*="bank-context-"] svg,body[class*="bank-context-"] video{max-width:100%;height:auto}
body[class*="bank-context-"] :is(.row,[class*="grid"],.d-flex,.card,.modal-content,.table-responsive)>*{min-width:0}
body[class*="bank-context-"] :is(a[href],button:not(:disabled),summary,input,select,textarea){touch-action:manipulation}
body[class*="bank-context-"] :is(a[href],button:not(:disabled),summary){pointer-events:auto!important;cursor:pointer}
body[class*="bank-context-"] :is(button:disabled,[aria-disabled="true"]){cursor:not-allowed!important}
body[class*="bank-context-"] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(18,104,216,.28)!important;outline-offset:2px!important}
body[class*="bank-context-"] :is(.btn,.gb-btn,.bank-button,.r28-button,.ad43-button,.sft-topbar-action,.sft-admin-site-link,.sft-admin-logout){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:46px}
body[class*="bank-context-"] :is(.btn,.gb-btn,.bank-button,.r28-button,.ad43-button,.sft-topbar-action,.sft-admin-site-link,.sft-admin-logout)>i{flex:0 0 auto!important;margin:0!important;line-height:1!important}
body[class*="bank-context-"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%;font-size:16px!important}
body[class*="bank-context-"] :is(.form-control,.custom-select,input:not([type="checkbox"]):not([type="radio"]),select){min-height:46px}
body[class*="bank-context-"] textarea{min-height:116px;resize:vertical}
body[class*="bank-context-"] label{color:var(--r44-text);font-weight:700}
body[class*="bank-context-"] .card{border-color:var(--r44-border)!important;border-radius:16px!important;box-shadow:var(--r44-shadow)}
body[class*="bank-context-"] :is(.table-responsive,.bank-table-shell,.r28-table-shell){max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
body[class*="bank-context-"] table{max-width:100%}

/* Never let a stale loader or closed overlay block the application. */
html:not(.bank-loader-pending) :is(.global-bank-preloader,.bank-global-preloader,.sft-global-preloader,.bank-preloader,.sft-preloader,[data-bank-loader]){pointer-events:none!important}
body.r44-ready :is(.global-bank-preloader,.bank-global-preloader,.sft-global-preloader,.bank-preloader,.sft-preloader,[data-bank-loader]){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body[class*="bank-context-"] :is(.gb-mobile-overlay,.sft-mobile-overlay){
  position:fixed!important;inset:0!important;display:block!important;visibility:hidden!important;opacity:0!important;
  pointer-events:none!important;background:rgba(3,18,43,.55)!important;backdrop-filter:blur(3px);transition:opacity .2s ease,visibility .2s ease!important;
}
body[class*="bank-context-"] :is(.gb-mobile-overlay,.sft-mobile-overlay).is-open,
body.sft-sidebar-open :is(.gb-mobile-overlay,.sft-mobile-overlay),
body.admin-sidebar-open :is(.gb-mobile-overlay,.sft-mobile-overlay),
body.gb-sidebar-open :is(.gb-mobile-overlay,.sft-mobile-overlay),
body.bank-sidebar-open :is(.gb-mobile-overlay,.sft-mobile-overlay){visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* Administrator shell and sidebar. */
body.bank-context-admin .wrapper{width:100%;min-height:100vh;background:var(--r44-canvas)!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar){
  position:fixed!important;top:0!important;bottom:0!important;left:0!important;z-index:1300!important;
  width:var(--r44-sidebar-admin)!important;max-width:90vw!important;height:100dvh!important;overflow:hidden!important;
  background:linear-gradient(180deg,var(--r44-sidebar),var(--r44-sidebar-2))!important;color:#eef6ff!important;
  box-shadow:14px 0 38px rgba(3,19,37,.20)!important;
}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sidebar-wrapper{display:flex!important;flex-direction:column!important;height:100%!important;overflow:hidden!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sidebar-content{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;padding-bottom:28px!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle){
  display:grid!important;grid-template-columns:42px minmax(0,1fr) 18px!important;align-items:center!important;
  column-gap:12px!important;row-gap:0!important;min-height:54px!important;padding:6px 10px!important;
  border-radius:13px!important;color:#e8f2ff!important;text-decoration:none!important;list-style:none!important;
}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle)>.sft-admin-nav-icon{
  grid-column:1!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;
  margin:0!important;border-radius:12px!important;background:rgba(255,255,255,.10)!important;color:#fff!important;line-height:1!important;
}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle)>.sft-admin-nav-icon>i{margin:0!important;line-height:1!important;text-align:center!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle)>span:nth-child(2){grid-column:2!important;min-width:0!important;margin:0!important;color:inherit!important;font-size:14px!important;font-weight:720!important;line-height:1.35!important;overflow-wrap:anywhere}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle)>i:last-child{grid-column:3!important;justify-self:center!important;margin:0!important;line-height:1!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link:hover,.sft-admin-direct-link.is-active,details[open]>.sft-admin-nav-toggle,.sft-admin-nav-toggle:hover){background:rgba(255,255,255,.11)!important;color:#fff!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-subnav-v3{display:grid!important;gap:4px!important;padding:5px 6px 10px 51px!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-subnav-v3>a{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;column-gap:10px!important;min-height:44px!important;padding:8px 9px!important;border-radius:10px!important;color:rgba(235,245,255,.83)!important;font-size:13.5px!important;line-height:1.35!important;text-decoration:none!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-subnav-v3>a>i:first-child{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;margin:0!important;line-height:1!important}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-subnav-v3>a>span{min-width:0!important;margin:0!important;overflow-wrap:anywhere}
body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-nav-label{font-size:11px!important;letter-spacing:.09em!important;color:rgba(235,245,255,.62)!important}
body.bank-context-admin .main-panel{min-width:0!important;background:var(--r44-canvas)!important}
body.bank-context-admin .main-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--r44-border)!important}
body.bank-context-admin .content{min-width:0!important;background:transparent!important}
body.bank-context-admin .page-inner{width:min(100%,1600px)!important;margin:0 auto!important}
body.bank-context-admin :is(.sft-admin-topbar-inner,.navbar-header){min-width:0!important}
body.bank-context-admin .sft-admin-topbar-right{flex:0 0 auto!important}
body.bank-context-admin :is(.sft-admin-notification-dropdown,.dropdown-menu){z-index:1500!important}

/* Customer application shell. */
body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){
  position:fixed!important;top:0!important;bottom:0!important;left:0!important;z-index:1300!important;
  width:var(--r44-sidebar-user)!important;max-width:90vw!important;height:100dvh!important;overflow:hidden!important;
  background:linear-gradient(180deg,var(--r44-sidebar),var(--r44-sidebar-2))!important;color:#eef6ff!important;
}
body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar) :is(.sft-sidebar-scroll,.sidebar-content){height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
body.bank-context-user .sft-side-nav a{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-height:52px!important;padding:7px 10px!important;border-radius:13px!important;text-decoration:none!important}
body.bank-context-user .sft-side-nav a>i{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;margin:0!important;border-radius:12px!important;line-height:1!important}
body.bank-context-user .sft-side-nav a>span{min-width:0!important;overflow-wrap:anywhere}
body.bank-context-user :is(.sft-app-main,.gb-app-main){min-width:0!important;background:var(--r44-canvas)!important}
body.bank-context-user :is(.sft-app-content,.gb-app-content,.sft-content-inner,.gb-content-inner){min-width:0!important;max-width:100%!important}
body.bank-context-user :is(.sft-app-topbar,.gb-app-topbar){background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--r44-border)!important}
body.bank-context-user .bank-app-bottom-nav a{gap:4px!important}

/* Public site navigation and content. */
body.bank-context-public .gb-public-header{position:sticky!important;top:0!important;z-index:1000!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--r44-border)!important;backdrop-filter:blur(14px)}
body.bank-context-public .gb-public-nav{min-width:0!important}
body.bank-context-public .gb-public-menu{min-width:0!important}
body.bank-context-public [data-gb-public-panel]{display:none!important}
body.bank-context-public [data-gb-public-panel].is-open{display:grid!important}
body.bank-context-public .gb-public-main{overflow:hidden}
body.bank-context-public :is(.gb-btn,.gb-public-menu a,.gb-mobile-panel a)>i{margin:0!important}

/* Authentication and generic pages. */
body.bank-context-auth main{width:100%;min-height:100vh}
body.bank-context-auth :is(.gb-auth-card,.bank-auth-card,.card){max-width:100%}
body.bank-context-auth .bank-input-with-action{position:relative;display:flex;align-items:center;min-width:0}
body.bank-context-auth .bank-input-with-action>input{width:100%;padding-right:52px!important}
body.bank-context-auth .bank-password-toggle{position:absolute!important;right:6px!important;top:50%!important;z-index:4!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;transform:translateY(-50%)!important;border:0!important;background:transparent!important}

@media(min-width:1200px){
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar){transform:none!important;visibility:visible!important}
  body.bank-context-admin .main-panel{width:calc(100% - var(--r44-sidebar-admin))!important;margin-left:var(--r44-sidebar-admin)!important}
  body.bank-context-admin .main-header{left:var(--r44-sidebar-admin)!important;width:calc(100% - var(--r44-sidebar-admin))!important}
  body.bank-context-admin .sft-admin-mobile-toggle{display:none!important}
  body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){transform:none!important;visibility:visible!important}
  body.bank-context-user :is(.sft-app-main,.gb-app-main){width:calc(100% - var(--r44-sidebar-user))!important;margin-left:var(--r44-sidebar-user)!important}
  body[class*="bank-context-"] :is(.gb-mobile-overlay,.sft-mobile-overlay){display:none!important}
}

@media(max-width:1199.98px){
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar),
  body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){
    transform:translate3d(-105%,0,0)!important;visibility:hidden!important;transition:transform .24s ease,visibility 0s linear .24s!important;
    border-radius:0 18px 18px 0!important;box-shadow:22px 0 55px rgba(1,18,42,.3)!important;
  }
  body.sft-sidebar-open :is(.sft-admin-sidebar,.bank-native-sidebar,.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar),
  body.admin-sidebar-open :is(.sft-admin-sidebar,.bank-native-sidebar),
  body.gb-sidebar-open :is(.sft-admin-sidebar,.bank-native-sidebar,.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar),
  body.bank-sidebar-open :is(.sft-admin-sidebar,.bank-native-sidebar,.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){transform:translate3d(0,0,0)!important;visibility:visible!important;transition-delay:0s!important}
  body.bank-context-admin .main-panel,body.bank-context-user :is(.sft-app-main,.gb-app-main){width:100%!important;margin-left:0!important}
  body.bank-context-admin .main-header{left:0!important;width:100%!important}
  body.bank-context-admin .sft-admin-mobile-toggle,body.bank-context-user :is(.sft-menu-toggle,.gb-menu-toggle){display:grid!important;place-items:center!important}
  body[class*="bank-context-"] :is(.gb-mobile-overlay,.sft-mobile-overlay){z-index:1250!important}
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar),body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){z-index:1300!important}
}

@media(max-width:991.98px){
  body.bank-context-public .gb-public-menu,body.bank-context-public .gb-public-actions{display:none!important}
  body.bank-context-public .gb-mobile-toggle{display:grid!important;place-items:center!important}
  body.bank-context-public [data-gb-public-panel].is-open{grid-template-columns:1fr;gap:4px;padding:12px 0 18px}
  body.bank-context-public [data-gb-public-panel] a{display:flex!important;align-items:center!important;min-height:46px;padding:10px 13px;border-radius:10px;color:var(--r44-text)!important;text-decoration:none!important}
  body.bank-context-admin .sft-admin-topbar-centre{display:none!important}
}

@media(max-width:767.98px){
  body[class*="bank-context-"]{font-size:14px!important}
  body.bank-context-admin .page-inner,body.bank-context-admin .content,body.bank-context-user :is(.sft-app-content,.gb-app-content,.sft-content-inner,.gb-content-inner){padding-right:12px!important;padding-left:12px!important}
  body.bank-context-admin :is(.bank-admin-page-head,.ad43-hero,.sft-admin-topbar-inner),body.bank-context-user :is(.nx23-welcome,.r28-page-hero){align-items:flex-start!important;flex-direction:column!important}
  body.bank-context-admin :is(.ad43-hero-actions,.bank-admin-page-head>div:last-child){width:100%!important;justify-content:flex-start!important}
  body.bank-context-admin :is(.ad43-button,.bank-admin-primary-action,.bank-admin-secondary-action){width:100%!important}
  body.bank-context-admin .sft-admin-topbar-right :is(.sft-admin-site-link span,.sft-admin-logout span,.sft-admin-user-copy,.fa-chevron-down){display:none!important}
  body.bank-context-user .bank-app-bottom-nav{left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}
  body[class*="bank-context-"] :is(.modal-dialog,.bank-professional-modal .modal-dialog){max-width:calc(100vw - 20px)!important;margin:10px!important}
  body[class*="bank-context-"] .modal-footer{align-items:stretch!important;flex-direction:column!important}
  body[class*="bank-context-"] .modal-footer>*{width:100%!important}
}

@media(max-width:420px){
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar),body.bank-context-user :is(.sft-app-sidebar,.bank-app-sidebar,.gb-app-sidebar){width:94vw!important;max-width:94vw!important;border-radius:0 14px 14px 0!important}
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) :is(.sft-admin-direct-link,.sft-admin-nav-toggle){grid-template-columns:40px minmax(0,1fr) 16px!important;column-gap:9px!important;padding-inline:8px!important}
  body.bank-context-admin :is(.sft-admin-sidebar,.bank-native-sidebar) .sft-admin-subnav-v3{padding-left:45px!important}
}

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