.auth-backdrop{position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:18px;background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}
.auth-backdrop.open{display:grid}
.auth-modal{width:min(100%,440px);max-height:calc(100vh - 36px);overflow:auto;padding:27px;border-radius:21px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.34)}
.auth-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.auth-head h2{font-size:1.55rem;letter-spacing:-.04em}.auth-head p{font-size:.74rem;color:var(--muted);margin-top:6px}
.auth-close{width:34px;height:34px;border:0;border-radius:9px;background:#f0eeeb;font-size:1.2rem}
.auth-form{display:grid;gap:11px;margin-top:20px}
.auth-input{min-height:48px;padding:0 14px;border:1px solid #dcd5ce;border-radius:11px;outline:0}
.auth-input:focus{border-color:rgba(185,0,0,.55);box-shadow:0 0 0 4px rgba(185,0,0,.07)}
.auth-submit,.auth-google{min-height:48px;border-radius:11px;font-weight:800}
.auth-submit{border:0;background:var(--red);color:#fff}.auth-google{border:1px solid #ddd6cf;background:#fff}
.auth-divider{display:flex;align-items:center;gap:10px;color:#888;font-size:.65rem}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e6dfd8;flex:1}
.auth-switch,.auth-recovery{text-align:center;font-size:.66rem;color:var(--muted)}
.auth-switch button,.auth-recovery button{border:0;background:transparent;color:var(--red);font-weight:800}
.auth-feedback{display:none;padding:10px;border-radius:10px;font-size:.67rem}
.auth-feedback.show{display:block}.auth-feedback.error{background:#fde8e8;color:#851919}.auth-feedback.success{background:#e8f3eb;color:#306a49}
