body.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,var(--paper),var(--sand))}
.auth-box{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 32px 30px;box-shadow:0 30px 60px -36px rgba(28,38,34,.4)}
.auth-box .brand{margin-bottom:22px}
.auth-box h1{font-family:var(--serif);font-size:32px;letter-spacing:-.02em}
.sub{color:var(--mute);margin:4px 0 0}
.err{background:#FBE9E6;border:1px solid #F0C4BD;color:var(--danger);border-radius:12px;padding:11px 14px;margin:18px 0 0;font-size:15px}
.btn-g{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;margin-top:22px;border:1px solid var(--accent);border-radius:99px;color:var(--accent);font-weight:500;transition:background .2s,color .2s}
.btn-g:hover{background:var(--accent);color:#fff}
.or{display:flex;align-items:center;gap:12px;color:var(--mute);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:18px 0 4px}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--ink2)}
label small{font-weight:400;color:var(--mute)}
input,select{height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(196,83,47,.14)}
.btn-s{height:52px;margin-top:6px;border:0;border-radius:99px;background:var(--ink);color:#fff;font-weight:500;font-size:16px;cursor:pointer;transition:background .2s}
.btn-s:hover{background:var(--ink2)}.btn-s:disabled{opacity:.55;cursor:default}
.alt{text-align:center;color:var(--mute);margin:20px 0 0;font-size:15px}.alt a{color:var(--accent-d);font-weight:500}
