@font-face{font-family:Inter;src:url('fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
html{min-height:100%;background:#080c15}
body.banking-connect-page{box-sizing:border-box;margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:#edf1fb;background:radial-gradient(ellipse at 18% 12%,#352b5722,transparent 48%),radial-gradient(ellipse at 87% 78%,#0a3c4c1c,transparent 48%),#080c15;font-family:Inter,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.banking-connect-page *{box-sizing:border-box}
.banking-connect-page .portal-nav{width:min(1184px,calc(100% - 48px));max-width:none;min-height:76px;margin:24px auto 0;padding:16px 22px;border:1px solid #b5c5e31c;border-radius:17px;background:linear-gradient(120deg,#171c2b90,#10192399);box-shadow:inset 0 1px #ffffff06;display:flex;align-items:center;justify-content:space-between;gap:20px}
.banking-connect-page .brand{display:inline-flex;align-items:center;gap:11px;color:#f3f5fe;font-size:17px;font-weight:650;letter-spacing:.04em;text-decoration:none}
.banking-connect-page .brand img{width:34px;height:34px;border:1px solid #b5a2ef2b;border-radius:10px}
.bridge-brand-context{margin-left:6px;padding-left:18px;border-left:1px solid #b5c5e326;color:#96c5de;font-size:9px;font-weight:500;letter-spacing:.1em}
.bridge-account{display:inline-flex;align-items:center;gap:17px;min-height:40px;padding:9px 14px;border:1px solid #a3b4d323;border-radius:10px;color:#c0cce2!important;background:#e1eaff04;font-size:11px;font-weight:500;text-decoration:none}
.bridge-account span{color:#9baac3}
.bridge-stage{width:100%;flex:1;display:grid;place-items:center;padding:48px 24px}
.banking-connect-page .payments-bridge{position:relative;width:min(100%,544px);max-width:none;margin:0;padding:39px 39px 0;text-align:center;border:1px solid #afbad12e;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#8e80be0d,transparent 58%),linear-gradient(145deg,#171e2d,#101824);box-shadow:inset 0 1px #ffffff0b,0 18px 64px #00000036;isolation:isolate}
.payments-bridge::before{content:'';position:absolute;inset:-1px 22% auto;height:1px;background:linear-gradient(90deg,transparent,#c9c0ff8a,#86d3e67a,transparent);pointer-events:none}
.bridge-symbol{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 23px;border:1px solid #b9a7ff2e;border-radius:20px;background:linear-gradient(145deg,#b6a2ff11,#6be3ff05);box-shadow:inset 0 1px #ffffff12,0 8px 24px #03080f30}
.bridge-symbol img{display:block;width:47px;height:47px;border-radius:13px}
.banking-connect-page .eyebrow{margin:0 0 14px;color:#a7b3df;font-size:9px;font-weight:550;letter-spacing:.15em;line-height:1.6}
.banking-connect-page .payments-bridge h1{margin:0;color:#f0f2fc;font-size:40px;font-weight:570;line-height:1.12;letter-spacing:-.045em}
.payments-bridge h1 span{color:#b8adf4;background:linear-gradient(110deg,#c1b0ff,#a5bdff 58%,#79d7ed);background-clip:text;-webkit-text-fill-color:transparent}
.bridge-description{margin:17px 0 26px;color:#95a4bf;font-size:12px;line-height:1.8}
.bridge-status-box{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:15px 18px;border:1px solid #99b3d51a;border-radius:12px;background:#080f1a66;text-align:left}
.bridge-status-box #bridge-status{flex:0 1 auto;margin:0;min-width:0;overflow-wrap:anywhere;color:#b5c3da;font-size:11px;line-height:1.8}
.bridge-indicator{display:block;width:15px;height:15px;flex:0 0 15px;border:1.5px solid #a5b4df26;border-top-color:#a3dce8;border-right-color:#a6b1f4;border-radius:50%;animation:bridge-spin 1.05s linear infinite}
.banking-connect-page[data-state=ready] .bridge-indicator,.banking-connect-page[data-state=error] .bridge-indicator{width:7px;height:7px;flex-basis:7px;border:0;background:#b4acdf;box-shadow:0 0 0 4px #b4acdf0d;animation:none}
.banking-connect-page[data-state=error] .bridge-indicator{background:#edb693;box-shadow:0 0 0 4px #edb6930d}
.banking-connect-page .payments-bridge .actions{display:flex;justify-content:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.banking-connect-page .payments-bridge .actions:not(:has(:not([hidden]))){display:none}
.banking-connect-page .payments-bridge :is(button,.button){min-height:44px;padding:11px 19px;border-radius:11px;font:550 12px/1.6 Inter,'Segoe UI',sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}
.banking-connect-page .payments-bridge .primary{color:#101728;background:linear-gradient(115deg,#b9a8ff,#91c3fb 58%,#6be3ff);border:1px solid #c5dcff55;box-shadow:inset 0 1px #ffffff80,0 4px 16px #0003;text-decoration:none}
.bridge-card-footer{display:flex;align-items:center;justify-content:center;min-height:65px;margin:28px -39px 0;padding:18px 20px;border-top:1px solid #a6b8d417;background:#060d170f;border-radius:0 0 24px 24px}
.bridge-card-footer a{display:inline-flex;gap:10px;align-items:center;color:#98aac6;font-size:11px;text-decoration:none}
.bridge-card-footer a:hover{color:#d5e5ff}
.bridge-page-footer{display:flex;align-items:center;justify-content:center;gap:11px;padding:0 20px 24px;color:#6f819e;font-size:10px;line-height:1.7}
.bridge-page-footer>span:first-child{font-size:9px;letter-spacing:.08em;font-weight:600;color:#8c9db8}
.bridge-footer-dot{height:3px;width:3px;border-radius:50%;background:#667998}
.banking-connect-page :is(a,button):focus-visible{outline:2px solid #6be3ff;outline-offset:4px}
@keyframes bridge-spin{to{transform:rotate(360deg)}}
@media(hover:hover){.banking-connect-page .payments-bridge :is(button,.button):hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff9,0 7px 22px #83c1ff20}.banking-connect-page .payments-bridge :is(button,.button):active{transform:translateY(1px)}}
@media(max-width:600px){.banking-connect-page .portal-nav{width:calc(100% - 28px);margin-top:14px;min-height:66px;padding:13px 15px;border-radius:14px}.bridge-brand-context{display:none}.bridge-account{font-size:10px;gap:10px;padding:8px 11px}.bridge-stage{padding:32px 18px}.banking-connect-page .payments-bridge{padding:30px 23px 0;border-radius:20px}.banking-connect-page .payments-bridge h1{font-size:34px}.bridge-symbol{width:62px;height:62px;margin-bottom:22px}.bridge-description{font-size:11px;margin:15px 0 23px}.bridge-card-footer{margin-left:-23px;margin-right:-23px;margin-top:24px;border-radius:0 0 20px 20px}.bridge-status-box{padding:13px 14px;gap:10px}.bridge-page-footer{padding-bottom:18px}.banking-connect-page .payments-bridge .actions{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.bridge-indicator{animation:none;border-color:#a3c7e8}.banking-connect-page .payments-bridge :is(button,.button){transition:none;transform:none!important}}
