.auth-modal{position:fixed;inset:0;z-index:99999;display:none}.auth-modal.is-open{display:flex;align-items:center;justify-content:center}.auth-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}.auth-dialog{position:relative;z-index:2;width:calc(100% - 20px);max-width:430px;max-height:calc(100vh - 20px);overflow-y:auto;background:#fff;border-radius:16px;padding:30px;box-sizing:border-box;box-shadow:0 20px 60px rgba(0,0,0,.25)}.auth-close{position:absolute;top:10px;right:14px;width:36px;height:36px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#555}.auth-logo{text-align:center;font-weight:700;font-size:17px;margin-bottom:15px}.auth-dialog h2{text-align:center;margin:0;font-size:25px}.auth-subtitle{text-align:center;color:#777;margin:7px 0 25px}.auth-field{margin-bottom:16px}.auth-field label{display:block;margin-bottom:7px;font-size:14px;font-weight:600}.auth-field input{width:100%;height:46px;padding:0 13px;border:1px solid #d7d7d7;border-radius:8px;box-sizing:border-box;outline:none;font-size:15px}.auth-field input:focus{border-color:#222}.auth-button{width:100%;height:46px;border:0;border-radius:8px;background:#222;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.auth-button:disabled{opacity:.6}.auth-links{text-align:center;margin-top:20px;font-size:14px}.auth-links a{color:#222;text-decoration:none}.auth-message{display:none;margin-bottom:16px;padding:11px 13px;border-radius:7px;font-size:14px}.auth-message.show{display:block}.auth-message.error{background:#fff0f0;color:#b42318}.auth-message.success{background:#edf9f0;color:#18753b}.auth-otp-box{display:none;margin-top:10px}.auth-otp-box.active{display:block}.auth-otp-title{text-align:center;font-size:20px;font-weight:700;margin-bottom:7px}.auth-otp-box p{text-align:center;color:#777;font-size:14px;margin:0 0 18px}.auth-text-button{width:100%;margin-top:12px;border:0;background:transparent;color:#333;cursor:pointer;font-size:14px}body.auth-modal-open{overflow:hidden}@media(max-width:480px){.auth-dialog{padding:25px 20px;border-radius:14px}}