.auth-modal-overlay{z-index:9999;background:#00000059;justify-content:center;align-items:center;padding:1.5rem;animation:.2s authFadeIn;display:none;position:fixed;inset:0}.auth-modal-overlay.open{display:flex}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal-card{background:#fff;border-radius:18px;width:100%;max-width:380px;max-height:90vh;padding:2rem 1.8rem 1.8rem;animation:.25s cubic-bezier(.16,1,.3,1) authSlideIn;position:relative;overflow-y:auto;box-shadow:0 8px 40px #0000001f}@keyframes authSlideIn{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-modal-close{width:1.8rem;height:1.8rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:1.2rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.8rem;right:.8rem}.auth-modal-close:hover{color:#555;background:var(--bg-sunken)}.auth-modal-card .auth-modal-h1{letter-spacing:.12em;color:#1a1a1a;text-align:center;margin-bottom:.1rem;font-family:Noto Serif SC,serif;font-size:1.25rem;font-weight:600}.auth-modal-card .auth-modal-sub{color:var(--text-dim);text-align:center;margin-bottom:1.4rem;font-size:.8rem}.auth-modal-tabs{background:#f5f2ec;border-radius:12px;gap:0;margin-bottom:1.2rem;padding:3px;display:flex}.auth-modal-tab{text-align:center;color:#777;cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:10px;flex:1;padding:.45rem 0;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s}.auth-modal-tab.active{color:#1a1a1a;background:#fff;box-shadow:0 1px 4px #0000000f}.auth-modal-form{flex-direction:column;gap:.25rem;display:flex}.auth-modal-form label{color:var(--text);margin-top:.25rem;font-size:.76rem;font-weight:500}.auth-modal-form label:first-child{margin-top:0}.auth-modal-form input{color:#1a1a1a;border:1px solid var(--border);background:0 0;border-radius:14px;outline:none;width:100%;padding:.6rem .85rem;font-family:inherit;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.auth-modal-form input:focus{border-color:var(--warm-line);box-shadow:0 0 0 3px var(--warm-wash)}.auth-modal-form input::placeholder{color:var(--text-muted)}.auth-modal-sms-row{gap:.5rem;display:flex}.auth-modal-sms-row input{flex:1}.auth-modal-sms-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:14px;flex-shrink:0;padding:0 .85rem;font-family:inherit;font-size:.8rem;transition:all .2s}.auth-modal-sms-btn:hover:not(:disabled){background:var(--bg-sunken);border-color:var(--text-muted)}.auth-modal-sms-btn:disabled{opacity:.5;cursor:default}.auth-modal-btn{color:#fff;background:var(--gold);width:100%;box-shadow:0 2px 8px rgba(var(--gold-rgb),.25);cursor:pointer;letter-spacing:.04em;border:none;border-radius:14px;margin-top:.5rem;padding:.6rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:opacity .2s,box-shadow .2s}.auth-modal-btn:hover{opacity:.85}.auth-modal-btn:active{box-shadow:0 2px 8px rgba(var(--gold-rgb),.3)}.auth-modal-btn:disabled{opacity:.4;cursor:default}.auth-modal-error{color:#c55;min-height:1.2em;margin-top:.15rem;font-size:.76rem}.auth-modal-link{text-align:center;color:var(--text-dim);margin-top:1rem;font-size:.78rem}.auth-modal-link a{color:var(--gold);border-bottom:1px solid var(--warm-line);cursor:pointer;font-weight:500;text-decoration:none;transition:border-color .2s}.auth-modal-link a:hover{border-bottom-color:var(--warm-line)}.auth-modal-form .auth-modal-consent{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:.45rem;margin-top:.55rem;font-size:.72rem;font-weight:400;line-height:1.55;display:flex}.auth-modal-form .auth-modal-consent input[type=checkbox]{width:auto;accent-color:var(--gold);border-radius:4px;flex:none;margin:.2rem 0 0;padding:0}.auth-modal-form .auth-modal-consent a{color:var(--gold);border-bottom:1px solid var(--warm-line);text-decoration:none}.auth-modal-form .auth-modal-consent a:hover{border-bottom-color:var(--gold)}@media (width<=500px){.auth-modal-overlay{align-items:flex-end;padding:0}.auth-modal-card{border-radius:18px 18px 0 0;max-width:100%;padding:1.8rem 1.5rem 1.5rem;animation:.3s cubic-bezier(.16,1,.3,1) authSlideUp}@keyframes authSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}
