@font-face{font-family:PlusJakartaSans;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/release-20261022-login-r25/fonts/PlusJakartaSans-500.ttf') format('truetype')}
@font-face{font-family:PlusJakartaSans;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/release-20261022-login-r25/fonts/PlusJakartaSans-600.ttf') format('truetype')}
@font-face{font-family:PlusJakartaSans;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/release-20261022-login-r25/fonts/PlusJakartaSans-700.ttf') format('truetype')}
@font-face{font-family:PlusJakartaSans;font-style:normal;font-weight:800;font-display:swap;src:url('/assets/release-20261022-login-r25/fonts/PlusJakartaSans-800.ttf') format('truetype')}
:root{--bg:#f1f2f4;--panel:#fff;--ink:#14131b;--muted:#7c788e;--faint:#aaa6b8;--line:#e6e6eb;--blue:#2563ff;--blue-dark:#174ee1;--danger:#d9384c;--success:#0a9b70;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:var(--bg);color:var(--ink);font-family:PlusJakartaSans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}
.app-intro{display:none}
.native-intro-pending body{overflow:hidden}.native-intro-pending .login-shell{visibility:hidden}.native-intro-pending .app-intro{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--safe-top) 16px var(--safe-bottom);background:var(--bg);opacity:1;transition:opacity .38s ease-out}.native-intro-leaving .login-shell{visibility:visible}.native-intro-leaving .app-intro{opacity:0;pointer-events:none}.money-animation{width:clamp(260px,82vw,360px);aspect-ratio:190/150}.app-intro-wordmark{margin-top:18px;font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-1.3px;animation:intro-reveal .36s .18s cubic-bezier(.215,.61,.355,1) both}.app-intro-wordmark span{color:#7b61ff}.app-intro>p{margin-top:12px;max-width:268px;text-align:center;font-size:13px;font-weight:500;line-height:1.5;color:var(--muted);animation:intro-reveal .39s .3s cubic-bezier(.215,.61,.355,1) both}.app-intro-progress{position:absolute;left:50%;bottom:calc(44px + var(--safe-bottom));width:118px;height:5px;margin-left:-59px;border-radius:5px;background:rgba(123,97,255,.13);overflow:hidden;animation:intro-reveal .3s .45s cubic-bezier(.215,.61,.355,1) both}.app-intro-progress span{display:block;width:5px;height:100%;border-radius:5px;background:linear-gradient(90deg,#7b61ff,#5e43e6);box-shadow:0 2px 10px rgba(123,97,255,.38);animation:intro-progress 2.75s .45s cubic-bezier(.645,.045,.355,1) forwards}
.login-shell{min-height:100dvh;display:grid;place-items:center;padding:calc(var(--safe-top) + 12px) 20px calc(var(--safe-bottom) + 18px)}
.login-card{width:min(100%,420px);min-height:min(760px,calc(100dvh - var(--safe-top) - var(--safe-bottom) - 30px));display:flex;flex-direction:column;padding:12px 4px 0}
.no-biometric .brand-block{margin-top:clamp(38px,8vh,76px)}
.brand-block{text-align:center;animation:enter .42s cubic-bezier(.2,.65,.3,1) both}.brand-mark{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(37,99,255,.2));transform-style:preserve-3d;animation:logo-spin 3s linear infinite}.brand-block h1{margin-top:14px;font-size:27px;line-height:1.18;letter-spacing:-1px;font-weight:800}.brand-block p{margin-top:7px;color:var(--muted);font-size:13px;font-weight:500}
.login-form{margin-top:28px;animation:enter .42s .08s cubic-bezier(.2,.65,.3,1) both}.field{height:58px;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 1px 2px rgba(20,19,27,.02);transition:border-color .18s,box-shadow .18s}.field+.field{margin-top:12px}.field:focus-within{border-color:rgba(37,99,255,.75);box-shadow:0 0 0 3px rgba(37,99,255,.09)}.field>svg,.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--faint);flex:none}.field:focus-within>svg{color:var(--blue)}.field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14.5px;font-weight:600}.field input::placeholder{color:var(--faint)}.field input:disabled{opacity:.6}.icon-button{width:42px;height:48px;display:grid;place-items:center;margin-right:-8px}.eye-closed{display:none}.icon-button.revealed .eye-open{display:none}.icon-button.revealed .eye-closed{display:block}
.form-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:0 2px}.remember{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12.5px;font-weight:600}.check-box{width:20px;height:20px;border:1.5px solid #c9c7d1;border-radius:7px;display:grid;place-items:center;transition:.18s}.check-box svg{width:13px;height:13px;fill:none;stroke:white;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}.remember[aria-checked=true] .check-box{border-color:var(--blue);background:var(--blue);box-shadow:0 4px 12px rgba(37,99,255,.25)}.remember[aria-checked=true] .check-box svg{opacity:1}.text-button{padding:7px 2px;color:var(--blue);font-size:12.5px;font-weight:700}.text-button:active{opacity:.65}
.form-message{min-height:18px;margin-top:8px;text-align:center;font-size:12px;font-weight:600;line-height:18px}.form-message:empty{margin-top:0;min-height:0}.form-message.error{color:var(--danger)}.form-message.success{color:var(--success)}
.primary-button{position:relative;width:100%;height:56px;margin-top:18px;border-radius:999px;background:linear-gradient(135deg,var(--blue),#5f70ff);color:white;font-size:15px;font-weight:700;box-shadow:0 9px 22px rgba(37,99,255,.24);transition:transform .12s,opacity .18s}.primary-button:active:not(:disabled){transform:scale(.985)}.primary-button:disabled{background:#dedee3;color:#aaa8b2;box-shadow:none;cursor:default}.spinner{display:none;position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border:2.2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.is-busy .button-label{visibility:hidden}.is-busy .spinner{display:block}.is-busy{pointer-events:none;background:linear-gradient(135deg,var(--blue),#5f70ff)!important;color:#fff!important}
.biometric-area{margin-top:24px;text-align:center;animation:enter .4s ease both}.divider{display:flex;align-items:center;gap:13px;color:var(--faint);font-size:11px;font-weight:600}.divider::before,.divider::after{content:'';height:1px;background:var(--line);flex:1}.biometric-button{width:74px;height:74px;margin-top:18px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);box-shadow:0 7px 24px rgba(20,19,27,.06);transition:transform .12s}.biometric-button:active{transform:scale(.96)}.biometric-button svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.biometric-area>span{display:block;margin-top:10px;color:var(--muted);font-size:12px;font-weight:600}
.login-footer{margin-top:auto;padding-top:24px;text-align:center}.login-footer>p{color:var(--muted);font-size:12.5px}.login-footer a{color:var(--blue);font-weight:700}.secure-note{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:7px;color:#aaa7b3;font-size:10.5px;font-weight:600}.secure-note svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;transition:opacity .22s}.modal.is-hidden{display:none}.modal-scrim{position:absolute;inset:0;background:rgba(20,18,28,.38);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}.modal-panel{position:relative;width:min(100%,370px);padding:30px 25px 22px;border-radius:26px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.18);text-align:center;animation:modal-in .28s cubic-bezier(.2,.7,.3,1)}.mail-icon{width:66px;height:66px;margin:0 auto 15px;border-radius:21px;display:grid;place-items:center;background:#edf2ff;color:var(--blue)}.mail-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.modal-panel h2{font-size:21px;letter-spacing:-.5px}.modal-panel>p:not(.form-message){margin:8px auto 20px;max-width:285px;color:var(--muted);font-size:12.5px;line-height:1.55}.modal-panel .field{text-align:left}.modal-cancel{margin-top:10px;color:var(--muted)}
.is-hidden{display:none!important}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logo-spin{from{transform:perspective(600px) rotateY(0deg)}to{transform:perspective(600px) rotateY(360deg)}}@keyframes intro-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes intro-progress{from{width:5px}to{width:118px}}
@media(max-height:690px){.login-shell{place-items:start center}.login-card{min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px)}.no-biometric .brand-block{margin-top:8px}.brand-mark{width:76px;height:76px}.brand-block h1{margin-top:7px;font-size:23px}.brand-block p{margin-top:4px}.login-form{margin-top:20px}.field{height:52px}.primary-button{height:52px;margin-top:14px}.biometric-area{margin-top:17px}.biometric-button{width:62px;height:62px;margin-top:12px}.biometric-button svg{width:32px;height:32px}.login-footer{padding-top:16px}}
@media(min-width:700px){.login-card{min-height:730px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
