:root{--mp-primary:#4f35e8;--mp-primary-dark:#3822bd;--mp-ink:#17162d;--mp-muted:#77758c;--mp-line:#e8e7f2;--mp-soft:#f4f2ff}*{box-sizing:border-box}html{min-height:100%;background:#f7f7fc}body{margin:0;min-height:100vh;color:var(--mp-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 15% 10%,#ece9ff 0,transparent 35%),radial-gradient(ellipse at 90% 85%,#e5f5ff 0,transparent 30%),#f8f8fc}.page-shell{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 18px 18px;overflow:hidden}.ambient{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}.ambient-one{width:260px;height:260px;top:7%;left:-135px;background:linear-gradient(135deg,#d7d0ff88,#fff0)}.ambient-two{width:300px;height:300px;right:-165px;bottom:8%;background:linear-gradient(135deg,#c8efff88,#fff0)}.login-card{width:min(100%,440px);padding:clamp(25px,6vw,42px);border:1px solid #ffffffd9;border-radius:30px;background:#ffffffed;box-shadow:0 24px 80px #28205d13,0 4px 16px #28205d08;backdrop-filter:blur(18px);animation:card-in .55s cubic-bezier(.2,.75,.25,1) both}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:32px}.brand-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#fff;font-size:1.45rem;background:linear-gradient(145deg,#6b56ff,#4025d5);box-shadow:0 8px 18px #4f35e83b}.brand-name{font-size:1.5rem;font-weight:850;letter-spacing:-.065em}.brand-name span{color:var(--mp-primary)}.welcome{margin-bottom:27px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--mp-primary);font-size:.68rem;font-weight:800;letter-spacing:.15em;margin-bottom:12px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#6b56ff;box-shadow:0 0 0 4px #ece8ff}.welcome h1{font-size:clamp(1.85rem,7vw,2.25rem);font-weight:800;letter-spacing:-.055em;margin:0 0 8px}.welcome p{color:var(--mp-muted);font-size:.94rem;margin:0}.form-label{display:block;margin-bottom:9px;font-size:.83rem;font-weight:750;color:#33314a}.phone-control{display:flex;align-items:center;min-height:58px;border:1px solid var(--mp-line);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}.phone-control:focus-within,.password-control:focus-within{border-color:#9384ff;box-shadow:0 0 0 4px #4f35e812}.phone-control.invalid,.password-control.invalid{border-color:#dc3545;box-shadow:0 0 0 3px #dc354510}.country-wrap{position:relative;display:flex;align-items:center;gap:7px;padding-left:13px;min-width:126px}.country-globe{color:#8b87a2;font-size:1rem}.country-select{width:91px;appearance:none;border:0;outline:0;background:transparent;color:#302d48;font-size:.82rem;font-weight:700;padding:9px 15px 9px 0;cursor:pointer}.select-chevron{position:absolute;right:1px;color:#8b87a2;font-size:.7rem;pointer-events:none}.phone-divider{height:29px;width:1px;background:#e8e6f1;flex:none}.phone-control>input{width:100%;min-width:0;height:56px;border:0;outline:0;background:transparent;padding:0 13px;color:var(--mp-ink);font-size:.92rem}.phone-control>input::placeholder,.password-control input::placeholder{color:#aaa8bb}.valid-mark{display:none;color:#1baf78;padding:0 14px 0 0}.phone-control.is-valid .valid-mark{display:block}.field-hint{margin-top:8px;font-size:.74rem;color:#9290a4}.invalid-hint{display:none;margin-top:7px;color:#c93245;font-size:.75rem}.invalid-hint.show{display:block}.password-heading{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.password-heading .form-label{margin-bottom:9px}.small-link{font-size:.78rem;color:var(--mp-primary);font-weight:700;text-decoration:none}.small-link:hover,.bottom-note a:hover{text-decoration:underline}.password-control{display:flex;align-items:center;min-height:58px;border:1px solid var(--mp-line);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}.password-leading{padding-left:16px;color:#9793ad;font-size:1.05rem}.password-control input{width:100%;min-width:0;height:56px;border:0;outline:0;background:transparent;padding:0 12px;font-size:.92rem;color:var(--mp-ink)}.toggle-password{display:grid;place-items:center;width:48px;height:48px;flex:none;margin-right:4px;border:0;border-radius:12px;background:transparent;color:#8b87a2;font-size:1.1rem}.toggle-password:hover{background:#f4f2ff;color:var(--mp-primary)}.sign-in-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:57px;margin-top:27px;border:0;border-radius:16px;background:linear-gradient(110deg,#5c43f0,#4328d5);color:#fff;font-weight:750;box-shadow:0 10px 22px #4f35e82b;transition:transform .2s,box-shadow .2s,opacity .2s}.sign-in-btn:disabled{background:linear-gradient(110deg,#a79df4,#9184ec);box-shadow:none;opacity:.85}.sign-in-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 13px 26px #4f35e83b;color:#fff}.btn-loader{display:none}.sign-in-btn.is-loading .btn-loader{display:inline-block}.sign-in-btn.is-loading .btn-arrow{display:none}.btn-arrow{position:absolute;right:17px;font-size:1.45rem;transition:transform .2s}.sign-in-btn:not(:disabled):hover .btn-arrow{transform:translateX(3px)}.security-note{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:24px;color:#77758d;font-size:.72rem;text-align:center}.security-note i{font-size:.95rem;color:#27a779}.bottom-note{margin-top:25px;padding-top:20px;border-top:1px solid #eeedf5;text-align:center;color:#77758c;font-size:.8rem}.bottom-note a{color:var(--mp-primary);font-weight:800;text-decoration:none}footer{margin-top:24px;text-align:center;color:#9290a4;font-size:.72rem}footer .footer-dot{padding:0 6px;color:#c3bfda}.alert{border-radius:13px;font-size:.84rem}.toast{border-radius:14px;box-shadow:0 10px 30px #1c19402b}@keyframes card-in{from{opacity:0;transform:translateY(15px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:420px){.page-shell{padding:20px 13px}.login-card{padding:25px 20px;border-radius:25px}.brand-row{margin-bottom:27px}.country-wrap{min-width:112px;padding-left:10px;gap:5px}.country-select{width:81px;font-size:.77rem}.phone-control>input{padding:0 9px;font-size:.88rem}.valid-mark{padding-right:9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
