/* V157.4 — faithful Swiss mobile banking visual redesign */
:root{
 --v1574-red:#c8102e;--v1574-deep:#920b25;--v1574-ink:#151b25;
 --v1574-muted:#697482;--v1574-line:#e7eaf0;--v1574-glass:rgba(255,255,255,.76);
 --v1574-shadow:0 14px 36px rgba(24,34,50,.10);
}
html,body{scroll-behavior:smooth}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.sf-main{overflow-x:hidden!important}
.sf-topbar{z-index:35!important}
.sf-user-menu{z-index:10050!important}

/* Access gate: full-bleed Matterhorn photo and luminous glass PIN panel. */
body.access-locked{
 min-height:100svh!important;overflow-x:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0!important;color:#fff!important;background:#0c1421!important;isolation:isolate
}
body.access-locked:before{
 content:"";position:fixed;inset:0;z-index:-3;background:
 linear-gradient(180deg,rgba(5,12,24,.08) 0%,rgba(7,12,22,.12) 38%,rgba(8,11,21,.94) 100%),
 var(--v157-access-image,url("images/v157-matterhorn.jpg")) center 24%/cover no-repeat;transform:scale(1.035)
}
body.access-locked:after{
 content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
 background:
 radial-gradient(ellipse at 78% 78%,rgba(245,20,58,.22),transparent 34%),
 radial-gradient(ellipse at 14% 88%,rgba(244,23,56,.18),transparent 36%),
 linear-gradient(180deg,transparent 55%,rgba(4,8,17,.55) 100%);
}
.access-blur-bg{position:fixed!important;inset:0!important;opacity:.13!important;filter:blur(18px)!important;transform:scale(1.1)!important}
.access-backdrop{background:linear-gradient(180deg,rgba(9,15,28,.10),rgba(5,9,18,.38))!important;backdrop-filter:blur(1px)!important}
.access-modal{
 position:relative!important;left:auto!important;top:auto!important;transform:none!important;
 width:min(430px,calc(100% - 36px))!important;max-height:calc(100svh - 42px)!important;
 overflow:visible!important;margin:clamp(150px,35vh,245px) auto 36px!important;
 padding:28px 24px 23px!important;border:1px solid rgba(255,255,255,.62)!important;
 border-top:1px solid rgba(255,255,255,.78)!important;border-radius:32px!important;
 color:#fff!important;text-align:center!important;
 background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(255,255,255,.10) 54%,rgba(18,24,38,.30))!important;
 box-shadow:0 28px 75px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.48)!important;
 backdrop-filter:blur(26px) saturate(150%)!important;-webkit-backdrop-filter:blur(26px) saturate(150%)!important;
}
.v157-access-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 22px;text-align:left;color:#fff}
.v157-access-brand>span:last-child{display:grid;gap:1px}
.v157-access-brand strong{font-size:20px;line-height:1;font-weight:800;letter-spacing:-.04em}
.v157-access-brand small{font-size:12px;color:rgba(255,255,255,.86);font-weight:600}
.v157-swiss-cross{position:relative;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;background:#e20e34;color:transparent;font-size:0;box-shadow:0 8px 20px rgba(235,16,55,.34)}
.v157-swiss-cross:before,.v157-swiss-cross:after{content:"";position:absolute;background:#fff;border-radius:1px}
.v157-swiss-cross:before{width:23px;height:6px}
.v157-swiss-cross:after{width:6px;height:23px}
.access-lock-icon{
 width:66px!important;height:66px!important;margin:0 auto 15px!important;border-radius:50%!important;
 color:#fff!important;background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(255,255,255,.08))!important;
 border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 0 0 7px rgba(255,255,255,.07),0 0 28px rgba(255,36,72,.55)!important
}
.access-lock-icon svg{width:34px!important;height:34px!important}
.access-kicker{color:#fff!important;opacity:.82!important;font-size:9px!important;letter-spacing:.17em!important}
.access-modal h1{color:#fff!important;font-size:24px!important;letter-spacing:-.04em!important}
.access-security-copy,.access-copy{color:rgba(255,255,255,.82)!important;font-size:12px!important}
.access-divider{background:rgba(255,255,255,.22)!important}
.access-code-label{color:#fff!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase}
.access-modal .otp-row{gap:7px!important;margin:18px 0 18px!important}
.access-modal .otp-digit{
 width:clamp(36px,10vw,48px)!important;height:54px!important;flex:1 1 0!important;
 border:1px solid rgba(255,255,255,.70)!important;border-radius:11px!important;
 color:#fff!important;background:rgba(255,255,255,.18)!important;
 box-shadow:inset 0 1px 3px rgba(255,255,255,.14),0 5px 14px rgba(0,0,0,.10)!important;
 backdrop-filter:blur(12px)!important;font-size:22px!important;font-weight:800!important
}
.access-modal .otp-digit:focus{outline:none!important;border-color:#fff!important;box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 20px rgba(255,30,65,.45)!important}
.access-button{
 display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;
 width:100%!important;min-height:54px!important;border:1px solid rgba(255,255,255,.45)!important;
 border-radius:999px!important;color:#fff!important;font-size:14px!important;font-weight:800!important;
 background:linear-gradient(100deg,#ed1745,#b9002b)!important;
 box-shadow:0 0 0 4px rgba(255,255,255,.10),0 8px 24px rgba(235,12,54,.38),inset 0 1px 0 rgba(255,255,255,.42)!important
}
.access-button:disabled{opacity:.48!important;filter:saturate(.55)!important}
.access-button i{font-size:12px!important}
.access-trust{color:rgba(255,255,255,.75)!important;font-size:10px!important}
.access-trust span{color:#fff!important}
.access-error{color:#fff!important;background:rgba(190,10,40,.5)!important;border:1px solid rgba(255,255,255,.25)!important}
@media(max-width:480px){
 .access-modal{margin:clamp(145px,35vh,230px) auto 24px!important;padding:24px 18px 20px!important;border-radius:28px!important}
 .v157-access-brand{margin-bottom:17px}
 .access-lock-icon{width:58px!important;height:58px!important}
 .access-modal .otp-digit{height:50px!important}
}

/* Success interstitial: luminous red ring, check mark, zoom-and-dissolve transition. */
body.access-success-page{
 min-height:100svh!important;display:grid!important;place-items:center!important;overflow:hidden!important;
 padding:20px!important;color:#fff!important;background:
 radial-gradient(ellipse at 50% 43%,rgba(225,14,51,.28),transparent 34%),
 radial-gradient(ellipse at 80% 75%,rgba(200,16,46,.18),transparent 40%),
 linear-gradient(145deg,#080d19 0%,#1a1020 52%,#080e1a 100%)!important
}
body.access-success-page:before{content:"";position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,rgba(238,20,55,.22),transparent 28%);filter:blur(24px);animation:v1574-glow 2.8s ease-in-out infinite alternate}
.access-success{
 position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;
 width:min(390px,100%)!important;padding:25px 20px!important;text-align:center!important;
 color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important;
 animation:v1574-success-in 1.05s cubic-bezier(.18,.85,.25,1) both
}
.success-brand{display:flex!important;align-items:center!important;gap:10px!important;margin:0 auto 54px!important;color:#fff!important;font-size:13px!important;line-height:1.05!important;font-weight:800!important;text-align:left!important}
.success-brand .v157-swiss-cross{width:35px;height:35px;flex-basis:35px}
.success-icon-wrap{
 position:relative!important;width:130px!important;height:130px!important;margin:0 auto 31px!important;
 border:1px solid rgba(255,70,99,.85)!important;background:radial-gradient(circle,rgba(255,30,65,.28),rgba(120,0,25,.12) 60%,transparent 72%)!important;
 box-shadow:0 0 24px rgba(255,28,65,.55),0 0 0 16px rgba(255,28,65,.10),0 0 0 34px rgba(255,28,65,.055)!important;
 animation:v1574-success-pulse 1.8s ease-in-out infinite alternate!important
}
.success-icon{width:88px!important;height:88px!important}
.success-circle{stroke:#fff!important;stroke-width:2.5!important}
.success-check{stroke:#fff!important;stroke-width:4.6!important}
.success-kicker{color:#ff6c83!important;letter-spacing:.2em!important;font-size:10px!important}
.access-success h1{margin:0 0 7px!important;color:#fff!important;font-size:27px!important;letter-spacing:.09em!important;font-weight:900!important}
.access-success p{color:rgba(255,255,255,.88)!important;font-size:15px!important}
.success-session{display:none!important}
.success-loading{width:100px!important;margin-top:25px!important;background:rgba(255,255,255,.18)!important}
.success-loading span{background:#ff3156!important}
.access-success>small{color:rgba(255,255,255,.55)!important}
body.access-success-page.is-leaving .access-success{
 animation:v1574-success-out .72s cubic-bezier(.4,0,.8,.2) forwards!important
}
body.access-success-page.is-leaving:before{animation:v1574-glow-out .72s ease forwards}
@keyframes v1574-glow{from{opacity:.55;transform:scale(.88)}to{opacity:1;transform:scale(1.12)}}
@keyframes v1574-success-in{0%{opacity:0;transform:scale(.58);filter:blur(18px)}65%{opacity:1;transform:scale(1.08);filter:blur(0)}100%{opacity:1;transform:scale(1)}}
@keyframes v1574-success-pulse{from{box-shadow:0 0 18px rgba(255,28,65,.42),0 0 0 12px rgba(255,28,65,.08),0 0 0 25px rgba(255,28,65,.04)}to{box-shadow:0 0 36px rgba(255,28,65,.75),0 0 0 19px rgba(255,28,65,.13),0 0 0 39px rgba(255,28,65,.07)}}
@keyframes v1574-success-out{to{opacity:0;transform:scale(1.55);filter:blur(24px)}}
@keyframes v1574-glow-out{to{opacity:0;transform:scale(1.3);filter:blur(50px)}}

/* Home: image is edge-to-edge and melts into the white application background. */
.v157-home{gap:13px!important;max-width:none!important;margin:0!important;overflow:visible!important}
.v157-mountain-hero{
 position:relative!important;width:calc(100% + 26px)!important;min-height:270px!important;
 margin:-13px -13px -54px!important;padding:25px 22px 83px!important;
 border-radius:0!important;border:0!important;box-shadow:none!important;
 background-image:var(--v157-hero-image)!important;background-size:cover!important;
 background-position:center 38%!important;background-repeat:no-repeat!important;
 color:#fff!important;isolation:isolate!important;overflow:hidden!important
}
.v157-mountain-hero:before{
 content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(90deg,rgba(9,17,31,.45),rgba(9,17,31,.08) 70%),linear-gradient(0deg,rgba(244,246,249,1) 0%,rgba(244,246,249,.88) 10%,rgba(244,246,249,.20) 43%,transparent 75%);
}
.v157-hero-shade{display:none!important}
.v157-hero-content{max-width:100%!important;padding-top:2px!important}
.v157-hero-eyebrow{color:rgba(255,255,255,.88)!important;text-shadow:0 1px 7px rgba(0,0,0,.3)}
.v157-hero-content h2{font-size:27px!important;line-height:1.08!important;margin:8px 0 5px!important;text-shadow:0 2px 12px rgba(0,0,0,.32)}
.v157-hero-content p{font-size:12px!important;color:rgba(255,255,255,.94)!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.v157-hero-mark{display:none!important}
.v157-progress-card{
 position:relative!important;z-index:2!important;margin:0 0 0!important;
 border:1px solid rgba(255,255,255,.92)!important;border-radius:23px!important;
 background:rgba(255,255,255,.91)!important;box-shadow:0 12px 32px rgba(24,34,50,.10)!important;
 backdrop-filter:blur(22px) saturate(150%)!important;-webkit-backdrop-filter:blur(22px) saturate(150%)!important
}
.v157-progress-ring{width:142px!important;height:142px!important;flex-basis:142px!important;background:conic-gradient(#c8102e var(--v157-progress),#f1dce1 0)!important;box-shadow:0 8px 24px rgba(200,16,46,.20)!important}
.v157-progress-ring:before{inset:9px!important;background:#fff!important}
.v157-ring-inner strong{font-size:24px!important}
.v157-next-card,.v157-current-card,.v157-summary-card{
 border:1px solid rgba(255,255,255,.94)!important;border-radius:21px!important;
 background:rgba(255,255,255,.88)!important;box-shadow:0 10px 28px rgba(24,34,50,.075)!important
}
.v157-current-detail img{background:#f1e7e9!important;object-fit:cover!important}
.v157-home-shortcuts a{border-radius:16px!important}
@media(max-width:850px){
 .sf-main{padding:0 13px calc(105px + env(safe-area-inset-bottom))!important}
 .sf-topbar{margin:0!important;padding:9px 1px!important}
 .v157-home{margin:0!important}
 .v157-mountain-hero{width:calc(100% + 26px)!important;margin:0 -13px -53px!important;min-height:278px!important;padding:23px 20px 84px!important}
 .v157-progress-card{padding:16px!important}
 .v157-progress-layout{gap:13px!important}
 .v157-progress-ring{width:126px!important;height:126px!important;flex-basis:126px!important}
 .v157-ring-inner strong{font-size:22px!important}
 .v157-progress-meta{gap:6px!important}
 .v157-progress-meta strong{font-size:13px!important}
 .v157-progress-meta span{font-size:9px!important}
 .v157-progress-meta small{font-size:8px!important}
}
@media(max-width:390px){
 .v157-progress-ring{width:112px!important;height:112px!important;flex-basis:112px!important}
 .v157-ring-inner strong{font-size:19px!important}
}

/* CHF/EUR — graph first, current rate second, Admin amount conversion third. */
.axefx-page{display:flex!important;flex-direction:column!important;gap:14px!important}
.axefx-history{order:1!important;padding:17px!important;border-radius:24px!important;background:rgba(255,255,255,.95)!important;box-shadow:var(--v1574-shadow)!important}
.axefx-hero{order:2!important;padding:18px!important;border-radius:22px!important;background:linear-gradient(145deg,#fff,#f5f7fa)!important;box-shadow:var(--v1574-shadow)!important}
.axefx-converter{order:3!important;padding:18px!important;border-radius:23px!important;background:#fff!important;box-shadow:var(--v1574-shadow)!important}
.axefx-section-head h2{font-size:19px!important;letter-spacing:-.04em!important}
.axefx-section-head p{font-size:11px!important;line-height:1.5!important;color:#78818d!important}
.axefx-reference-rate{margin:13px 0!important;padding:14px!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#f7f8fa)!important;border:1px solid #edf0f4!important}
.axefx-reference-rate strong{font-size:24px!important;color:#1b222d!important;letter-spacing:-.04em!important}
.axefx-periods{margin:12px 0!important;display:flex!important;gap:6px!important}
.axefx-periods button{flex:1!important;border-radius:999px!important;background:#f1f3f6!important;color:#626c79!important;font-size:10px!important}
.axefx-periods button.active{background:#c8102e!important;color:#fff!important;box-shadow:0 5px 13px rgba(200,16,46,.22)!important}
.axefx-chart{height:240px!important;margin-top:7px!important}
.axefx-note{font-size:9px!important;line-height:1.55!important;color:#8a929d!important}
.v157-fx-info .axefx-hero-top{display:block!important}
.v157-fx-info .axefx-eyebrow{color:#c8102e!important}
.v157-fx-info .axefx-hero-top h2{font-size:25px!important;letter-spacing:-.05em!important}
.v157-fx-info .axefx-live-panel{margin-top:15px!important;padding:16px!important;border-radius:18px!important;background:#fff!important;border:1px solid #edf0f3!important}
.v157-fx-info .axefx-price-layout{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-end!important}
.v157-fx-info .axefx-price-line strong{font-size:37px!important;letter-spacing:-.055em!important}
.v157-fx-info .axefx-update-box{border-left:2px solid #c8102e!important;padding-left:12px!important}
.axefx-converter .axefx-section-head{margin-bottom:15px!important}
.axefx-converter .axefx-result-wrap{margin-top:12px!important;padding:20px!important;border-radius:19px!important;background:linear-gradient(135deg,#c8102e,#950b25)!important;box-shadow:0 10px 22px rgba(200,16,46,.18)!important}
.axefx-converter .axefx-result-wrap strong{font-size:clamp(28px,8vw,38px)!important;letter-spacing:-.055em!important}
.axefx-converter .axefx-admin-amount input{font-size:20px!important;font-weight:800!important}
.axefx-converter .axefx-pair-values{margin-top:12px!important;padding:13px!important;border-radius:15px!important;background:#f7f8fa!important}
.axefx-operation-card{order:4!important}
@media(max-width:600px){
 .axefx-history,.axefx-hero,.axefx-converter{padding:15px!important}
 .axefx-chart{height:220px!important}
 .v157-fx-info .axefx-price-layout{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
 .v157-fx-info .axefx-update-box{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important}
}

/* Bottom nav selected state remains legible on its white glass surface. */
.sf-mobile-nav.v157-bottom-nav a.active b{color:#c8102e!important}
