.auth-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,12,16,.45);backdrop-filter:blur(2px)}
.auth-dialog{width:100%;max-width:460px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:20px;box-shadow:0 24px 64px rgba(0,0,0,.22)}
.auth-dialog .dialog-header{padding:28px 28px 0}
.auth-dialog .auth-form{padding:24px 28px 0}
.auth-dialog .code-input{width:100%;padding:12px 16px;font-size:1.1rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#303133;background:#fff;border:1px solid rgba(232,139,157,.25);border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s}
.auth-dialog .code-input::placeholder{color:#a8abb2;letter-spacing:0;text-transform:none;font-weight:400}
.auth-dialog .code-input:focus{border-color:rgba(232,139,157,.55);box-shadow:0 0 0 3px rgba(232,139,157,.15)}
.auth-dialog .dialog-footer{padding:0 28px 28px}
.auth-dialog .dialog-footer .cancel-btn{padding:12px 24px;font-weight:500;color:#606266;background:#fff;border:1px solid #dcdfe6;border-radius:10px;transition:all .2s}
.auth-dialog .dialog-footer .cancel-btn:hover{color:#e88b9d;border-color:rgba(232,139,157,.5);background:#fff8f9}
.auth-dialog .dialog-footer .verify-btn{color:#fff}
.auth-dialog .dialog-footer .verify-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}
button.option-item{width:100%;text-align:left;font:inherit}
.toast-stack{position:fixed;top:20px;left:50%;z-index:300;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);transform:translateX(-50%);pointer-events:none}
.toast{padding:12px 18px;font-size:14px;line-height:1.5;color:#303133;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(232,139,157,.2);border-left:4px solid #e88b9d;animation:ari-toast-in .25s ease}
.toast.success{border-left-color:#22c55e}
.toast.warning{border-left-color:#f59e0b}
.toast.error{border-left-color:#ef4444}
@keyframes ari-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.error-tips{margin:0 0 24px;padding:14px 18px;text-align:left;background:rgba(232,139,157,.06);border:1px solid rgba(232,139,157,.15);border-radius:12px}
.error-tips .tips-title{font-size:.9rem;font-weight:600;color:#e88b9d;margin-bottom:6px}
.error-tips .tips-list{list-style:none;margin:0;padding:0;font-size:.85rem;line-height:1.8;color:#606266}
@media (max-width:768px){.auth-dialog{max-width:100%}.toast-stack{top:12px}}
