/* SEFT Banking Interface R9 — consolidated rebuild */
/* SEFT Banking Interface R5 — homepage rebuild, stable theme aliases and responsive settings UI. */

/* ---------- global resilience ---------- */
html{min-width:320px}
body{overflow-x:hidden}
body[class*="bank-context-"] :is(h1,h2,h3,h4,h5,h6,p,a,button,label,small,strong,span,li,td,th){text-rendering:optimizeLegibility}
body[class*="bank-context-"] :is(h1,h2,h3,h4,h5,h6){overflow-wrap:normal;word-break:normal;text-wrap:balance}
body[class*="bank-context-"] :is(p,li,small,label,td,th){overflow-wrap:break-word;word-break:normal}
body[class*="bank-context-"] :is(a[href^="mailto:"],.bank-breakable,.bank-reference){overflow-wrap:anywhere}
body[class*="bank-context-"] :is(.btn,.gb-btn,.bank-btn,button,a){column-gap:8px}
body[class*="bank-context-"] :is(.btn,.gb-btn,.bank-btn,button,a)>i{flex:0 0 auto;margin:0!important}
body[class*="bank-context-"] img{max-width:100%;height:auto}

/* ---------- public header ---------- */
.bank-context-public .gb-public-shell{background:var(--bank-ui-bg)!important}
.bank-context-public .gb-utility{background:var(--bank-ui-sidebar-strong)!important;color:var(--bank-ui-sidebar-text)!important}
.bank-context-public .gb-utility a,.bank-context-public .gb-utility span{color:var(--bank-ui-sidebar-text)!important}
.bank-context-public .gb-public-header{background:var(--bank-ui-nav)!important;border-color:var(--bank-ui-border)!important}
.bank-context-public .gb-public-nav{min-height:80px!important;gap:22px!important}
.bank-context-public .gb-public-menu{gap:4px!important}
.bank-context-public .gb-public-menu a{padding:10px 12px!important;border-radius:9px!important;font-size:13px!important;line-height:1.2!important}
.bank-context-public .gb-public-actions .gb-btn{min-height:44px!important;padding-inline:17px!important;white-space:nowrap!important}
.bank-context-public .gb-mobile-toggle{flex:0 0 44px;width:44px;height:44px;border-color:var(--bank-ui-border)!important;background:var(--bank-ui-card)!important;color:var(--bank-ui-primary)!important}
.bank-context-public .gb-mobile-panel{background:var(--bank-ui-card)!important}
.bank-context-public .gb-mobile-panel a{display:flex;align-items:center;min-height:43px;border-color:var(--bank-ui-border)!important}

/* ---------- R5 home page ---------- */
.gb-home-r5{--home-radius:24px;position:relative;background:var(--bank-ui-bg);color:var(--bank-ui-text);isolation:isolate}
.gb-home-r5,.gb-home-r5 *{box-sizing:border-box;min-width:0}
.gb-home-r5 h1,.gb-home-r5 h2,.gb-home-r5 h3,.gb-home-r5 p{margin-top:0}
.gb-home-r5 h1,.gb-home-r5 h2,.gb-home-r5 h3{color:var(--bank-ui-text)!important}
.gb-home-r5 p{color:var(--bank-ui-muted)}

.gb-home-hero{position:relative;display:grid;min-height:660px;overflow:hidden;background:var(--bank-ui-sidebar-strong)}
.gb-home-hero-picture,.gb-home-hero-picture img,.gb-home-hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.gb-home-hero-picture img{object-fit:cover;object-position:center 42%}
.gb-home-hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(3,20,42,.92) 0%,rgba(5,35,69,.80) 38%,rgba(7,41,78,.40) 66%,rgba(4,22,43,.54) 100%)}
.gb-home-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.55fr);align-items:center;gap:clamp(40px,7vw,90px);padding-top:clamp(64px,8vw,105px);padding-bottom:clamp(104px,10vw,142px)}
.gb-home-hero-copy{max-width:720px;color:#fff}
.gb-home-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.10);color:#fff!important;font-size:.76rem;font-weight:800;letter-spacing:.04em;line-height:1.2;backdrop-filter:blur(12px)}
.gb-home-kicker i{color:#8fd2ff}
.gb-home-hero-copy h1{max-width:720px;margin-bottom:20px;color:#fff!important;font-size:clamp(3rem,5.45vw,5.75rem)!important;font-weight:800!important;letter-spacing:-.052em!important;line-height:.99!important;text-shadow:0 8px 34px rgba(0,0,0,.18)}
.gb-home-hero-copy>p{max-width:660px;margin-bottom:0;color:rgba(255,255,255,.84)!important;font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.78}
.gb-home-hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.gb-home-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 20px;border:1px solid transparent;border-radius:12px;font-size:.87rem;font-weight:800;line-height:1.2;text-align:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.gb-home-btn:hover{transform:translateY(-2px)}
.gb-home-btn-primary{background:var(--bank-ui-primary)!important;border-color:var(--bank-ui-primary)!important;color:#fff!important;box-shadow:0 14px 32px color-mix(in srgb,var(--bank-ui-primary) 34%,transparent)}
.gb-home-btn-primary:hover{background:var(--bank-ui-primary-strong)!important;color:#fff!important}
.gb-home-btn-ghost{border-color:rgba(255,255,255,.46)!important;background:rgba(255,255,255,.09)!important;color:#fff!important;backdrop-filter:blur(10px)}
.gb-home-btn-ghost:hover{background:rgba(255,255,255,.17)!important;color:#fff!important}
.gb-home-hero-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:28px}
.gb-home-hero-trust span{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.82);font-size:.78rem;font-weight:700}
.gb-home-hero-trust i{color:#8fd2ff}

.gb-home-access-card{justify-self:end;width:min(100%,390px);padding:24px;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 30px 80px rgba(2,16,34,.30);backdrop-filter:blur(20px)}
.gb-home-access-head{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:1px solid var(--bank-ui-border)}
.gb-home-access-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--bank-ui-primary-soft);color:var(--bank-ui-primary);font-size:1.05rem}
.gb-home-access-head strong,.gb-home-access-head small{display:block}
.gb-home-access-head strong{color:var(--bank-ui-text);font-size:1.02rem}
.gb-home-access-head small{margin-top:3px;color:var(--bank-ui-muted);font-size:.73rem}
.gb-home-access-list{display:grid;gap:5px;padding:15px 0}
.gb-home-access-list>span{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;padding:10px;border-radius:12px;transition:background .2s ease}
.gb-home-access-list>span:hover{background:var(--bank-ui-primary-soft)}
.gb-home-access-list>span>i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--bank-ui-card-alt);color:var(--bank-ui-primary)}
.gb-home-access-list b{align-self:end;color:var(--bank-ui-text);font-size:.78rem}
.gb-home-access-list small{align-self:start;margin-top:2px;color:var(--bank-ui-muted);font-size:.67rem;line-height:1.35}
.gb-home-access-login{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:11px;background:var(--bank-ui-primary)!important;color:#fff!important;font-size:.82rem;font-weight:800;box-shadow:0 12px 25px var(--bank-ui-primary-soft)}
.gb-home-access-login:hover{background:var(--bank-ui-primary-strong)!important;color:#fff!important}
.gb-home-access-card>p{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0!important;color:var(--bank-ui-muted)!important;font-size:.65rem}
.gb-home-access-card>p i{color:var(--bank-ui-success);font-size:.48rem}

.gb-home-service-launcher{position:relative;z-index:4;margin-top:-62px;padding-bottom:28px}
.gb-home-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--bank-ui-border);border-radius:22px;background:var(--bank-ui-card);box-shadow:0 22px 58px rgba(10,38,74,.14)}
.gb-home-service-grid>a{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;grid-template-rows:auto auto;align-items:center;column-gap:10px;min-height:124px;padding:20px 15px;border-right:1px solid var(--bank-ui-border);color:var(--bank-ui-text)!important}
.gb-home-service-grid>a:last-child{border-right:0}
.gb-home-service-grid>a:hover{background:var(--bank-ui-card-alt);transform:none}
.gb-home-service-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-size:1.05rem}
.gb-home-service-grid>a>b{align-self:end;font-size:.76rem;line-height:1.25}
.gb-home-service-grid>a>small{align-self:start;margin-top:5px;color:var(--bank-ui-muted);font-size:.64rem;line-height:1.4}
.gb-home-service-arrow{grid-column:3;grid-row:1/3;align-self:center;color:var(--bank-ui-primary);font-size:.72rem}
.gb-home-service-grid .is-blue{background:#e9f2ff;color:#1769d2}.gb-home-service-grid .is-green{background:#e8f8ef;color:#138557}.gb-home-service-grid .is-orange{background:#fff1e6;color:#ef7b19}.gb-home-service-grid .is-purple{background:#f0eaff;color:#7754df}.gb-home-service-grid .is-red{background:#ffebee;color:#da4055}.gb-home-service-grid .is-teal{background:#e4f7f4;color:#11887c}

.gb-home-confidence{padding:8px 0 44px}
.gb-home-confidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gb-home-confidence article{display:flex;align-items:flex-start;gap:14px;min-height:142px;padding:22px;border:1px solid color-mix(in srgb,var(--bank-ui-primary) 22%,var(--bank-ui-sidebar));border-radius:18px;background:linear-gradient(145deg,var(--bank-ui-sidebar-strong),var(--bank-ui-sidebar));box-shadow:0 14px 34px rgba(4,25,50,.12)}
.gb-home-confidence article>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--bank-ui-primary) 38%,transparent);color:#fff;font-size:1rem}
.gb-home-confidence h2{margin:1px 0 7px;color:#fff!important;font-size:.93rem!important;line-height:1.3}
.gb-home-confidence p{margin:0;color:rgba(255,255,255,.70)!important;font-size:.72rem;line-height:1.55}

.gb-home-section{padding:clamp(68px,7vw,102px) 0}
.gb-home-section-soft{background:var(--bank-ui-bg-2)}
.gb-home-modern-grid,.gb-home-feature-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(42px,6.5vw,88px)}
.gb-home-modern-media,.gb-home-feature-image{position:relative;min-height:520px}
.gb-home-modern-media>img,.gb-home-feature-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:26px;box-shadow:0 25px 65px rgba(10,38,74,.16)}
.gb-home-balance-card,.gb-home-success-card{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.93);box-shadow:0 18px 42px rgba(10,38,74,.19);backdrop-filter:blur(14px)}
.gb-home-balance-card{left:-22px;top:34px;display:grid;gap:4px;width:190px;padding:18px;border-radius:18px}
.gb-home-balance-card small{color:var(--bank-ui-muted);font-size:.63rem}
.gb-home-balance-card strong{color:var(--bank-ui-text);font-size:.9rem;line-height:1.35}
.gb-home-balance-card span{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--bank-ui-success);font-size:.65rem;font-weight:700}
.gb-home-success-card{right:-24px;bottom:34px;display:flex;align-items:center;gap:11px;max-width:250px;padding:14px 16px;border-radius:16px}
.gb-home-success-card>i{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:50%;background:var(--bank-ui-success);color:#fff;font-size:.75rem}
.gb-home-success-card strong,.gb-home-success-card small{display:block}
.gb-home-success-card strong{color:var(--bank-ui-text);font-size:.75rem}
.gb-home-success-card small{margin-top:3px;color:var(--bank-ui-muted);font-size:.62rem}
.gb-home-section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--bank-ui-primary)!important;font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.gb-home-modern-copy h2,.gb-home-feature-copy h2,.gb-home-section-heading h2{margin-bottom:20px;font-size:clamp(2rem,3.45vw,3.45rem)!important;letter-spacing:-.042em!important;line-height:1.08!important}
.gb-home-modern-copy>p,.gb-home-feature-copy>p,.gb-home-section-heading>p{font-size:1rem;line-height:1.8}
.gb-home-benefit-list{display:grid;gap:12px;margin-top:26px}
.gb-home-benefit-list>span{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;padding:12px 0;border-bottom:1px solid var(--bank-ui-border)}
.gb-home-benefit-list>span:last-child{border-bottom:0}
.gb-home-benefit-list i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bank-ui-primary-soft);color:var(--bank-ui-primary);font-size:.65rem}
.gb-home-benefit-list b{color:var(--bank-ui-text);font-size:.82rem}
.gb-home-benefit-list small{margin-top:3px;color:var(--bank-ui-muted);font-size:.72rem;line-height:1.5}
.gb-home-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.gb-home-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--bank-ui-primary)!important;font-size:.82rem;font-weight:800}

.gb-home-section-heading{max-width:780px;margin:0 auto 42px;text-align:center}
.gb-home-section-heading>p{max-width:670px;margin-inline:auto}
.gb-home-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gb-home-journey-card{overflow:hidden;border:1px solid var(--bank-ui-border);border-radius:22px;background:var(--bank-ui-card);box-shadow:var(--bank-ui-shadow-soft);transition:transform .22s ease,box-shadow .22s ease}
.gb-home-journey-card:hover{transform:translateY(-5px);box-shadow:var(--bank-ui-shadow)}
.gb-home-journey-image{height:245px;overflow:hidden;background:var(--bank-ui-bg-2)}
.gb-home-journey-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gb-home-journey-card:hover .gb-home-journey-image img{transform:scale(1.025)}
.gb-home-journey-card>div:last-child{position:relative;padding:26px}
.gb-home-journey-card>div:last-child>span{position:absolute;right:22px;top:-25px;display:grid;place-items:center;width:50px;height:50px;border:4px solid var(--bank-ui-card);border-radius:16px;background:var(--bank-ui-primary);color:#fff;box-shadow:0 10px 26px var(--bank-ui-primary-soft)}
.gb-home-journey-card h3{margin:0 0 10px;font-size:1.24rem!important}
.gb-home-journey-card p{min-height:66px;margin-bottom:17px;font-size:.79rem;line-height:1.65}
.gb-home-journey-card a{display:inline-flex;align-items:center;gap:8px;color:var(--bank-ui-primary)!important;font-size:.75rem;font-weight:800}

.gb-home-feature-section{background:var(--bank-ui-card)}
.gb-home-feature-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.gb-home-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}
.gb-home-mini-grid>span{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;padding:16px;border:1px solid var(--bank-ui-border);border-radius:15px;background:var(--bank-ui-card-alt)}
.gb-home-mini-grid i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--bank-ui-primary-soft);color:var(--bank-ui-primary)}
.gb-home-mini-grid b{font-size:.76rem;color:var(--bank-ui-text)}
.gb-home-mini-grid small{margin-top:3px;color:var(--bank-ui-muted);font-size:.65rem;line-height:1.45}

.gb-home-final-cta{padding:58px 0;background:linear-gradient(135deg,var(--bank-ui-sidebar-strong),var(--bank-ui-primary-strong) 58%,var(--bank-ui-primary))}
.gb-home-final-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.gb-home-final-inner>div:first-child{max-width:720px}
.gb-home-final-inner .gb-home-section-kicker{color:#9fd6ff!important}
.gb-home-final-inner h2{margin:0 0 12px;color:#fff!important;font-size:clamp(1.9rem,3vw,3rem)!important;line-height:1.12!important}
.gb-home-final-inner p{margin:0;color:rgba(255,255,255,.74)!important;font-size:.92rem;line-height:1.7}
.gb-home-final-actions{display:flex;flex-wrap:wrap;gap:11px;flex:0 0 auto}
.gb-home-btn-light{background:#fff!important;border-color:#fff!important;color:var(--bank-ui-primary-strong)!important}
.gb-home-btn-outline-light{background:transparent!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important}
.gb-home-contact-strip{padding:17px 0;border-bottom:1px solid var(--bank-ui-border);background:var(--bank-ui-card)}
.gb-home-contact-strip .gb-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 26px}
.gb-home-contact-strip a,.gb-home-contact-strip span{display:inline-flex;align-items:center;gap:8px;color:var(--bank-ui-muted)!important;font-size:.72rem}
.gb-home-contact-strip b{color:var(--bank-ui-text)}
.gb-home-contact-strip i{color:var(--bank-ui-primary)}

/* ---------- admin settings and theme design repair ---------- */
.bank-context-admin .bank-settings-shell{overflow:hidden;border:1px solid var(--bank-ui-border)!important;border-radius:20px!important;background:var(--bank-ui-card)!important;box-shadow:var(--bank-ui-shadow-soft)!important}
.bank-context-admin .bank-settings-tabs{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:0!important;padding:12px!important;border-bottom:1px solid var(--bank-ui-border)!important;background:var(--bank-ui-card-alt)!important}
.bank-context-admin .bank-settings-tabs .nav-link{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;margin:0!important;padding:10px 13px!important;border:1px solid transparent!important;border-radius:11px!important;color:var(--bank-ui-muted)!important;font-size:.76rem!important;font-weight:760!important;line-height:1.2!important;white-space:normal!important}
.bank-context-admin .bank-settings-tabs .nav-link i{width:18px;text-align:center;color:inherit!important}
.bank-context-admin .bank-settings-tabs .nav-link:hover{background:var(--bank-ui-primary-soft)!important;color:var(--bank-ui-primary)!important}
.bank-context-admin .bank-settings-tabs .nav-link.active{border-color:color-mix(in srgb,var(--bank-ui-primary) 24%,var(--bank-ui-border))!important;background:var(--bank-ui-primary)!important;color:#fff!important;box-shadow:0 8px 20px var(--bank-ui-primary-soft)!important}
.bank-context-admin .bank-settings-content{padding:0!important}
.bank-context-admin .bank-settings-content>.tab-pane{display:none!important;margin:0!important;padding:24px!important}
.bank-context-admin .bank-settings-content>.tab-pane.active,.bank-context-admin .bank-settings-content>.tab-pane.show{display:block!important}
.bank-context-admin .bank-settings-content>.tab-pane[hidden]{display:none!important}
.bank-context-admin .bank-settings-section{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.bank-context-admin .bank-settings-section-head{display:flex!important;align-items:flex-start!important;gap:14px!important;margin-bottom:24px!important}
.bank-context-admin .bank-settings-section-icon{display:grid!important;place-items:center!important;flex:0 0 48px!important;width:48px!important;height:48px!important;border-radius:14px!important;background:var(--bank-ui-primary-soft)!important;color:var(--bank-ui-primary)!important}
.bank-context-admin .bank-settings-section-head h2{margin:0 0 5px!important;font-size:1.35rem!important;line-height:1.2!important}
.bank-context-admin .bank-settings-section-head p{margin:0!important;font-size:.8rem!important;line-height:1.6!important}
.bank-context-admin .bank-theme-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.bank-context-admin .bank-theme-choice{position:relative!important;display:grid!important;grid-template-columns:78px minmax(0,1fr) 28px!important;align-items:center!important;gap:13px!important;min-height:105px!important;margin:0!important;padding:16px!important;border:1px solid var(--bank-ui-border)!important;border-radius:16px!important;background:var(--bank-ui-card)!important;color:var(--bank-ui-text)!important;cursor:pointer!important;box-shadow:0 5px 18px rgba(12,37,68,.04)!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}
.bank-context-admin .bank-theme-choice:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--bank-ui-primary) 45%,var(--bank-ui-border))!important;box-shadow:var(--bank-ui-shadow-soft)!important}
.bank-context-admin .bank-theme-choice.is-selected{border-color:var(--bank-ui-primary)!important;background:linear-gradient(145deg,var(--bank-ui-card),var(--bank-ui-primary-soft))!important;box-shadow:0 0 0 3px var(--bank-ui-primary-soft),var(--bank-ui-shadow-soft)!important}
.bank-context-admin .bank-theme-choice>input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none!important}
.bank-context-admin .bank-theme-choice-preview{display:grid!important;grid-template-columns:repeat(2,1fr)!important;overflow:hidden!important;width:78px!important;height:62px!important;border:1px solid var(--bank-ui-border)!important;border-radius:12px!important;background:#fff!important}
.bank-context-admin .bank-theme-choice-preview i{display:block!important;background:var(--swatch)!important}
.bank-context-admin .bank-theme-choice-copy{display:block!important;min-width:0!important}
.bank-context-admin .bank-theme-choice-copy strong,.bank-context-admin .bank-theme-choice-copy small{display:block!important}
.bank-context-admin .bank-theme-choice-copy strong{margin-bottom:5px!important;color:var(--bank-ui-text)!important;font-size:.83rem!important;line-height:1.25!important}
.bank-context-admin .bank-theme-choice-copy small{color:var(--bank-ui-muted)!important;font-size:.68rem!important;line-height:1.48!important}
.bank-context-admin .bank-theme-choice-check{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border:1px solid var(--bank-ui-border)!important;border-radius:50%!important;background:var(--bank-ui-card-alt)!important;color:transparent!important;font-size:.7rem!important}
.bank-context-admin .bank-theme-choice.is-selected .bank-theme-choice-check{border-color:var(--bank-ui-primary)!important;background:var(--bank-ui-primary)!important;color:#fff!important}
.bank-context-admin .bank-settings-savebar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;margin-top:24px!important;padding:18px!important;border:1px solid var(--bank-ui-border)!important;border-radius:15px!important;background:var(--bank-ui-card-alt)!important}
.bank-context-admin .bank-settings-savebar strong,.bank-context-admin .bank-settings-savebar small{display:block!important}
.bank-context-admin .bank-settings-savebar strong{font-size:.83rem!important}.bank-context-admin .bank-settings-savebar small{margin-top:3px!important;color:var(--bank-ui-muted)!important;font-size:.68rem!important}
.bank-context-admin .bank-settings-inline-actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
.bank-context-admin .bank-theme-form{display:block!important}
.bank-context-admin .bank-interface-overview-grid{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;gap:22px!important;margin-top:24px!important}
.bank-context-admin .bank-interface-scope-card{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .gb-home-hero-inner{grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);gap:36px}
  .gb-home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gb-home-service-grid>a:nth-child(3n){border-right:0}.gb-home-service-grid>a:nth-child(-n+3){border-bottom:1px solid var(--bank-ui-border)}
  .gb-home-confidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bank-context-admin .bank-theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bank-context-admin .bank-interface-scope-card{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:960px){
  .bank-context-public .gb-public-menu,.bank-context-public .gb-public-actions{display:none!important}
  .bank-context-public .gb-mobile-toggle{display:grid!important}
  .gb-home-hero{min-height:auto}
  .gb-home-hero-overlay{background:linear-gradient(180deg,rgba(3,20,42,.84),rgba(4,26,52,.72) 58%,rgba(3,20,42,.88))}
  .gb-home-hero-inner{grid-template-columns:1fr;padding-top:74px;padding-bottom:118px}
  .gb-home-hero-copy{max-width:760px}
  .gb-home-access-card{justify-self:start;width:min(100%,520px)}
  .gb-home-modern-grid,.gb-home-feature-grid{grid-template-columns:1fr}
  .gb-home-modern-media,.gb-home-feature-image{min-height:480px}
  .gb-home-feature-copy{order:2}.gb-home-feature-image{order:1}
  .gb-home-journey-grid{grid-template-columns:1fr 1fr}.gb-home-journey-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr}.gb-home-journey-card:last-child .gb-home-journey-image{height:100%;min-height:270px}
  .gb-home-final-inner{align-items:flex-start;flex-direction:column}
  .bank-context-admin .bank-interface-overview-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .bank-context-public .gb-public-nav{min-height:70px!important}
  .bank-context-public .gb-mobile-panel{padding:8px 0 16px!important}
  .gb-home-hero-picture img{object-position:58% center}
  .gb-home-hero-overlay{background:linear-gradient(180deg,rgba(3,20,42,.70),rgba(3,20,42,.86) 60%,rgba(3,20,42,.96))}
  .gb-home-hero-inner{gap:26px;padding-top:56px;padding-bottom:96px}
  .gb-home-kicker{max-width:100%;font-size:.68rem;line-height:1.4}
  .gb-home-hero-copy h1{font-size:clamp(2.55rem,13.5vw,4.1rem)!important;line-height:1.01!important;letter-spacing:-.045em!important}
  .gb-home-hero-copy>p{font-size:.96rem;line-height:1.7}
  .gb-home-hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}
  .gb-home-btn{width:100%;min-height:49px}
  .gb-home-hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .gb-home-hero-trust span:last-child{grid-column:1/-1}
  .gb-home-access-card{padding:19px;border-radius:19px}
  .gb-home-service-launcher{margin-top:-48px;padding-bottom:20px}
  .gb-home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:17px}
  .gb-home-service-grid>a{grid-template-columns:42px minmax(0,1fr);min-height:112px;padding:15px 12px;border-right:1px solid var(--bank-ui-border)!important;border-bottom:1px solid var(--bank-ui-border)!important}
  .gb-home-service-grid>a:nth-child(2n){border-right:0!important}.gb-home-service-grid>a:nth-last-child(-n+2){border-bottom:0!important}
  .gb-home-service-grid>a>span{width:40px;height:40px;border-radius:12px}.gb-home-service-arrow{display:none}.gb-home-service-grid>a>b,.gb-home-service-grid>a>small{grid-column:2}
  .gb-home-confidence{padding-top:8px}.gb-home-confidence-grid{grid-template-columns:1fr;gap:10px}.gb-home-confidence article{min-height:0;padding:18px}
  .gb-home-section{padding:62px 0}
  .gb-home-modern-media,.gb-home-feature-image{min-height:340px}
  .gb-home-modern-media>img,.gb-home-feature-image>img{border-radius:19px}
  .gb-home-balance-card{left:10px;top:14px;width:160px;padding:13px}.gb-home-success-card{right:10px;bottom:14px;max-width:190px;padding:11px}
  .gb-home-modern-copy h2,.gb-home-feature-copy h2,.gb-home-section-heading h2{font-size:clamp(1.9rem,9vw,2.7rem)!important}
  .gb-home-journey-grid{grid-template-columns:1fr}.gb-home-journey-card:last-child{grid-column:auto;display:block}.gb-home-journey-card:last-child .gb-home-journey-image,.gb-home-journey-image{height:230px;min-height:0}
  .gb-home-journey-card>div:last-child{padding:23px}.gb-home-journey-card p{min-height:0}
  .gb-home-mini-grid{grid-template-columns:1fr}
  .gb-home-final-actions{width:100%;display:grid;grid-template-columns:1fr}
  .gb-home-contact-strip .gb-container{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:9px}
  .bank-context-admin .bank-settings-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;padding:9px!important}
  .bank-context-admin .bank-settings-tabs .nav-link{width:100%!important;padding:10px!important}
  .bank-context-admin .bank-settings-content>.tab-pane{padding:17px!important}
  .bank-context-admin .bank-theme-picker{grid-template-columns:1fr!important}
  .bank-context-admin .bank-theme-choice{grid-template-columns:68px minmax(0,1fr) 26px!important;min-height:96px!important;padding:13px!important}
  .bank-context-admin .bank-theme-choice-preview{width:68px!important;height:56px!important}
  .bank-context-admin .bank-settings-savebar{align-items:stretch!important;flex-direction:column!important}
  .bank-context-admin .bank-settings-inline-actions{display:grid!important;grid-template-columns:1fr!important}
  .bank-context-admin .bank-settings-inline-actions .btn{width:100%!important}
  .bank-context-admin .bank-interface-scope-card{grid-template-columns:1fr 1fr!important}
}
@media(max-width:430px){
  .gb-home-hero-trust{grid-template-columns:1fr}.gb-home-hero-trust span:last-child{grid-column:auto}
  .gb-home-access-list>span{padding-inline:4px}
  .gb-home-service-grid>a{grid-template-columns:38px minmax(0,1fr);column-gap:8px;padding:13px 9px}.gb-home-service-grid>a>span{width:36px;height:36px}.gb-home-service-grid>a>b{font-size:.69rem}.gb-home-service-grid>a>small{font-size:.59rem}
  .gb-home-balance-card{display:none}.gb-home-success-card{left:10px;right:10px;max-width:none}
  .bank-context-admin .bank-settings-tabs{grid-template-columns:1fr!important}
  .bank-context-admin .bank-interface-scope-card{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.gb-home-r5 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---------- R5 visible motion system ---------- */
html.bank-motion-active .gb-home-r5 .bank-reveal-ready{
  opacity:0;
  filter:blur(3px);
  transform:translate3d(0,32px,0) scale(.985);
  transition:opacity .72s cubic-bezier(.2,.75,.2,1) var(--bank-reveal-delay,0ms),transform .72s cubic-bezier(.2,.75,.2,1) var(--bank-reveal-delay,0ms),filter .72s ease var(--bank-reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
html.bank-motion-active .gb-home-r5 .bank-reveal-ready[data-motion="fade-left"]{transform:translate3d(42px,10px,0) scale(.985)}
html.bank-motion-active .gb-home-r5 .bank-reveal-ready[data-motion="fade-right"]{transform:translate3d(-42px,10px,0) scale(.985)}
html.bank-motion-active .gb-home-r5 .bank-reveal-ready[data-motion="zoom"]{transform:scale(.94)}
html.bank-motion-active .gb-home-r5 .bank-reveal-ready.is-visible{opacity:1;filter:none;transform:none}

.gb-home-r5 .gb-home-hero-picture{transform:translate3d(0,var(--home-parallax-y,0px),0);will-change:transform}
.gb-home-r5 .gb-home-hero-picture img{animation:gbHeroLivingImage 18s ease-in-out infinite alternate;will-change:transform}
.gb-home-r5 .gb-home-hero-overlay{animation:gbHeroOverlayBreath 9s ease-in-out infinite alternate}
.gb-home-r5 .gb-home-hero-glow{position:absolute;z-index:1;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.3;mix-blend-mode:screen}
.gb-home-r5 .gb-home-hero-glow-one{right:11%;top:12%;width:270px;height:270px;background:radial-gradient(circle,color-mix(in srgb,var(--bank-ui-accent) 65%,transparent),transparent 69%);animation:gbHeroGlowOne 11s ease-in-out infinite alternate}
.gb-home-r5 .gb-home-hero-glow-two{left:34%;bottom:-90px;width:360px;height:360px;background:radial-gradient(circle,color-mix(in srgb,var(--bank-ui-primary) 58%,transparent),transparent 70%);animation:gbHeroGlowTwo 14s ease-in-out infinite alternate}
.gb-home-r5 .gb-home-kicker{position:relative;overflow:hidden}
.gb-home-r5 .gb-home-kicker::after{content:"";position:absolute;inset:-40% auto -40% -40%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-22deg);animation:gbKickerSweep 6.5s ease-in-out infinite}
.gb-home-r5 .gb-home-kicker i{animation:gbIconPulse 2.8s ease-in-out infinite}
.gb-home-r5 .gb-home-access-card{animation:gbAccessCardFloat 6.5s ease-in-out infinite;transform:translate3d(var(--home-card-x,0px),var(--home-card-y,0px),0)}
.gb-home-r5 .gb-home-access-icon{animation:gbAccessIconPulse 3.2s ease-in-out infinite}
.gb-home-r5 .gb-home-access-card>p i{animation:gbOnlinePulse 1.8s ease-in-out infinite}
.gb-home-r5 .gb-home-hero-trust span{transition:transform .25s ease,color .25s ease}
.gb-home-r5 .gb-home-hero-trust span:hover{transform:translateY(-2px);color:#fff}
.gb-home-r5 .gb-home-hero-trust i{animation:gbTrustIcon 3.4s ease-in-out infinite}
.gb-home-r5 .gb-home-hero-trust span:nth-child(2) i{animation-delay:.45s}.gb-home-r5 .gb-home-hero-trust span:nth-child(3) i{animation-delay:.9s}

.gb-home-r5 .gb-home-service-grid>a{overflow:hidden;transition:background .25s ease,box-shadow .25s ease,transform .25s ease!important}
.gb-home-r5 .gb-home-service-grid>a::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,color-mix(in srgb,var(--bank-ui-primary) 8%,transparent) 48%,transparent 76%);transform:translateX(-120%);transition:transform .65s ease}
.gb-home-r5 .gb-home-service-grid>a:hover{z-index:2;transform:translateY(-5px)!important;box-shadow:0 18px 38px color-mix(in srgb,var(--bank-ui-sidebar) 14%,transparent)}
.gb-home-r5 .gb-home-service-grid>a:hover::before{transform:translateX(120%)}
.gb-home-r5 .gb-home-service-grid>a>span{animation:gbServiceIconFloat 4.4s ease-in-out infinite;transition:transform .25s ease,box-shadow .25s ease}
.gb-home-r5 .gb-home-service-grid>a:nth-child(2)>span{animation-delay:.35s}.gb-home-r5 .gb-home-service-grid>a:nth-child(3)>span{animation-delay:.7s}.gb-home-r5 .gb-home-service-grid>a:nth-child(4)>span{animation-delay:1.05s}.gb-home-r5 .gb-home-service-grid>a:nth-child(5)>span{animation-delay:1.4s}.gb-home-r5 .gb-home-service-grid>a:nth-child(6)>span{animation-delay:1.75s}
.gb-home-r5 .gb-home-service-grid>a:hover>span{animation-play-state:paused;transform:translateY(-3px) scale(1.08);box-shadow:0 10px 22px rgba(13,39,76,.12)}
.gb-home-r5 .gb-home-service-arrow{transition:transform .25s ease,color .25s ease}.gb-home-r5 .gb-home-service-grid>a:hover .gb-home-service-arrow{transform:translateX(4px)}

.gb-home-r5 .gb-home-confidence article,.gb-home-r5 .gb-home-journey-card,.gb-home-r5 .gb-home-mini-grid>span,.gb-home-r5 .gb-home-benefit-list>span{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.gb-home-r5 .gb-home-confidence article:hover,.gb-home-r5 .gb-home-journey-card:hover,.gb-home-r5 .gb-home-mini-grid>span:hover{transform:translateY(-6px);box-shadow:0 22px 48px color-mix(in srgb,var(--bank-ui-sidebar) 14%,transparent)}
.gb-home-r5 .gb-home-confidence article>span{animation:gbConfidenceIcon 4.6s ease-in-out infinite}.gb-home-r5 .gb-home-confidence article:nth-child(2)>span{animation-delay:.5s}.gb-home-r5 .gb-home-confidence article:nth-child(3)>span{animation-delay:1s}.gb-home-r5 .gb-home-confidence article:nth-child(4)>span{animation-delay:1.5s}
.gb-home-r5 .gb-home-modern-media>picture img,.gb-home-r5 .gb-home-modern-media>img,.gb-home-r5 .gb-home-feature-image>picture img,.gb-home-r5 .gb-home-feature-image>img,.gb-home-r5 .gb-home-journey-image img{transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.gb-home-r5 .gb-home-modern-media:hover>picture img,.gb-home-r5 .gb-home-modern-media:hover>img,.gb-home-r5 .gb-home-feature-image:hover>picture img,.gb-home-r5 .gb-home-feature-image:hover>img,.gb-home-r5 .gb-home-journey-card:hover .gb-home-journey-image img{transform:scale(1.045)}
.gb-home-r5 .gb-home-balance-card{animation:gbFloatingInfo 5.8s ease-in-out infinite}.gb-home-r5 .gb-home-success-card{animation:gbFloatingSuccess 5.1s ease-in-out infinite}.gb-home-r5 .gb-home-success-card>i{animation:gbSuccessPulse 2.4s ease-in-out infinite}
.gb-home-r5 .gb-home-final-cta{position:relative;overflow:hidden}.gb-home-r5 .gb-home-final-cta::before{content:"";position:absolute;inset:-70% -15%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);transform:translateX(-45%);animation:gbCtaSweep 9s ease-in-out infinite}

@keyframes gbHeroLivingImage{0%{transform:scale(1.035) translate3d(-.4%,0,0)}100%{transform:scale(1.095) translate3d(1.2%,-.7%,0)}}
@keyframes gbHeroOverlayBreath{0%{opacity:.94}100%{opacity:1}}
@keyframes gbHeroGlowOne{0%{transform:translate3d(0,0,0) scale(.92);opacity:.18}100%{transform:translate3d(42px,25px,0) scale(1.12);opacity:.38}}
@keyframes gbHeroGlowTwo{0%{transform:translate3d(0,0,0) scale(.9);opacity:.12}100%{transform:translate3d(-32px,-25px,0) scale(1.1);opacity:.28}}
@keyframes gbKickerSweep{0%,58%{left:-42%;opacity:0}68%{opacity:1}84%,100%{left:116%;opacity:0}}
@keyframes gbIconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes gbAccessCardFloat{0%,100%{margin-top:0}50%{margin-top:-10px}}
@keyframes gbAccessIconPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--bank-ui-primary) 0%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--bank-ui-primary) 10%,transparent)}}
@keyframes gbOnlinePulse{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
@keyframes gbTrustIcon{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes gbServiceIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gbConfidenceIcon{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(-4deg) scale(1.06)}}
@keyframes gbFloatingInfo{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes gbFloatingSuccess{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,7px,0)}}
@keyframes gbSuccessPulse{0%,100%{box-shadow:0 0 0 0 rgba(21,166,93,0)}50%{box-shadow:0 0 0 8px rgba(21,166,93,.13)}}
@keyframes gbCtaSweep{0%,38%{transform:translateX(-55%)}75%,100%{transform:translateX(55%)}}

/* ---------- R5 contrast and colour visibility safeguards ---------- */
body[class*="bank-context-"] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--bank-ui-primary)!important;outline-offset:3px!important;box-shadow:var(--bank-ui-focus-ring)!important}
body[class*="bank-context-"] :is(input,select,textarea){background:var(--bank-ui-card)!important;color:var(--bank-ui-text)!important;border-color:var(--bank-ui-border)!important}
body[class*="bank-context-"] :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--bank-ui-muted) 82%,var(--bank-ui-text))!important;opacity:1!important}
body[class*="bank-context-"] :is(.btn-primary,.gb-btn-primary,.bank-btn-primary,.bank-admin-primary-action,.bank-app-topbar-transfer){background:var(--bank-ui-primary)!important;border-color:var(--bank-ui-primary)!important;color:var(--bank-ui-on-primary)!important}
body[class*="bank-context-"] :is(.btn-primary,.gb-btn-primary,.bank-btn-primary,.bank-admin-primary-action,.bank-app-topbar-transfer) :is(i,span,strong,small){color:inherit!important}
body[class*="bank-context-"] :is(.btn-info,.badge-info,.bg-info){background:var(--bank-ui-info)!important;color:var(--bank-ui-on-info)!important}
body[class*="bank-context-"] :is(.btn-success,.badge-success,.bg-success){background:var(--bank-ui-success)!important;color:var(--bank-ui-on-success)!important}
body[class*="bank-context-"] :is(.btn-danger,.badge-danger,.bg-danger){background:var(--bank-ui-danger)!important;color:var(--bank-ui-on-danger)!important}
body[class*="bank-context-"] :is(.btn-warning,.badge-warning,.bg-warning){background:var(--bank-ui-warning)!important;color:var(--bank-ui-on-warning)!important}
body[class*="bank-context-"] :is(.sft-admin-sidebar,.sft-app-sidebar,.gb-app-sidebar,.bank-native-sidebar) :is(a,button,strong,span,small,label,i){color:var(--bank-ui-sidebar-text)!important}
body[class*="bank-context-"] :is(.sft-admin-sidebar,.sft-app-sidebar,.gb-app-sidebar,.bank-native-sidebar) input{background:color-mix(in srgb,var(--bank-ui-sidebar) 68%,white)!important;color:var(--bank-ui-sidebar-text)!important;border-color:color-mix(in srgb,var(--bank-ui-sidebar-text) 22%,transparent)!important}
body[class*="bank-context-"] :is(.sft-admin-sidebar,.sft-app-sidebar,.gb-app-sidebar,.bank-native-sidebar) input::placeholder{color:color-mix(in srgb,var(--bank-ui-sidebar-text) 78%,transparent)!important}
.gb-home-r5 .gb-home-btn-primary,.gb-home-r5 .gb-home-access-login{color:var(--bank-ui-on-primary)!important}
.gb-home-r5 .gb-home-btn-primary:hover,.gb-home-r5 .gb-home-access-login:hover{color:var(--bank-ui-on-primary)!important}
.bank-context-admin .bank-theme-choice.is-selected .bank-theme-choice-check{color:var(--bank-ui-on-primary)!important}
.bank-context-public .gb-public-menu a,.bank-context-public .gb-mobile-panel a{color:var(--bank-ui-text)!important}
.bank-context-public .gb-public-menu a:hover,.bank-context-public .gb-public-menu a.is-active,.bank-context-public .gb-mobile-panel a:hover{color:var(--bank-ui-primary)!important;background:var(--bank-ui-primary-soft)!important}

@media(max-width:760px){
  .gb-home-r5 .gb-home-hero-picture img{animation-duration:22s}
  .gb-home-r5 .gb-home-access-card{animation-duration:7.5s}
  .gb-home-r5 .gb-home-hero-glow-one{right:-90px;top:12%;width:220px;height:220px}.gb-home-r5 .gb-home-hero-glow-two{left:-110px;bottom:2%;width:260px;height:260px}
  .gb-home-r5 .gb-home-confidence article:hover,.gb-home-r5 .gb-home-journey-card:hover,.gb-home-r5 .gb-home-mini-grid>span:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html.bank-motion-active .gb-home-r5 .bank-reveal-ready,html.bank-motion-active .gb-home-r5 .bank-reveal-ready.is-visible{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  .gb-home-r5 .gb-home-hero-picture,.gb-home-r5 .gb-home-hero-picture img,.gb-home-r5 .gb-home-hero-overlay,.gb-home-r5 .gb-home-hero-glow,.gb-home-r5 .gb-home-kicker::after,.gb-home-r5 .gb-home-kicker i,.gb-home-r5 .gb-home-access-card,.gb-home-r5 .gb-home-access-icon,.gb-home-r5 .gb-home-access-card>p i,.gb-home-r5 .gb-home-hero-trust i,.gb-home-r5 .gb-home-service-grid>a>span,.gb-home-r5 .gb-home-confidence article>span,.gb-home-r5 .gb-home-balance-card,.gb-home-r5 .gb-home-success-card,.gb-home-r5 .gb-home-success-card>i,.gb-home-r5 .gb-home-final-cta::before{animation:none!important;transform:none!important}
}

/* Keep interactive transforms active after scroll-reveal completes. */
html.bank-motion-active .gb-home-r5 .gb-home-access-card.bank-reveal-ready.is-visible{transform:translate3d(var(--home-card-x,0px),var(--home-card-y,0px),0)}
html.bank-motion-active .gb-home-r5 :is(.gb-home-confidence article,.gb-home-journey-card,.gb-home-mini-grid>span).bank-reveal-ready.is-visible:hover{transform:translateY(-6px)!important}
@media(max-width:760px){html.bank-motion-active .gb-home-r5 :is(.gb-home-confidence article,.gb-home-journey-card,.gb-home-mini-grid>span).bank-reveal-ready.is-visible:hover{transform:none!important}}

/* Animated administrator theme preview. */
.bank-context-admin .bank-interface-preview-card .bank-interface-preview-hero{position:relative;overflow:hidden}
.bank-context-admin .bank-interface-preview-card .bank-interface-preview-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.34) 48%,transparent 76%);transform:translateX(-115%);animation:bankPreviewSweep 4.8s ease-in-out infinite}
.bank-context-admin .bank-interface-preview-card .bank-interface-preview-cards span{animation:bankPreviewCardFloat 3.8s ease-in-out infinite}.bank-context-admin .bank-interface-preview-card .bank-interface-preview-cards span:nth-child(2){animation-delay:.45s}.bank-context-admin .bank-interface-preview-card .bank-interface-preview-cards span:nth-child(3){animation-delay:.9s}
.bank-context-admin .bank-interface-preview-card .bank-interface-preview-body aside i{animation:bankPreviewIconPulse 2.8s ease-in-out infinite}
@keyframes bankPreviewSweep{0%,28%{transform:translateX(-115%)}72%,100%{transform:translateX(115%)}}
@keyframes bankPreviewCardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes bankPreviewIconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.bank-context-admin .bank-interface-preview-card .bank-interface-preview-hero::after,.bank-context-admin .bank-interface-preview-card .bank-interface-preview-cards span,.bank-context-admin .bank-interface-preview-card .bank-interface-preview-body aside i{animation:none!important}}
/* SEFT Banking Interface R6 — typography, title-case headings, colour visibility and auth icon reliability. */

/* Global heading treatment requested for every banking interface. */
body[class*="bank-context-"] :is(h1,h2,h3,h4,h5,h6){
  text-transform:capitalize!important;
  text-wrap:balance;
}

/* Public site readability floor. */
body.bank-context-public{font-size:16px!important;color:var(--bank-ui-text)!important}
body.bank-context-public .gb-public-main :is(p,li){font-size:clamp(.96rem,.93rem + .12vw,1.04rem);line-height:1.72}
body.bank-context-public .gb-public-menu a{font-size:14px!important;font-weight:750!important}
body.bank-context-public .gb-mobile-panel a{font-size:15px!important;font-weight:750!important}

/* Homepage: readable copy at desktop and mobile sizes. */
.gb-home-r5 p{color:color-mix(in srgb,var(--bank-ui-text) 76%,var(--bank-ui-bg))!important}
.gb-home-r5 .gb-home-kicker{font-size:.84rem!important}
.gb-home-r5 .gb-home-hero-copy>p{color:rgba(255,255,255,.94)!important;font-size:clamp(1.08rem,1.5vw,1.28rem)!important;line-height:1.7!important}
.gb-home-r5 .gb-home-hero-trust span{color:rgba(255,255,255,.92)!important;font-size:.88rem!important}
.gb-home-r5 .gb-home-access-head strong{font-size:1.12rem!important}
.gb-home-r5 .gb-home-access-head small{font-size:.84rem!important;line-height:1.45!important}
.gb-home-r5 .gb-home-access-list b{font-size:.92rem!important;line-height:1.35!important}
.gb-home-r5 .gb-home-access-list small{font-size:.8rem!important;line-height:1.5!important}
.gb-home-r5 .gb-home-access-card>p{font-size:.78rem!important;color:color-mix(in srgb,var(--bank-ui-text) 70%,var(--bank-ui-card))!important}
.gb-home-r5 .gb-home-service-grid>a>b{font-size:.9rem!important;line-height:1.35!important}
.gb-home-r5 .gb-home-service-grid>a>small{font-size:.78rem!important;line-height:1.5!important;color:color-mix(in srgb,var(--bank-ui-text) 72%,var(--bank-ui-card))!important}
.gb-home-r5 .gb-home-confidence h2{font-size:1.08rem!important;line-height:1.35!important}
.gb-home-r5 .gb-home-confidence p{font-size:.88rem!important;line-height:1.6!important;color:rgba(255,255,255,.88)!important}
.gb-home-r5 .gb-home-section-kicker{font-size:.8rem!important;letter-spacing:.09em!important}
.gb-home-r5 .gb-home-modern-copy>p,
.gb-home-r5 .gb-home-feature-copy>p,
.gb-home-r5 .gb-home-section-heading>p{font-size:1.08rem!important;line-height:1.78!important;color:color-mix(in srgb,var(--bank-ui-text) 76%,var(--bank-ui-bg))!important}
.gb-home-r5 .gb-home-benefit-list b{font-size:.96rem!important;line-height:1.4!important}
.gb-home-r5 .gb-home-benefit-list small{font-size:.84rem!important;line-height:1.58!important;color:color-mix(in srgb,var(--bank-ui-text) 72%,var(--bank-ui-bg))!important}
.gb-home-r5 .gb-home-text-link{font-size:.92rem!important}
.gb-home-r5 .gb-home-journey-card h3{font-size:1.36rem!important;line-height:1.3!important}
.gb-home-r5 .gb-home-journey-card p{font-size:.94rem!important;line-height:1.7!important;color:color-mix(in srgb,var(--bank-ui-text) 74%,var(--bank-ui-card))!important}
.gb-home-r5 .gb-home-journey-card a{font-size:.88rem!important}
.gb-home-r5 .gb-home-mini-grid b{font-size:.9rem!important;line-height:1.4!important}
.gb-home-r5 .gb-home-mini-grid small{font-size:.8rem!important;line-height:1.55!important;color:color-mix(in srgb,var(--bank-ui-text) 72%,var(--bank-ui-card-alt))!important}
.gb-home-r5 .gb-home-final-inner p{color:#eef6ff!important;font-size:1.06rem!important;line-height:1.75!important}
.gb-home-r5 .gb-home-contact-strip a,
.gb-home-r5 .gb-home-contact-strip span{font-size:.86rem!important;color:color-mix(in srgb,var(--bank-ui-text) 76%,var(--bank-ui-card))!important}
.gb-home-r5 .gb-home-contact-strip b{color:var(--bank-ui-text)!important}

/* Footer: correct the low-contrast support block and increase small copy. */
body.bank-context-public .gb-public-footer{background:var(--bank-ui-sidebar-strong)!important;color:var(--bank-ui-sidebar-text)!important}
body.bank-context-public .gb-footer-cta{padding:48px 30px!important;border:1px solid color-mix(in srgb,var(--bank-ui-sidebar-text) 18%,transparent)!important;border-radius:22px!important;background:linear-gradient(135deg,var(--bank-ui-primary-strong),var(--bank-ui-primary))!important}
body.bank-context-public .gb-footer-cta h2{margin:8px 0 12px!important;color:#fff!important;font-size:clamp(2rem,3vw,3.1rem)!important;line-height:1.14!important}
body.bank-context-public .gb-footer-cta p{max-width:820px!important;margin:0!important;color:#eef6ff!important;font-size:1rem!important;line-height:1.72!important}
body.bank-context-public .gb-footer-cta .gb-eyebrow{color:#fff!important;font-size:.82rem!important;font-weight:850!important;letter-spacing:.1em!important}
body.bank-context-public .gb-footer-cta .gb-btn-secondary{min-height:50px!important;padding:13px 18px!important;border-color:#fff!important;background:#fff!important;color:var(--bank-ui-primary-strong)!important;font-size:.9rem!important;font-weight:850!important;box-shadow:0 12px 28px rgba(2,19,39,.18)!important}
body.bank-context-public .gb-footer-cta .gb-btn-secondary :is(i,span,strong){color:inherit!important}
body.bank-context-public .gb-footer-grid{padding-top:50px!important}
body.bank-context-public .gb-footer-grid h3{font-size:1rem!important;line-height:1.4!important}
body.bank-context-public .gb-footer-grid p{color:color-mix(in srgb,var(--bank-ui-sidebar-text) 88%,transparent)!important;font-size:.92rem!important;line-height:1.7!important}
body.bank-context-public .gb-footer-grid a{color:color-mix(in srgb,var(--bank-ui-sidebar-text) 92%,transparent)!important;font-size:.9rem!important;line-height:1.5!important}
body.bank-context-public .gb-footer-grid a:hover{color:#fff!important}
body.bank-context-public .gb-footer-bottom{color:color-mix(in srgb,var(--bank-ui-sidebar-text) 82%,transparent)!important;font-size:.8rem!important;line-height:1.5!important}

/* Authentication: keep icons visible even when an icon font is late or cached. */
body.bank-context-auth .bank-auth-motion-heading h2{font-size:clamp(2.25rem,3vw,3.05rem)!important;line-height:1.08!important}
body.bank-context-auth .bank-auth-sticker{color:var(--bank-ui-primary)!important}
body.bank-context-auth .bank-auth-sticker svg{display:block!important;width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.bank-context-auth :is(.gb-auth-control,.bank-auth-control)>.bank-auth-inline-icon{position:absolute!important;left:17px!important;top:50%!important;z-index:3!important;width:18px!important;height:18px!important;transform:translateY(-50%)!important;color:var(--bank-ui-muted)!important;pointer-events:none!important}
body.bank-context-auth :is(.gb-auth-control,.bank-auth-control)>.bank-auth-inline-icon svg{display:block!important;width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.bank-context-auth .gb-subtitle{font-size:.96rem!important;line-height:1.65!important;color:color-mix(in srgb,var(--bank-ui-text) 75%,var(--bank-ui-card))!important}
body.bank-context-auth .gb-auth-field label{font-size:.92rem!important}
body.bank-context-auth .gb-admin-links a{font-size:.82rem!important}
body.bank-context-auth .gb-admin-copy-note{font-size:.8rem!important;color:color-mix(in srgb,var(--bank-ui-text) 68%,var(--bank-ui-card))!important}
body.bank-context-auth .gb-admin-login-copy>div>p{font-size:1.04rem!important;line-height:1.72!important;color:rgba(255,255,255,.88)!important}
body.bank-context-auth .gb-admin-feature strong{font-size:.9rem!important}
body.bank-context-auth .gb-admin-feature span{font-size:.8rem!important;color:rgba(255,255,255,.84)!important}

@media(max-width:760px){
  body.bank-context-public{font-size:16px!important}
  .gb-home-r5 .gb-home-kicker{font-size:.78rem!important}
  .gb-home-r5 .gb-home-hero-copy>p{font-size:1.04rem!important}
  .gb-home-r5 .gb-home-service-grid>a{min-height:126px!important;padding:16px 12px!important}
  .gb-home-r5 .gb-home-service-grid>a>b{font-size:.83rem!important}
  .gb-home-r5 .gb-home-service-grid>a>small{font-size:.73rem!important}
  .gb-home-r5 .gb-home-modern-copy>p,
  .gb-home-r5 .gb-home-feature-copy>p,
  .gb-home-r5 .gb-home-section-heading>p{font-size:1rem!important}
  body.bank-context-public .gb-footer-cta{padding:32px 22px!important}
  body.bank-context-public .gb-footer-cta p{font-size:.98rem!important}
  body.bank-context-auth .bank-auth-motion-heading h2{font-size:clamp(1.95rem,8vw,2.45rem)!important}
}

@media(max-width:430px){
  .gb-home-r5 .gb-home-service-grid>a>b{font-size:.8rem!important}
  .gb-home-r5 .gb-home-service-grid>a>small{font-size:.7rem!important}
  body.bank-context-public .gb-footer-grid p,
  body.bank-context-public .gb-footer-grid a{font-size:.88rem!important}
}
/* SEFT Banking Interface R7 — Admin Form, Admin Dashboard And Customer Dashboard Reliability */

/* -------------------------------------------------------------------------
   1. ADMIN FORM CONTROLS
   Keep every icon in a dedicated lane so it can never collide with a value.
   ------------------------------------------------------------------------- */
body.bank-context-admin .bank-admin-form .bank-input-with-icon{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon>.bank-control-icon,
body.bank-context-admin .bank-admin-form .bank-input-with-icon>i{
  position:absolute!important;
  z-index:4!important;
  top:1px!important;
  bottom:1px!important;
  left:1px!important;
  display:grid!important;
  place-items:center!important;
  width:51px!important;
  height:auto!important;
  transform:none!important;
  border-right:1px solid var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  border-radius:10px 0 0 10px!important;
  background:var(--gb-primary-soft,var(--bank-ui-primary-soft,#eaf3ff))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  font-size:16px!important;
  line-height:1!important;
  pointer-events:none!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon>.bank-control-icon svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon>.bank-control-icon.is-bitcoin svg{
  width:21px!important;
  height:21px!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon>input:not([type=checkbox]):not([type=radio]){
  min-height:52px!important;
  padding:12px 14px 12px 65px!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:15px!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon>input:focus{
  border-color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gb-primary,var(--bank-ui-primary,#0868c9)) 13%,transparent)!important;
}
body.bank-context-admin .bank-admin-form :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:15px!important;
}
body.bank-context-admin .bank-admin-form :is(input,textarea)::placeholder{
  color:#788b9f!important;
  opacity:1!important;
}
body.bank-context-admin .bank-admin-form .bank-field>span{
  margin-bottom:1px!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:14px!important;
  font-weight:780!important;
  line-height:1.4!important;
}
body.bank-context-admin .bank-admin-form .bank-field>small{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
body.bank-context-admin .bank-admin-form .bank-form-section{
  overflow:visible!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(15,45,79,.055)!important;
}
body.bank-context-admin .bank-admin-form .bank-form-section-head h2{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:1.28rem!important;
  line-height:1.28!important;
}
body.bank-context-admin .bank-admin-form .bank-form-section-head p{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.bank-context-admin .bank-admin-form .bank-readonly-control{
  min-height:52px!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f6f9fc))!important;
}
body.bank-context-admin .bank-admin-form .bank-readonly-wallet{
  min-height:82px!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f7fafc))!important;
}
body.bank-context-admin .bank-admin-form .bank-readonly-wallet.is-missing{
  border-color:#e5b98f!important;
  background:#fff8f1!important;
}
body.bank-context-admin .bank-admin-form .bank-readonly-wallet strong{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.bank-context-admin .bank-admin-form .bank-readonly-wallet small{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:13px!important;
  line-height:1.5!important;
}
body.bank-context-admin .bank-customer-create-page{
  width:100%!important;
  max-width:1480px!important;
}
body.bank-context-admin .bank-customer-create-page .bank-admin-form-layout{
  grid-template-columns:minmax(0,1fr) minmax(290px,340px)!important;
  gap:24px!important;
}
body.bank-context-admin .bank-customer-create-page .bank-admin-form-main{
  min-width:0!important;
}
body.bank-context-admin .bank-customer-create-page .bank-admin-form-aside{
  min-width:0!important;
}

/* Password actions and buttons stay visually separate from entered text. */
body.bank-context-admin .bank-admin-form .bank-input-with-action{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px!important;
  gap:0!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action>input{
  min-height:52px!important;
  border-radius:11px 0 0 11px!important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action>button{
  position:static!important;
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  border-left:0!important;
  border-radius:0 11px 11px 0!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f6f9fc))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
}

/* -------------------------------------------------------------------------
   2. ADMIN DASHBOARD
   Increase operational readability, icon clarity and palette consistency.
   ------------------------------------------------------------------------- */
body.bank-context-admin .gb-admin-dashboard{
  gap:22px!important;
}
body.bank-context-admin .gb-admin-welcome.bank-future-hero{
  min-height:260px!important;
  border-color:color-mix(in srgb,#fff 15%,transparent)!important;
  background:linear-gradient(135deg,
    var(--gb-sidebar,var(--bank-ui-sidebar,#082d55)),
    var(--gb-primary-dark,var(--bank-ui-primary-strong,#0755a8)) 58%,
    var(--gb-primary,var(--bank-ui-primary,#0874d1)))!important;
}
body.bank-context-admin .gb-admin-welcome h1{
  color:#fff!important;
  font-size:clamp(2.2rem,4vw,3.8rem)!important;
  line-height:1.06!important;
}
body.bank-context-admin .gb-admin-welcome p{
  max-width:780px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.bank-context-admin .gb-admin-welcome-actions a{
  min-height:45px!important;
  padding:10px 14px!important;
  color:#fff!important;
  font-size:13px!important;
}
body.bank-context-admin .gb-admin-welcome-actions a.primary{
  color:var(--gb-primary-dark,var(--bank-ui-primary-strong,#0755a8))!important;
}
body.bank-context-admin .gb-admin-stats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
body.bank-context-admin .gb-admin-stat{
  min-height:146px!important;
  padding:20px!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
}
body.bank-context-admin .gb-admin-stat>i{
  width:50px!important;
  height:50px!important;
  border-radius:14px!important;
  background:var(--gb-primary-soft,var(--bank-ui-primary-soft,#eaf3ff))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0874d1))!important;
  font-size:18px!important;
}
body.bank-context-admin .gb-admin-stat>span{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.bank-context-admin .gb-admin-stat>strong{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:1.45rem!important;
}
body.bank-context-admin .gb-admin-stat>small{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.bank-context-admin :is(.bank-chart-card,.bank-operations-card,.bank-admin-panel){
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
}
body.bank-context-admin .bank-chart-head h3{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:1.35rem!important;
}
body.bank-context-admin .bank-chart-head p,
body.bank-context-admin .bank-flow-node span,
body.bank-context-admin .bank-sparkline-wrap>span{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:13px!important;
  line-height:1.5!important;
}
body.bank-context-admin .bank-flow-node strong{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:14px!important;
}

/* -------------------------------------------------------------------------
   3. CUSTOMER DASHBOARD
   Remove the former 8–10px text and make every card useful on desktop/mobile.
   ------------------------------------------------------------------------- */
body.bank-context-user .bank-live-app-dashboard{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:15px!important;
}
body.bank-context-user .bank-app-welcome{
  margin-bottom:20px!important;
}
body.bank-context-user .bank-app-welcome h1{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:clamp(2rem,3vw,3rem)!important;
  line-height:1.12!important;
}
body.bank-context-user .bank-app-welcome p{
  max-width:820px!important;
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.bank-context-user .bank-app-eyebrow{
  color:var(--gb-primary,var(--bank-ui-primary,#0874d1))!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
body.bank-context-user .bank-app-live-state{
  min-height:45px!important;
  padding:9px 13px!important;
  font-size:12px!important;
}
body.bank-context-user .bank-app-live-state strong{
  color:#075f4a!important;
  font-size:13px!important;
}
body.bank-context-user .bank-app-live-state small{
  display:block!important;
  margin-top:2px!important;
  color:#357766!important;
  font-size:11px!important;
}
body.bank-context-user .bank-app-hero-grid{
  grid-template-columns:minmax(0,1.42fr) minmax(320px,.76fr)!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
body.bank-context-user .bank-app-account-stack{
  gap:18px!important;
}
body.bank-context-user .bank-app-balance-card{
  min-height:320px!important;
  padding:27px!important;
  background:linear-gradient(140deg,
    var(--gb-sidebar,var(--bank-ui-sidebar,#082d55)),
    var(--gb-primary-dark,var(--bank-ui-primary-strong,#0755a8)) 61%,
    var(--gb-primary,var(--bank-ui-primary,#0874d1)))!important;
}
body.bank-context-user .bank-app-btc-card{
  min-height:320px!important;
  padding:24px!important;
  border-color:#e5b77b!important;
  background:linear-gradient(145deg,#281b0d,#7c470a 62%,#c7780b)!important;
  color:#fff!important;
}
body.bank-context-user .bank-app-btc-card :is(span,strong,small,p,code,div){color:inherit}
body.bank-context-user :is(.bank-app-balance-top,.bank-app-btc-top)>span{
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
body.bank-context-user .bank-app-balance-value{
  margin:28px 0 20px!important;
  font-size:clamp(2.45rem,4vw,4.35rem)!important;
}
body.bank-context-user .bank-app-btc-value{
  margin:24px 0 8px!important;
  font-size:clamp(2rem,3.2vw,3.35rem)!important;
  line-height:1.08!important;
}
body.bank-context-user .bank-app-btc-fiat,
body.bank-context-user .bank-app-btc-address,
body.bank-context-user .bank-app-btc-meta{
  font-size:12.5px!important;
  line-height:1.5!important;
}
body.bank-context-user .bank-app-btc-address code{
  display:block!important;
  margin-top:5px!important;
  padding:9px 10px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.08)!important;
  font-size:12px!important;
  overflow-wrap:anywhere!important;
}
body.bank-context-user :is(.bank-app-balance-actions,.bank-app-btc-actions) a{
  min-height:42px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  font-weight:760!important;
}
body.bank-context-user .bank-app-account-strip span,
body.bank-context-user .bank-app-btc-meta span{
  color:rgba(255,255,255,.82)!important;
  font-size:12px!important;
}
body.bank-context-user .bank-app-card-wallet,
body.bank-context-user .bank-app-panel,
body.bank-context-user .bank-app-metric{
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(15,45,79,.055)!important;
}
body.bank-context-user .bank-app-panel{
  padding:21px!important;
}
body.bank-context-user .bank-app-section-heading>div>span{
  color:var(--gb-primary,var(--bank-ui-primary,#0874d1))!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.bank-context-user .bank-app-section-heading h2,
body.bank-context-user .bank-app-section-heading h3{
  margin-top:3px!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:1.2rem!important;
  line-height:1.3!important;
}
body.bank-context-user .bank-app-section-heading p{
  margin-top:5px!important;
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.bank-context-user .bank-app-section-heading a{
  color:var(--gb-primary,var(--bank-ui-primary,#0874d1))!important;
  font-size:13px!important;
  font-weight:780!important;
}
body.bank-context-user .bank-app-metric-grid{
  gap:14px!important;
  margin-bottom:18px!important;
}
body.bank-context-user .bank-app-metric{
  min-height:108px!important;
  padding:17px!important;
}
body.bank-context-user .bank-app-metric-icon{
  width:46px!important;
  height:46px!important;
  flex-basis:46px!important;
  font-size:17px!important;
}
body.bank-context-user .bank-app-metric div>span{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:13px!important;
  font-weight:720!important;
  line-height:1.35!important;
}
body.bank-context-user .bank-app-metric strong{
  margin-top:5px!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:1.25rem!important;
}
body.bank-context-user .bank-app-metric small{
  margin-top:4px!important;
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12px!important;
}
body.bank-context-user .bank-app-content-grid{
  grid-template-columns:minmax(0,1.48fr) minmax(330px,.72fr)!important;
  gap:18px!important;
}
body.bank-context-user .bank-app-main-column,
body.bank-context-user .bank-app-side-column{
  gap:18px!important;
}
body.bank-context-user .bank-app-action-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.bank-context-user .bank-app-action-grid a{
  min-height:112px!important;
  padding:14px 10px!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f7fafc))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
}
body.bank-context-user .bank-app-action-grid a i{
  width:43px!important;
  height:43px!important;
  font-size:16px!important;
}
body.bank-context-user .bank-app-action-grid a>span{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
body.bank-context-user .bank-app-action-grid a>small{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
body.bank-context-user :is(.bank-app-transaction,.bank-app-beneficiary,.bank-app-notification){
  min-height:64px!important;
  padding:11px 12px!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
}
body.bank-context-user :is(.bank-app-transaction-copy strong,.bank-app-beneficiary strong,.bank-app-notification strong){
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:13.5px!important;
  line-height:1.35!important;
}
body.bank-context-user :is(.bank-app-transaction-copy small,.bank-app-beneficiary small,.bank-app-notification small){
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12px!important;
  line-height:1.4!important;
}
body.bank-context-user .bank-app-transaction-amount{
  font-size:13px!important;
}
body.bank-context-user .bank-app-security-checks{
  gap:9px!important;
}
body.bank-context-user .bank-app-security-checks>span{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d7e2ed))!important;
  border-radius:10px!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f7fafc))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:12.5px!important;
  font-weight:680!important;
}
body.bank-context-user .bank-app-security-checks>span.is-complete i{
  color:var(--gb-success,var(--bank-ui-success,#0a8b63))!important;
}
body.bank-context-user .bank-app-empty-state,
body.bank-context-user .bank-app-mini-empty{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
}
body.bank-context-user .bank-app-empty-state strong,
body.bank-context-user .bank-app-mini-empty strong{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:14px!important;
}
body.bank-context-user .bank-app-empty-state p,
body.bank-context-user .bank-app-mini-empty small{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
body.bank-context-user .bank-app-bottom-nav a{
  font-size:11px!important;
}
body.bank-context-user .sft-app-footer{
  color:var(--gb-muted,var(--bank-ui-muted,#62778d))!important;
  font-size:12px!important;
}

/* Keep icons centred and prevent any icon font from changing field width. */
body[class*="bank-context-"] :is(.gb-admin-stat>i,.bank-app-metric-icon,.bank-app-action-grid a i,.bank-form-section-icon,.bank-form-side-icon,.sft-admin-nav-icon,.sft-side-nav a>i){
  flex-shrink:0!important;
  text-align:center!important;
  line-height:1!important;
}

/* -------------------------------------------------------------------------
   4. RESPONSIVE LAYOUT
   ------------------------------------------------------------------------- */
@media(max-width:1399px){
  body.bank-context-admin .bank-customer-create-page .bank-admin-form-layout{
    grid-template-columns:minmax(0,1fr) 300px!important;
  }
  body.bank-context-user .bank-app-hero-grid,
  body.bank-context-user .bank-app-content-grid{
    grid-template-columns:1fr!important;
  }
  body.bank-context-user .bank-app-card-wallet{
    max-width:none!important;
  }
}
@media(max-width:1199px){
  body.bank-context-admin .gb-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bank-context-admin .bank-customer-create-page .bank-admin-form-layout{grid-template-columns:1fr!important}
  body.bank-context-admin .bank-customer-create-page .bank-admin-form-aside{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.bank-context-admin .bank-customer-create-page .bank-form-submit-card{grid-column:1/-1!important}
  body.bank-context-user .bank-app-account-stack{grid-template-columns:1fr!important}
}
@media(max-width:767.98px){
  body.bank-context-admin .gb-admin-stats{grid-template-columns:1fr!important}
  body.bank-context-admin .bank-customer-create-page .bank-admin-form-aside{grid-template-columns:1fr!important}
  body.bank-context-admin .bank-admin-form .bank-input-with-icon>.bank-control-icon,
  body.bank-context-admin .bank-admin-form .bank-input-with-icon>i{width:49px!important}
  body.bank-context-admin .bank-admin-form .bank-input-with-icon>input:not([type=checkbox]):not([type=radio]){padding-left:62px!important}
  body.bank-context-user .bank-app-welcome{flex-direction:column!important}
  body.bank-context-user .bank-app-live-state{align-self:flex-start!important}
  body.bank-context-user .bank-app-metric-grid{grid-template-columns:1fr!important}
  body.bank-context-user .bank-app-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bank-context-user .bank-app-balance-card,
  body.bank-context-user .bank-app-btc-card{min-height:auto!important;padding:21px!important}
  body.bank-context-user .bank-app-panel{padding:17px!important}
}
@media(max-width:420px){
  body.bank-context-user .bank-app-action-grid{grid-template-columns:1fr 1fr!important}
  body.bank-context-user .bank-app-action-grid a{min-height:104px!important}
  body.bank-context-user .bank-app-balance-value{font-size:2.25rem!important}
  body.bank-context-user .bank-app-btc-value{font-size:1.9rem!important}
  body.bank-context-user .bank-app-section-heading{align-items:flex-start!important}
}

@media(prefers-reduced-motion:reduce){
  body.bank-context-admin .gb-admin-stat:hover,
  body.bank-context-user .bank-app-action-grid a:hover{transform:none!important}
}

/* Any remaining legacy administrator input-with-icon control receives the same safe spacing. */
body.bank-context-admin .bank-input-with-icon>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]){
  padding-left:65px!important;
}
body.bank-context-admin .bank-input-with-icon>i{
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  text-align:center!important;
  pointer-events:none!important;
}
/* SEFT Banking Interface R8 — form-control separation and password reliability */

/* -------------------------------------------------------------------------
   1. ADMINISTRATOR FORMS
   Use real grid lanes rather than overlapping absolutely-positioned icons.
   ------------------------------------------------------------------------- */
body.bank-context-admin .bank-admin-form .bank-input-with-icon {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--gb-border, var(--bank-ui-border, #d7e2ed)) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon:focus-within {
  border-color: var(--gb-primary, var(--bank-ui-primary, #0868c9)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--gb-primary, var(--bank-ui-primary, #0868c9)) 13%, transparent) !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon > .bank-control-icon,
body.bank-context-admin .bank-admin-form .bank-input-with-icon > i {
  position: static !important;
  inset: auto !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 100% !important;
  min-height: 52px !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--gb-border, var(--bank-ui-border, #d7e2ed)) !important;
  border-radius: 0 !important;
  background: var(--gb-primary-soft, var(--bank-ui-primary-soft, #eaf3ff)) !important;
  color: var(--gb-primary, var(--bank-ui-primary, #0868c9)) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon > .bank-control-icon svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-icon > input:not([type='checkbox']):not([type='radio']) {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--gb-text, var(--bank-ui-text, #102a43)) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

/* Password/action controls always keep the button in its own lane. */
body.bank-context-admin .bank-admin-form .bank-input-with-action {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--gb-border, var(--bank-ui-border, #d7e2ed)) !important;
  border-radius: 12px !important;
  background: #fff !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action:focus-within {
  border-color: var(--gb-primary, var(--bank-ui-primary, #0868c9)) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--gb-primary, var(--bank-ui-primary, #0868c9)) 13%, transparent) !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action > input {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--gb-text, var(--bank-ui-text, #102a43)) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action > button {
  position: static !important;
  inset: auto !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  min-width: 54px !important;
  height: auto !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  border-left: 1px solid var(--gb-border, var(--bank-ui-border, #d7e2ed)) !important;
  border-radius: 0 !important;
  background: var(--gb-bg-alt, var(--bank-ui-card-alt, #f6f9fc)) !important;
  color: var(--gb-primary, var(--bank-ui-primary, #0868c9)) !important;
  cursor: pointer !important;
}
body.bank-context-admin .bank-admin-form .bank-input-with-action > button:hover,
body.bank-context-admin .bank-admin-form .bank-input-with-action > button:focus-visible {
  background: var(--gb-primary-soft, var(--bank-ui-primary-soft, #eaf3ff)) !important;
  color: var(--gb-primary-dark, var(--bank-ui-primary-strong, #0755a8)) !important;
}

/* Inline SVG eye icons do not depend on an external icon font. */
.bank-password-toggle-icon {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  pointer-events: none !important;
}
.bank-password-toggle-icon svg {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.bank-password-toggle-icon .bank-eye-closed,
[data-toggle-password].is-visible .bank-password-toggle-icon .bank-eye-open {
  opacity: 0 !important;
}
[data-toggle-password].is-visible .bank-password-toggle-icon .bank-eye-closed {
  opacity: 1 !important;
}

/* -------------------------------------------------------------------------
   2. PUBLIC REGISTRATION, LOGIN AND PASSWORD FORMS
   Reserve independent left and right lanes around every entered value.
   ------------------------------------------------------------------------- */
.bank-auth-control,
.gb-auth-control {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--gb-border, #d7e2ed) !important;
  border-radius: 13px !important;
  background: #fff !important;
}
.bank-auth-control:focus-within,
.gb-auth-control:focus-within {
  border-color: var(--gb-primary, #0868c9) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--gb-primary, #0868c9) 13%, transparent) !important;
}
.bank-auth-control > i:first-child,
.gb-auth-control > i:first-child,
.bank-auth-control > .bank-auth-leading-icon,
.gb-auth-control > .bank-auth-leading-icon {
  position: absolute !important;
  z-index: 3 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: auto !important;
  min-height: 52px !important;
  transform: none !important;
  margin: 0 !important;
  border-right: 1px solid var(--gb-border, #d7e2ed) !important;
  background: var(--gb-primary-soft, #eaf3ff) !important;
  color: var(--gb-primary, #0868c9) !important;
  pointer-events: none !important;
}
.bank-auth-control > .bank-auth-leading-icon svg,
.gb-auth-control > .bank-auth-leading-icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.bank-auth-control > input,
.bank-auth-control > select,
.bank-auth-control > textarea,
.gb-auth-control > input,
.gb-auth-control > select,
.gb-auth-control > textarea {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 15px 12px 65px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #fff !important;
  color: var(--gb-text, #102a43) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}
.bank-auth-control:has(.bank-auth-toggle) > input,
.gb-auth-control:has(.gb-auth-toggle) > input,
.gb-auth-control:has(.bank-auth-toggle) > input {
  padding-right: 66px !important;
}
.bank-auth-control > textarea,
.gb-auth-control > textarea {
  min-height: 105px !important;
  padding-top: 15px !important;
}
.bank-auth-toggle,
.gb-auth-toggle {
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: auto !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  border-left: 1px solid var(--gb-border, #d7e2ed) !important;
  border-radius: 0 !important;
  background: var(--gb-bg-alt, #f6f9fc) !important;
  color: var(--gb-primary, #0868c9) !important;
}
.bank-auth-toggle:hover,
.bank-auth-toggle:focus-visible,
.gb-auth-toggle:hover,
.gb-auth-toggle:focus-visible {
  background: var(--gb-primary-soft, #eaf3ff) !important;
}
.bank-auth-chevron {
  right: 12px !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* The error remains close to the correct field and never overlaps controls. */
.bank-password-match-message {
  display: none;
  margin-top: 7px;
  color: var(--gb-danger, #b42318);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}
.bank-password-match-message.is-visible {
  display: block;
}
input[aria-invalid='true'] {
  color: var(--gb-text, #102a43) !important;
}
.bank-auth-control:has(input[aria-invalid='true']),
.bank-input-with-action:has(input[aria-invalid='true']) {
  border-color: var(--gb-danger, #b42318) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--gb-danger, #b42318) 12%, transparent) !important;
}

/* Generic form protection for any older input/icon wrapper still in use. */
body.bank-context-admin form .input-group,
body.bank-context-user form .input-group {
  min-width: 0 !important;
}
body.bank-context-admin form .input-group > .form-control,
body.bank-context-user form .input-group > .form-control {
  min-width: 0 !important;
}

@media (max-width: 767.98px) {
  body.bank-context-admin .bank-admin-form .bank-input-with-icon {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }
  body.bank-context-admin .bank-admin-form .bank-input-with-icon > .bank-control-icon,
  body.bank-context-admin .bank-admin-form .bank-input-with-icon > i {
    width: 50px !important;
    min-width: 50px !important;
  }
  body.bank-context-admin .bank-admin-form .bank-input-with-action {
    grid-template-columns: minmax(0, 1fr) 50px !important;
  }
  body.bank-context-admin .bank-admin-form .bank-input-with-action > button {
    width: 50px !important;
    min-width: 50px !important;
  }
  .bank-auth-control > i:first-child,
  .gb-auth-control > i:first-child,
  .bank-auth-control > .bank-auth-leading-icon,
  .gb-auth-control > .bank-auth-leading-icon {
    width: 49px !important;
  }
  .bank-auth-control > input,
  .bank-auth-control > select,
  .bank-auth-control > textarea,
  .gb-auth-control > input,
  .gb-auth-control > select,
  .gb-auth-control > textarea {
    padding-left: 61px !important;
    font-size: 16px !important;
  }
  .bank-auth-toggle,
  .gb-auth-toggle {
    width: 50px !important;
  }
  .bank-auth-control:has(.bank-auth-toggle) > input,
  .gb-auth-control:has(.gb-auth-toggle) > input,
  .gb-auth-control:has(.bank-auth-toggle) > input {
    padding-right: 61px !important;
  }
}

/* ========================================================================
   R9 FINAL COMPONENT LAYER
   This layer is intentionally last. It removes icon/value overlap by using
   fixed layout lanes rather than absolute icons and protects all palettes.
   ======================================================================== */
:root{
  --seft-control-height:54px;
  --seft-control-icon-width:54px;
  --seft-control-radius:13px;
  --seft-control-font:15px;
}

/* Shared form typography and readable colours. */
body.bank-context-admin .bank-field,
body.bank-context-user .bank-field,
body.bank-context-auth .bank-auth-field{
  font-size:14px!important;
  line-height:1.45!important;
}
body.bank-context-admin .bank-field>span,
body.bank-context-user .bank-field>span,
body.bank-context-auth .bank-auth-field>label{
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:14px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
body.bank-context-admin .bank-field small,
body.bank-context-user .bank-field small,
body.bank-context-auth .bank-auth-help{
  color:var(--gb-muted,var(--bank-ui-muted,#536a82))!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Admin/user icon controls: three separate physical areas, no overlap. */
body :is(.bank-input-with-icon,.bank-input-with-action){
  isolation:isolate!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  overflow:hidden!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:var(--seft-control-radius)!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  box-shadow:none!important;
}
body .bank-input-with-icon{
  position:relative!important;
  display:grid!important;
  grid-template-columns:var(--seft-control-icon-width) minmax(0,1fr)!important;
  align-items:stretch!important;
}
body .bank-input-with-icon>:is(.bank-control-icon,i):first-child{
  position:static!important;
  inset:auto!important;
  grid-column:1!important;
  display:grid!important;
  place-items:center!important;
  width:var(--seft-control-icon-width)!important;
  min-width:var(--seft-control-icon-width)!important;
  height:100%!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-right:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:0!important;
  background:var(--gb-primary-soft,var(--bank-ui-primary-soft,#e9f3ff))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  line-height:1!important;
  pointer-events:none!important;
}
body .bank-input-with-icon>:is(.bank-control-icon,i):first-child svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .bank-input-with-icon>input:not([type=checkbox]):not([type=radio]):not([type=file]),
body .bank-input-with-icon>select{
  position:static!important;
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:12px 16px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:var(--seft-control-font)!important;
  font-weight:650!important;
  line-height:1.35!important;
  text-indent:0!important;
  box-shadow:none!important;
}
body .bank-input-with-action{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--seft-control-icon-width)!important;
  align-items:stretch!important;
}
body .bank-input-with-action>input{
  position:static!important;
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:12px 16px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:var(--seft-control-font)!important;
  font-weight:600!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
body .bank-input-with-action>button{
  position:static!important;
  inset:auto!important;
  grid-column:2!important;
  display:grid!important;
  place-items:center!important;
  width:var(--seft-control-icon-width)!important;
  min-width:var(--seft-control-icon-width)!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-left:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:0!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f5f8fc))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  cursor:pointer!important;
}
body :is(.bank-input-with-icon,.bank-input-with-action):focus-within{
  border-color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gb-primary,var(--bank-ui-primary,#0868c9)) 14%,transparent)!important;
}

/* Auth controls use genuine grid lanes for leading icon, value and action. */
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control){
  position:relative!important;
  display:grid!important;
  grid-template-columns:var(--seft-control-icon-width) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  overflow:hidden!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:var(--seft-control-radius)!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  box-shadow:none!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control):has(>.bank-auth-toggle,>.gb-auth-toggle,>.bank-auth-chevron){
  grid-template-columns:var(--seft-control-icon-width) minmax(0,1fr) var(--seft-control-icon-width)!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>:is(i:first-child,.bank-auth-leading-icon){
  position:static!important;
  inset:auto!important;
  grid-column:1!important;
  display:grid!important;
  place-items:center!important;
  width:var(--seft-control-icon-width)!important;
  min-width:var(--seft-control-icon-width)!important;
  height:100%!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-right:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:0!important;
  background:var(--gb-primary-soft,var(--bank-ui-primary-soft,#e9f3ff))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  pointer-events:none!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>:is(i:first-child,.bank-auth-leading-icon) svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>:is(input,select,textarea){
  position:static!important;
  inset:auto!important;
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:12px 16px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:var(--seft-control-font)!important;
  font-weight:550!important;
  line-height:1.4!important;
  text-indent:0!important;
  box-shadow:none!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>textarea{
  min-height:112px!important;
  padding-top:15px!important;
  resize:vertical!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>:is(.bank-auth-toggle,.gb-auth-toggle,.bank-auth-chevron){
  position:static!important;
  inset:auto!important;
  grid-column:3!important;
  display:grid!important;
  place-items:center!important;
  width:var(--seft-control-icon-width)!important;
  min-width:var(--seft-control-icon-width)!important;
  height:100%!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-left:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:0!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f5f8fc))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>.bank-auth-chevron{
  pointer-events:none!important;
}
body.bank-context-auth :is(.bank-auth-control,.gb-auth-control):focus-within{
  border-color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gb-primary,var(--bank-ui-primary,#0868c9)) 14%,transparent)!important;
}

/* Legacy Bootstrap input groups are kept structurally separate. */
body :is(.bank-context-admin,.bank-context-user) form .input-group{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:var(--seft-control-radius)!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
}
body :is(.bank-context-admin,.bank-context-user) form .input-group>.form-control{
  flex:1 1 auto!important;
  width:1%!important;
  min-width:0!important;
  min-height:var(--seft-control-height)!important;
  border:0!important;
  border-radius:0!important;
  background:var(--gb-card,var(--bank-ui-card,#fff))!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-size:15px!important;
}
body :is(.bank-context-admin,.bank-context-user) form .input-group>:is(.input-group-text,.input-group-prepend,.input-group-append,button){
  flex:0 0 auto!important;
  position:static!important;
}

/* Password feedback is stable and cannot cover the field. */
.bank-password-match-message{
  display:none!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:var(--gb-danger,var(--bank-ui-danger,#b42318))!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.bank-password-match-message.is-visible{display:block!important}
.bank-password-match-message.is-match{
  display:block!important;
  color:var(--gb-success,var(--bank-ui-success,#087f5b))!important;
}

/* Form and dashboard text must not collapse to unreadable sizes. */
body.bank-context-admin :is(.bank-form-section-head p,.bank-form-side-card p,.bank-admin-page-head p),
body.bank-context-user :is(.bank-app-panel p,.bank-app-panel small,.bank-app-section-heading p){
  font-size:13px!important;
  line-height:1.55!important;
}
body.bank-context-admin :is(.gb-admin-stat span,.gb-admin-stat small,.gb-quick-action span,.gb-summary-row),
body.bank-context-user :is(.bank-app-action-grid span,.bank-app-action-grid small,.bank-app-transaction small,.bank-app-security-checks span){
  font-size:13px!important;
  line-height:1.45!important;
}
body.bank-context-admin :is(.gb-admin-stat strong,.gb-admin-panel h3,.bank-chart-card h3),
body.bank-context-user :is(.bank-app-panel h2,.bank-app-account-balance strong){
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
}

/* Palette visibility safeguards. */
body :is(.bank-context-admin,.bank-context-user,.bank-context-auth){
  --seft-readable-muted:color-mix(in srgb,var(--gb-text,var(--bank-ui-text,#102a43)) 68%,var(--gb-card,var(--bank-ui-card,#fff)));
}
body :is(.bank-context-admin,.bank-context-user,.bank-context-auth) :is(p,small,.text-muted){
  color:var(--gb-muted,var(--bank-ui-muted,#536a82));
}
body :is(.bank-context-admin,.bank-context-user) :is(input,select,textarea)::placeholder,
body.bank-context-auth :is(input,textarea)::placeholder{
  color:color-mix(in srgb,var(--gb-muted,var(--bank-ui-muted,#536a82)) 78%,transparent)!important;
  opacity:1!important;
}

@media(max-width:767.98px){
  :root{--seft-control-height:52px;--seft-control-icon-width:50px;--seft-control-font:16px}
  body.bank-context-admin .bank-form-section{padding:18px!important}
  body.bank-context-admin .bank-form-grid.cols-3,
  body.bank-context-admin .bank-form-grid.cols-2{grid-template-columns:1fr!important}
  body.bank-context-admin .bank-field.span-2{grid-column:auto!important}
  body.bank-context-auth :is(.bank-auth-control,.gb-auth-control)>:is(input,select,textarea){font-size:16px!important}
}

body .bank-field-error{
  display:block!important;
  margin-top:2px!important;
  color:var(--gb-danger,var(--bank-ui-danger,#b42318))!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
body .bank-field.has-error :is(.bank-input-with-icon,.bank-input-with-action,input,select,textarea){
  border-color:var(--gb-danger,var(--bank-ui-danger,#b42318))!important;
}

/* R9 automatic password controls for every legacy form. */
body .bank-password-field-shell{
  width:100%!important;
  min-width:0!important;
}
body .bank-password-field-shell>.bank-password-toggle{
  grid-column:2!important;
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:var(--seft-control-icon-width)!important;
  min-width:var(--seft-control-icon-width)!important;
  min-height:var(--seft-control-height)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  border-radius:0!important;
  background:var(--gb-bg-alt,var(--bank-ui-card-alt,#f5f8fc))!important;
  color:var(--gb-primary,var(--bank-ui-primary,#0868c9))!important;
  cursor:pointer!important;
}
body .bank-password-field-shell>.bank-password-toggle svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
body .bank-password-field-shell>.bank-password-toggle:hover,
body .bank-password-field-shell>.bank-password-toggle:focus-visible{
  background:var(--gb-primary-soft,var(--bank-ui-primary-soft,#e9f3ff))!important;
  outline:0!important;
}

/* Stable legacy-form baseline used by admin and customer areas. */
body :is(.bank-context-admin,.bank-context-user) form :is(.form-control,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){
  min-height:var(--seft-control-height)!important;
  max-width:100%!important;
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  background-color:var(--gb-card,var(--bank-ui-card,#fff))!important;
  border-color:var(--gb-border,var(--bank-ui-border,#d4e0ec))!important;
  font-size:15px!important;
  line-height:1.45!important;
}
body :is(.bank-context-admin,.bank-context-user) form textarea.form-control{
  min-height:112px!important;
}
body :is(.bank-context-admin,.bank-context-user) form :is(label,h4,h5){
  color:var(--gb-text,var(--bank-ui-text,#102a43))!important;
  font-weight:750!important;
  line-height:1.35!important;
}
body :is(.bank-context-admin,.bank-context-user) form .help-block,
body :is(.bank-context-admin,.bank-context-user) form .invalid-feedback,
body :is(.bank-context-admin,.bank-context-user) form .text-danger{
  display:block!important;
  margin-top:7px!important;
  color:var(--gb-danger,var(--bank-ui-danger,#b42318))!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.45!important;
}

/* -------------------------------------------------------------------------
   SEFT Banking Interface R10 — user dashboard production correction
   Loads the full dashboard component layer, removes the duplicate desktop
   sidebar offset, preserves visible primary-button labels, and strengthens
   navigation/icon readability across desktop and mobile.
   ------------------------------------------------------------------------- */
@media (min-width:1121px){
  body.bank-context-user :is(.gb-app-shell,.sft-app-shell){
    padding-left:0!important;
  }
}
body.bank-context-user .bank-app-balance-actions a.is-primary,
body.bank-context-user .bank-app-balance-actions a.is-primary :is(i,span,strong,small){
  color:var(--gb-primary-dark,var(--bank-ui-primary-strong,#084d9f))!important;
}
body.bank-context-user .bank-app-balance-actions a.is-primary{
  border-color:#fff!important;
  background:#fff!important;
}
body.bank-context-user .sft-nav-label{
  color:rgba(232,241,251,.68)!important;
  font-size:10px!important;
}
body.bank-context-user .sft-side-nav a{
  font-size:13px!important;
  line-height:1.35!important;
}
body.bank-context-user .sft-side-nav a>i{
  font-size:14px!important;
}
body.bank-context-user .bank-app-sidebar-account-copy strong{
  font-size:13px!important;
}
body.bank-context-user .bank-app-sidebar-account-copy small,
body.bank-context-user .bank-app-sidebar-balance strong{
  font-size:11px!important;
}
body.bank-context-user .bank-app-sidebar-balance small{
  font-size:8.5px!important;
}
body.bank-context-user .sft-page-heading strong{
  font-size:16px!important;
}
body.bank-context-user .sft-page-heading span{
  font-size:11px!important;
}
body.bank-context-user .bank-app-debit-card{
  min-width:0!important;
}
body.bank-context-user .bank-app-debit-card :is(strong,b,small,span){
  color:#fff!important;
}
body.bank-context-user .bank-app-card-status{
  color:#d9f8eb!important;
}
@media (max-width:680px){
  body.bank-context-user .sft-app-topbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  body.bank-context-user .sft-topbar-left{
    min-width:0!important;
  }
  body.bank-context-user .sft-page-heading{
    min-width:0!important;
    max-width:calc(100vw - 240px)!important;
  }
  body.bank-context-user .sft-page-heading strong{
    display:block!important;
    overflow:hidden!important;
    font-size:14px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.bank-context-user .bank-app-welcome h1{
    font-size:clamp(2rem,10vw,2.65rem)!important;
  }
  body.bank-context-user .bank-app-welcome p{
    font-size:15px!important;
    line-height:1.6!important;
  }
  body.bank-context-user .bank-app-balance-actions a.is-primary span{
    display:inline!important;
  }
  body.bank-context-user .bank-app-balance-actions a{
    min-width:0!important;
  }
  body.bank-context-user .bank-app-card-wallet{
    overflow:hidden!important;
  }
}

/* R10 mobile banking readability: retain useful copy and labelled actions. */
@media (max-width:680px){
  body.bank-context-user .bank-app-welcome p{
    display:block!important;
    max-width:none!important;
  }
  body.bank-context-user .bank-app-live-state{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:9px 12px!important;
  }
  body.bank-context-user .bank-app-live-state>span:last-child{
    display:grid!important;
  }
  body.bank-context-user .bank-app-balance-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.bank-context-user .bank-app-balance-actions a{
    display:flex!important;
    min-height:66px!important;
    padding:8px 6px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    font-size:11px!important;
    text-align:center!important;
  }
  body.bank-context-user .bank-app-balance-actions a span{
    display:inline!important;
    color:inherit!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
}
@media (max-width:420px){
  body.bank-context-user .bank-app-welcome p{display:block!important}
  body.bank-context-user .bank-app-balance-actions a span{display:inline!important}
}
