.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.auth-container{width:100%;max-width:440px}.auth-card{background:var(--white);border-radius:16px;padding:40px;box-shadow:0 4px 24px #00000014}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:28px;font-weight:700;color:var(--black);margin:0 0 8px}.auth-header p{color:var(--grey);margin:0;font-size:15px}.login-method-toggle{display:flex;gap:0;margin-bottom:24px;background:#f0f0f0;border-radius:10px;padding:4px}.toggle-btn{flex:1 1;padding:10px 16px;border:none;background:transparent;font-size:14px;font-weight:500;color:var(--grey);cursor:pointer;border-radius:8px;transition:all .2s}.toggle-btn.active{background:var(--white);color:var(--black);box-shadow:0 2px 8px #0000001a}.toggle-btn:hover:not(.active){color:var(--black)}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--black)}.form-group input{padding:14px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:15px;transition:border-color .2s,box-shadow .2s;background:var(--white)}.form-group input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #009e601a}.form-group input::placeholder{color:#aaa}.auth-btn{margin-top:8px;padding:14px 24px;font-size:16px;font-weight:600}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.referral-toggle{background:none;border:none;color:#009e60;font-size:14px;cursor:pointer;padding:8px 0;text-decoration:underline;margin-top:4px}.referral-toggle:hover{color:#007a4a}.referral-group{border-top:1px solid #eee;padding-top:16px;margin-top:8px}.referral-group input{text-transform:uppercase;letter-spacing:1px}.optional-label{color:#999;font-weight:400;font-size:13px}.error-message{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:20px;border:1px solid #feb2b2}.divider{display:flex;align-items:center;margin:24px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:#e0e0e0}.divider span{padding:0 16px;color:var(--grey);font-size:14px}.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;font-size:15px;font-weight:500;border:1px solid #e0e0e0;background:var(--white);color:var(--black)}.google-btn:hover{background:#f8f9fa;border-color:#d0d0d0}.google-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:var(--grey);font-size:14px}.auth-footer a{color:var(--green);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.forgot-password{text-align:right;margin-top:-12px}.forgot-password a{color:var(--green);font-size:14px;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.forgot-password-link{text-align:right;margin-top:-12px}.link-button{background:none;border:none;color:var(--green);font-size:14px;cursor:pointer;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.input-hint{font-size:12px;color:var(--grey);margin-top:4px}.resend-link{text-align:center;width:100%;margin-top:8px}.phone-input-row{display:flex;gap:8px}.country-code-select{width:110px;flex-shrink:0;padding:14px 8px;border:1px solid #e0e0e0;border-radius:10px;font-size:15px;background:var(--white);cursor:pointer;transition:border-color .2s,box-shadow .2s}.country-code-select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #009e601a}.phone-input-row input{flex:1 1}.reset-message{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.reset-message.success{background:#f0fff4;color:#22543d;border:1px solid #9ae6b4}.reset-message.error{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}.auth-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.auth-page .modal-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:100%;position:relative;box-shadow:0 10px 40px #0003}.auth-page .modal-content h2{font-size:22px;margin:0 0 8px;color:var(--black)}.auth-page .modal-content>p{color:var(--grey);margin:0 0 24px;font-size:14px}.auth-page .modal-content form{display:flex;flex-direction:column;gap:16px}.auth-page .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--grey);padding:0;line-height:1}.auth-page .modal-close:hover{color:var(--black)}.auth-status{text-align:center;padding:24px 0}.auth-status.processing{color:var(--grey)}.auth-status .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top:3px solid var(--green);border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-status .status-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;font-weight:700}.auth-status.success .status-icon{background:#f0fff4;color:var(--green);border:2px solid var(--green)}.auth-status.error .status-icon{background:#fff5f5;color:#c53030;border:2px solid #c53030}.auth-status p{color:var(--black);font-size:16px;margin-bottom:24px;line-height:1.5}.auth-status .btn{min-width:150px}.form-description{color:var(--grey);font-size:14px;margin-bottom:20px;text-align:center}@media(max-width:480px){.auth-page{padding:40px 16px 20px;align-items:flex-start}.auth-card{padding:32px 24px;border-radius:12px}.auth-header h1{font-size:24px}.auth-header p{font-size:14px}.form-group input{padding:12px 14px}.auth-btn,.google-btn{padding:12px 20px}}