.loading { min-height:100vh; display:grid; place-items:center; font:600 42px var(--serif); color:var(--ink); }
.loading span { color:var(--rose-dark); font:16px var(--sans); vertical-align:top; }
.auth-page { min-height:100vh; background:linear-gradient(140deg,#fbf7f2 30%,#e5eadf); }
.auth-card { max-width:510px; margin:8vh auto; padding:42px; background:var(--paper); border:1px solid var(--line); border-radius:22px; box-shadow:0 15px 50px #392c3012; }
.auth-card h1 { margin:0; font:600 43px/1.04 var(--serif); letter-spacing:-1.8px; }
.auth-card h1 em { color:var(--rose-dark); }
.auth-card > p:not(.eyebrow):not(.auth-note) { color:var(--muted); line-height:1.6; margin:17px 0 26px; }
.auth-card form { padding:0; display:grid; gap:12px; }
.auth-card label { display:grid; gap:6px; font-size:13px; font-weight:700; color:var(--muted); }
.auth-card input { border:1px solid var(--line); border-radius:9px; padding:12px; background:#fffcf8; color:var(--ink); }
.auth-card .primary,.auth-card .secondary { text-align:center; width:100%; margin-top:3px; }
.auth-divider { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; margin:22px 0; }
.auth-divider:before,.auth-divider:after { content:''; height:1px; background:var(--line); flex:1; }
.auth-note { margin:23px 0 0; text-align:center; color:var(--muted); font-size:12px; }
.local-identity { margin-top:18px; color:var(--muted); }
.local-identity summary { cursor:pointer; font-weight:700; }
.local-identity form { margin-top:14px; }
@media(max-width:600px){.auth-card{margin:4vh 18px;padding:28px}.auth-card h1{font-size:37px}}
