.LoginForm_container__x_S8q{width:100%;max-width:420px;margin:0 auto;padding:24px 20px;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}.LoginForm_header__nJXKu{text-align:center;margin-bottom:4px}.LoginForm_appBadge__tHBVk{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;background:rgba(16,185,129,.1);color:#059669;font-size:13px;font-weight:600;margin-bottom:12px;letter-spacing:.2px}.LoginForm_title__8mCa9{margin:0 0 6px;font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.5px}.LoginForm_subtitle__nhi52{margin:0;font-size:14px;color:#64748b;line-height:1.4}.LoginForm_tabs__SR8Xt{display:grid;grid-template-columns:repeat(3,1fr);background:#f1f5f9;border-radius:12px;padding:4px;grid-gap:4px;gap:4px}.LoginForm_tabBtn__Uvp3D{min-height:44px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;justify-content:center;padding:0 4px;text-align:center}.LoginForm_tabBtnActive__fvwhM{background:#ffffff;color:#0f172a;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04)}.LoginForm_form___fz6U{display:flex;flex-direction:column;gap:16px}.LoginForm_formGroup__TYOqP{display:flex;flex-direction:column;gap:6px}.LoginForm_label__F7PDd{font-size:13px;font-weight:600;color:#334155}.LoginForm_inputWrapper__uabQ1{position:relative;display:flex;align-items:center}.LoginForm_input__Pg4Ex{width:100%;min-height:48px;padding:12px 14px;font-size:16px;color:#0f172a;background:#ffffff;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.LoginForm_input__Pg4Ex:focus{border-color:#059669;box-shadow:0 0 0 3px rgba(16,185,129,.15)}.LoginForm_inputError__qMrnv{border-color:#ef4444}.LoginForm_inputError__qMrnv:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.15)}.LoginForm_togglePasswordBtn__nxtyN{position:absolute;right:10px;min-height:44px;min-width:44px;background:transparent;color:#64748b;font-size:13px;font-weight:500;padding:0 8px}.LoginForm_submitBtn__wTovE,.LoginForm_togglePasswordBtn__nxtyN{border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.LoginForm_submitBtn__wTovE{min-height:48px;border-radius:10px;background:#059669;color:#ffffff;font-size:15px;font-weight:600;gap:8px;box-shadow:0 2px 4px rgba(5,150,105,.25);transition:background .15s ease,transform .05s ease;margin-top:4px}.LoginForm_submitBtn__wTovE:hover:not(:disabled){background:#047857}.LoginForm_submitBtn__wTovE:active:not(:disabled){transform:scale(.99)}.LoginForm_submitBtn__wTovE:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.LoginForm_errorBanner__z0CVB{padding:12px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px;line-height:1.4;display:flex;align-items:flex-start;gap:8px}.LoginForm_hintBanner__RLAdA{padding:10px 12px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:12px;line-height:1.4;display:flex;align-items:center;gap:6px}.LoginForm_otpSection__H_t0s{display:flex;flex-direction:column;gap:20px}.LoginForm_phoneSummary__59Ggd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.LoginForm_phoneText__yM_Pj{font-size:14px;font-weight:600;color:#0f172a}.LoginForm_changePhoneBtn__yD0Gi{min-height:44px;background:transparent;border:none;color:#059669;font-size:13px;font-weight:600;cursor:pointer;padding:0 4px}.LoginForm_otpGrid__a1pQv{display:flex;justify-content:space-between;gap:8px}.LoginForm_otpInput___fufE{flex:1 1;min-width:0;height:52px;min-height:48px;text-align:center;font-size:22px;font-weight:700;color:#0f172a;background:#ffffff;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;transition:all .15s ease;box-sizing:border-box}.LoginForm_otpInput___fufE:focus{border-color:#059669;box-shadow:0 0 0 3px rgba(16,185,129,.15)}.LoginForm_otpInputFilled__g_NSN{border-color:#10b981;background:#f0fdf4}.LoginForm_resendRow__Pr_B4{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#64748b;min-height:44px}.LoginForm_resendBtn__LT81M{min-height:44px;background:transparent;border:none;color:#059669;font-size:13px;font-weight:600;cursor:pointer;padding:0 8px}.LoginForm_resendBtn__LT81M:disabled{color:#94a3b8;cursor:not-allowed}.LoginForm_spinner__mkHYR{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffff;border-radius:50%;animation:LoginForm_spin__QD1ha .7s linear infinite}@keyframes LoginForm_spin__QD1ha{to{transform:rotate(1turn)}}.RoleSelect_container__8pkiO{width:100%;max-width:420px;margin:0 auto;padding:24px 20px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.RoleSelect_header__UYDsr{text-align:center}.RoleSelect_title__26CHS{margin:0 0 8px;font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.4px}.RoleSelect_subtitle__Anwxg{margin:0;font-size:14px;color:#64748b;line-height:1.4}.RoleSelect_rolesList__Lt1fq{display:flex;flex-direction:column;gap:12px}.RoleSelect_roleCard__EmiZ1{width:100%;min-height:80px;display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff;border:1.5px solid #e2e8f0;border-radius:14px;text-align:left;cursor:pointer;box-sizing:border-box;transition:all .18s ease;box-shadow:0 1px 3px rgba(0,0,0,.05)}.RoleSelect_roleCard__EmiZ1:hover{border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(5,150,105,.1)}.RoleSelect_roleCard__EmiZ1:active{transform:scale(.99)}.RoleSelect_iconBox__Uwwsi{width:48px;height:48px;min-width:48px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:24px}.RoleSelect_roleInfo__G4rcT{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.RoleSelect_roleName__ZDQac{font-size:16px;font-weight:700;color:#0f172a}.RoleSelect_roleDesc__paU__{font-size:13px;color:#64748b;line-height:1.35;white-space:normal}.RoleSelect_arrowIcon__Guiub{color:#94a3b8;font-size:18px;font-weight:600}.RoleSelect_emptyState__Ld3JK{padding:32px 16px;text-align:center;background:#f8fafc;border-radius:12px;color:#64748b;font-size:14px}.RoleSelect_footer__aZwtX{margin-top:8px;display:flex;flex-direction:column;gap:10px}.RoleSelect_logoutBtn__pd0ee{min-height:48px;width:100%;border:1.5px solid #e2e8f0;border-radius:10px;background:#ffffff;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.RoleSelect_logoutBtn__pd0ee:hover{background:#fef2f2;border-color:#fecaca}.RoleSelect_logoutBtn__pd0ee:active{transform:scale(.99)}.page_container__aoG4z{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#f8fafc;padding:16px;box-sizing:border-box}.page_content__kDoxQ{width:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page_card__QV0Om{background:#ffffff;border-radius:16px;border:1px solid #e2e8f0;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.page_headerRow__U7GKI{display:flex;align-items:center;justify-content:space-between}.page_roleBadge__ehNgJ{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:rgba(16,185,129,.12);color:#059669;font-size:13px;font-weight:700}.page_userName__JJW9p{font-size:20px;font-weight:700;color:#0f172a;margin:0}.page_userPhone__41LI_{font-size:13px;color:#64748b;margin:0}.page_infoBox__75laU{padding:14px;border-radius:12px;background:#f1f5f9;font-size:13px;color:#475569;line-height:1.5}.page_btnRow__X_MwF{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:8px}.page_actionBtn__w6_Iw{min-height:44px;border:1.5px solid #cbd5e1;border-radius:10px;background:#ffffff;color:#334155;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.page_actionBtn__w6_Iw:hover{background:#f8fafc;border-color:#94a3b8}.page_logoutBtn__W5nCV{min-height:44px;border:1.5px solid #fecaca;border-radius:10px;background:#fff;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.page_logoutBtn__W5nCV:hover{background:#fef2f2}.page_loadingWrapper__Aiyw_{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:#64748b}.page_spinner__1WnEQ{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#059669;border-radius:50%;animation:page_spin__W_8_q .8s linear infinite}@keyframes page_spin__W_8_q{to{transform:rotate(1turn)}}.login_pageWrapper__bPngm{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f8fafc;padding:16px;box-sizing:border-box}.login_cardContainer__ZQDBf{width:100%;max-width:440px;background:#ffffff;border-radius:20px;box-shadow:0 4px 20px -2px rgba(15,23,42,.08),0 2px 6px -1px rgba(15,23,42,.04);border:1px solid #f1f5f9;overflow:hidden}.login_loadingWrapper__yQC_0{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b;font-size:14px}.login_spinner__01OFs{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#059669;border-radius:50%;animation:login_spin__7YwG_ .8s linear infinite}@keyframes login_spin__7YwG_{to{transform:rotate(1turn)}}