/* Flutter auth/login_screen.dart parity. Scoped to /login only. */
body.auth-route:has(.mx-flutter-login) {background:#020814!important;}
.mx-flutter-login {position:relative; min-height:100dvh; background:#020814; color:#f8fafd; isolation:isolate; padding:0 18px 28px; display:flex; align-items:center; justify-content:center; font-family:Satoshi,system-ui,-apple-system,sans-serif;}
.mx-flutter-login::before {content:""; position:absolute; inset:0 0 auto; height:250px; background:linear-gradient(180deg,rgba(2,8,20,.70),rgba(2,8,20,.96) 63%,#020814),repeating-linear-gradient(90deg,transparent 0 106px,#243449 106px 114px); z-index:-1; pointer-events:none;}
.mx-flutter-login .mx-fl-bg {position:absolute; top:0; left:0; right:0; height:250px; display:flex; gap:8px; justify-content:center; overflow:hidden; opacity:.26; z-index:-2; pointer-events:none;}
.mx-flutter-login .mx-fl-bg span {flex:0 0 104px;height:104px;border:1px solid #243449;border-radius:12px;background:#164d78;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:white;}
.mx-flutter-login .mx-fl-bg span:nth-child(2n){background:#7e2357}.mx-flutter-login .mx-fl-bg span:nth-child(3n){background:#23536a}
.mx-flutter-login .mx-fl-wrap {width:min(100%,420px);padding:65px 4px 22px;position:relative;}
.mx-flutter-login .mx-fl-back {position:absolute;left:0;top:5px;width:44px;height:44px;display:grid;place-items:center;background:transparent;color:#f8fafd;border:0;font-size:24px;cursor:pointer;}
.mx-flutter-login .mx-fl-header{text-align:center;margin-bottom:18px;}
.mx-flutter-login .mx-fl-logo{width:62px;height:62px;margin:0 auto 12px;border:1px solid #243449;border-radius:18px;background:#0a1422;padding:6px;display:grid;place-items:center;}
.mx-flutter-login .mx-fl-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;}
.mx-flutter-login h1{color:#f8fafd;margin:0;font-size:27px;font-weight:900;line-height:1.25;}
.mx-flutter-login .mx-fl-sub{color:#98a7b9;font-size:14px;margin:4px 0 0;}
.mx-flutter-login .mx-fl-error{color:#f8fafd;background:rgba(255,49,91,.08);border:1px solid rgba(255,49,91,.5);border-radius:14px;padding:12px;margin:0 0 10px;font-size:14px;}
.mx-flutter-login .mx-fl-field{position:relative;display:block;margin-bottom:10px;}
.mx-flutter-login .mx-fl-field .mx-fl-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);font-size:19px;color:#ff315b;pointer-events:none;}
.mx-flutter-login .mx-fl-field input{box-sizing:border-box;width:100%;height:54px;border:1px solid #243449;border-radius:15px;background:#07111d!important;color:#f8fafd!important;padding:12px 48px 12px 45px;font:500 15px Satoshi,system-ui,sans-serif;outline:0;}
.mx-flutter-login .mx-fl-field input::placeholder{color:#98a7b9;opacity:1;}
.mx-flutter-login .mx-fl-field input:focus{border:1.4px solid #ff315b;}
.mx-flutter-login .mx-fl-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:42px;height:42px;background:transparent;border:0;color:#98a7b9;cursor:pointer;font-size:19px;}
.mx-flutter-login .mx-fl-forgot{display:block;width:max-content;margin:0 0 5px auto;padding:7px 4px;color:#ff315b;font-weight:800;font-size:14px;text-decoration:none;border:0;background:none;cursor:pointer;}
.mx-flutter-login .mx-fl-submit{display:block;width:100%;height:50px;border:0;border-radius:15px;background:#ff315b!important;color:#fff!important;font-size:16px;font-weight:900;cursor:pointer;}
.mx-flutter-login .mx-fl-submit:disabled{opacity:.55;cursor:wait;}
.mx-flutter-login .mx-fl-divider{display:flex;align-items:center;gap:12px;color:#98a7b9;margin:13px 0;font-size:14px;}
.mx-flutter-login .mx-fl-divider::before,.mx-flutter-login .mx-fl-divider::after{content:"";height:1px;background:#243449;flex:1;}
.mx-flutter-login #googleSignin {display:flex;justify-content:center;min-height:48px;max-width:100%;}
.mx-flutter-login #googleSignin iframe{max-width:100%;}
.mx-flutter-login .mx-fl-switch{text-align:center;font-size:14.5px;margin:14px 0 0;color:#98a7b9;}
.mx-flutter-login .mx-fl-switch a{color:#ff315b;font-weight:900;text-decoration:none;}
.mx-flutter-login .mx-fl-reset{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.66);display:flex;align-items:flex-end;justify-content:center;}
.mx-flutter-login .mx-fl-reset[hidden]{display:none!important;}
.mx-flutter-login .mx-fl-reset-panel{background:#0a1422;border-radius:26px 26px 0 0;padding:24px 20px calc(26px + env(safe-area-inset-bottom));width:min(100%,520px);box-sizing:border-box;}
.mx-flutter-login .mx-fl-reset-panel h2{font-size:22px;color:#f8fafd;margin:0 0 6px;}
.mx-flutter-login .mx-fl-reset-panel p{color:#98a7b9;font-size:14px;margin:0 0 16px;}
.mx-flutter-login .mx-fl-reset-actions{display:flex;gap:10px;align-items:center;}
.mx-flutter-login .mx-fl-reset-actions .mx-fl-submit{flex:1;}
.mx-flutter-login .mx-fl-cancel{padding:12px;background:#07111d;color:#f8fafd;border:1px solid #243449;border-radius:12px;cursor:pointer;}
@media(min-width:800px){.mx-flutter-login .mx-fl-wrap{padding:65px 18px 24px;border:1px solid #243449;border-radius:24px;background:rgba(10,20,34,.62);box-shadow:0 24px 75px rgba(0,0,0,.3);}.mx-flutter-login .mx-fl-back{left:12px}}
@media(max-width:480px){.mx-flutter-login{align-items:flex-start;padding-top:max(0px,env(safe-area-inset-top));}.mx-flutter-login .mx-fl-wrap{margin:auto 0;}}

/* V5: Follow the actual approved Flutter screenshot (unboxed screen, not a mockup card). */
body.auth-route:has(.mx-flutter-login) { margin:0!important; overflow-x:hidden; }
body.auth-route .mx-flutter-login {box-sizing:border-box; width:100%; max-width:none; min-height:100svh; padding:52px 22px 34px; background:#020814!important; color:#f8fafd; align-items:center; overflow-y:auto;}
body.auth-route .mx-flutter-login .mx-fl-wrap {box-sizing:border-box; padding:0; margin:0 auto; width:min(100%,440px); max-width:440px; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;}
body.auth-route .mx-flutter-login .mx-fl-back { position:absolute; top:-70px; left:0; width:42px; height:42px; border:0; background:transparent; font-size:29px;}
body.auth-route .mx-flutter-login .mx-fl-header {margin:0 0 18px;}
body.auth-route .mx-flutter-login .mx-fl-logo {box-sizing:border-box;width:72px;height:72px;border-radius:20px;padding:10px;background:#0a1422;border:1px solid #26364c;margin:0 auto 19px;}
body.auth-route .mx-flutter-login .mx-fl-logo img {width:100%;height:100%;object-fit:contain;}
body.auth-route .mx-flutter-login h1 {font-size:28px;line-height:1.26;font-weight:900;letter-spacing:0;}
body.auth-route .mx-flutter-login .mx-fl-sub {font-size:15px;margin-top:5px;color:#a0abbd;}
body.auth-route .mx-flutter-login .mx-fl-field {margin-bottom:11px;}
body.auth-route .mx-flutter-login .mx-fl-field input {height:56px; border-radius:16px; font-size:16px; border:1px solid #2b3b4d!important; background:#07111e!important; padding-left:55px;}
body.auth-route .mx-flutter-login .mx-fl-field .mx-fl-icon {left:18px;font-size:23px;color:#ff315b;display:flex;align-items:center;}
body.auth-route .mx-flutter-login .mx-fl-forgot {margin:4px 0 12px auto;font-size:15px;}
body.auth-route .mx-flutter-login .mx-fl-submit {height:56px;border-radius:16px; font-size:17px;background:#ff315b!important;}
body.auth-route .mx-flutter-login .mx-fl-divider {margin:16px 0; font-size:14px;}
body.auth-route .mx-flutter-login .mx-fl-switch {margin-top:20px;font-size:14.5px;}
body.auth-route .mx-flutter-login #googleSignin {min-height:48px;}
body.auth-route .mx-flutter-login .mx-fl-bg {top:50px;height:205px;gap:9px;opacity:.22;}
body.auth-route .mx-flutter-login::before {top:50px; height:235px;}
@media(max-width:600px) {
 body.auth-route .mx-flutter-login {min-height:100dvh; padding:76px 22px 36px; align-items:center;}
 body.auth-route .mx-flutter-login .mx-fl-wrap {margin:auto 0;}
 body.auth-route .mx-flutter-login .mx-fl-back {top:-88px;left:0;}
}
@media(max-height:590px) {body.auth-route .mx-flutter-login {align-items:flex-start; padding-top:82px;}body.auth-route .mx-flutter-login .mx-fl-back {top:-66px;}}

/* MX_LOGIN_NATURAL_FLOW_V6 */
/* Auth content scrolls normally; no forced vertical centering. */
body.auth-route:has(.mx-flutter-login) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body.auth-route:has(.mx-flutter-login) #app,
body.auth-route:has(.mx-flutter-login) #page {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
}

body.auth-route .mx-flutter-login {
    box-sizing: border-box !important;
    display: block !important;
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 22px 18px 36px !important;
}

body.auth-route .mx-flutter-login .mx-fl-wrap {
    position: relative !important;
    box-sizing: border-box !important;
    height: auto !important;
    max-height: none !important;
    width: min(100%, 440px) !important;
    margin: 0 auto !important;
    padding: 60px 0 12px !important;
}

body.auth-route .mx-flutter-login .mx-fl-back {
    top: 0 !important;
    left: 0 !important;
}
