.ambient-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(135deg,rgba(249,247,255,.4),rgba(255,252,248,.35))}.ambient-bg i{position:absolute;width:38vw;height:38vw;border-radius:50%;filter:blur(75px);opacity:.16;animation:ambient-drift 18s ease-in-out infinite alternate}.ambient-bg i:nth-child(1){left:-12vw;top:5vh;background:#a58cff}.ambient-bg i:nth-child(2){right:-10vw;top:30vh;background:#ffd19d;animation-delay:-6s}.ambient-bg i:nth-child(3){left:34vw;bottom:-24vw;background:#8fd9bd;animation-delay:-12s}body>:not(.ambient-bg):not(.page-loader):not(.login-modal):not(.member-app-nav){position:relative;z-index:1}
.page-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s;z-index:2000}.page-loader.is-active{opacity:1;visibility:visible}.page-loader>span{color:#6d6781;font-size:12px;font-weight:650;letter-spacing:.7px}.colour-loader{position:relative;width:62px;height:62px;animation:loader-turn 1.3s linear infinite}.colour-loader i{position:absolute;width:25px;height:25px;border-radius:50%;box-shadow:0 4px 14px rgba(54,45,99,.15)}.colour-loader i:nth-child(1){left:0;top:0;background:#6552d0}.colour-loader i:nth-child(2){right:0;top:0;background:#e7a267}.colour-loader i:nth-child(3){right:0;bottom:0;background:#65b996}.colour-loader i:nth-child(4){left:0;bottom:0;background:#e06f9b}
.login-modal[hidden]{display:none}.login-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;z-index:1500;overflow:hidden}.modal-backdrop{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(135deg,rgba(13,24,53,.9),rgba(35,30,77,.86));backdrop-filter:blur(8px);z-index:0}.login-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none}.login-atmosphere i{position:absolute;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(167,193,255,.1);border-radius:16px;background:rgba(100,145,220,.07);color:rgba(186,210,255,.18);animation:login-icon-float 7s ease-in-out infinite alternate}.login-atmosphere svg{width:31px;height:31px}.login-atmosphere i:nth-child(1){left:8%;top:13%;transform:rotate(-10deg)}.login-atmosphere i:nth-child(2){right:9%;top:10%;animation-delay:-2s}.login-atmosphere i:nth-child(3){left:13%;top:43%;animation-delay:-4s}.login-atmosphere i:nth-child(4){right:13%;top:36%;animation-delay:-1s}.login-atmosphere i:nth-child(5){left:7%;bottom:12%;animation-delay:-5s}.login-atmosphere i:nth-child(6){right:7%;bottom:13%;animation-delay:-3s}.login-atmosphere i:nth-child(7){left:27%;top:7%;animation-delay:-6s}.login-atmosphere i:nth-child(8){right:27%;bottom:7%;animation-delay:-2.5s}.login-atmosphere i:nth-child(9){left:25%;bottom:22%;animation-delay:-4.5s}.login-atmosphere i:nth-child(10){right:25%;top:21%;animation-delay:-1.5s}.login-dialog{position:relative;z-index:2;width:min(470px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:38px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 30px 90px rgba(5,13,38,.45),0 0 70px rgba(76,137,255,.12);animation:modal-in .25s ease-out}.secure-lock{display:grid;place-items:center;width:70px;height:70px;margin-bottom:22px;border-radius:20px;background:linear-gradient(145deg,#6652d6,#2699f2);color:#fff;box-shadow:0 12px 28px rgba(66,90,200,.3)}.secure-lock svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.lock-shackle{transform-box:fill-box;transform-origin:88% 100%;animation:lock-unlock 2.8s ease-in-out infinite}.login-dialog h2{font-size:34px;margin:13px 0}.login-dialog>p{color:#7d778d;font-size:14px}.modal-close{position:absolute;right:18px;top:14px;width:37px;height:37px;border:0;border-radius:50%;background:#f2eef8;color:#625877;font-size:25px;line-height:1}.popup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}.popup-steps span{display:flex;flex-direction:column;gap:7px;padding:12px 8px;border-radius:10px;background:#f8f6fb;color:#817a91;font-size:10px;text-align:center}.popup-steps b{display:grid;place-items:center;margin:auto;width:24px;height:24px;border-radius:50%;background:#eee8fa;color:#604cb5;font-size:10px}.modal-status{margin:16px 0 0!important;text-align:center;font-size:11px!important}.modal-open{overflow:hidden}
@keyframes ambient-drift{to{transform:translate3d(9vw,6vh,0) scale(1.18)}}@keyframes loader-turn{to{transform:rotate(360deg)}}@keyframes modal-in{from{opacity:0;transform:translateY(18px) scale(.98)}}@keyframes lock-unlock{0%,30%,100%{transform:translate(0,0) rotate(0)}45%,72%{transform:translate(5px,-1px) rotate(18deg)}}@keyframes login-icon-float{from{translate:0 -8px;opacity:.55}to{translate:0 9px;opacity:1}}
@media(max-width:560px){.login-dialog{padding:28px 22px;border-radius:19px}.login-dialog h2{font-size:29px}.popup-steps{gap:5px}.page-loader{background:rgba(255,255,255,.92)}}
@media(max-width:760px){.login-atmosphere i{width:44px;height:44px}.login-atmosphere svg{width:24px;height:24px}.login-atmosphere i:nth-child(7),.login-atmosphere i:nth-child(8),.login-atmosphere i:nth-child(9),.login-atmosphere i:nth-child(10){display:none}}
@media(prefers-reduced-motion:reduce){.ambient-bg i,.colour-loader,.login-dialog,.lock-shackle,.login-atmosphere i{animation:none!important}}
.secure-lock{margin-inline:auto}
.popup-steps span.is-current{background:#eee8fa;color:#5143b8;font-weight:700}.login-dialog form label{display:block;color:#5d566d;font-size:13px;font-weight:650;margin:0 0 8px}.login-dialog form input{width:100%;padding:14px;border:1px solid #dcd4e8;border-radius:9px;background:#fff;color:#2a2642;font-size:18px;margin-bottom:13px}.login-dialog form input:focus{outline:3px solid rgba(100,78,197,.18);border-color:#6b56c5}.login-dialog form[hidden]{display:none}.modal-secondary{display:flex;justify-content:space-between;gap:15px;margin-top:15px}.modal-status.is-error{padding:10px;border-radius:8px;background:#fff0f0;color:#a43f47}.login-modal.is-busy .login-dialog form{opacity:.72}
