.auth-overlay{position:fixed;inset:0;z-index:4000;display:none;align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,rgba(31,77,52,.96),rgba(43,100,68,.96))}
.auth-overlay.open{display:flex}
.auth-card{background:#fff;width:100%;max-width:400px;border-radius:24px;padding:30px 26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);text-align:center}
.auth-card svg{display:block;margin:0 auto 14px}
.auth-card h2{font-family:var(--serif);font-weight:800;font-size:26px;letter-spacing:-.03em;color:var(--brand);line-height:1.1}
.auth-sub{font-size:13px;color:var(--text-2);line-height:1.5;margin:10px 0 18px}
.auth-card input{width:100%;height:46px;border:1px solid var(--border-strong);border-radius:12px;padding:0 14px;font:500 15px var(--sans);color:var(--text);background:var(--surface);margin-bottom:10px;outline:0}
.auth-card input:focus{border-color:var(--brand-light);background:#fff}
.auth-btn{width:100%;height:48px;border:0;border-radius:12px;background:var(--brand);color:#fff;font:600 15px var(--sans);cursor:pointer;margin-top:4px}
.auth-btn:hover{background:var(--brand-mid)}
.auth-btn:disabled{opacity:.6;cursor:wait}
.auth-msg{min-height:20px;font-size:12px;line-height:1.5;color:var(--red);margin:10px 0 2px}
.auth-msg.ok{color:var(--brand)}
.auth-link{display:block;width:100%;background:none;border:0;padding:9px;font:600 13px var(--sans);color:var(--brand);cursor:pointer;border-radius:10px}
.auth-link:hover{background:var(--brand-pale)}
.auth-link.dim{color:var(--text-3);font-weight:500}
.tbr i#acctBtn{cursor:pointer}
.tbr i#acctBtn.on{color:var(--brand);background:var(--brand-pale)}
