.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(100%,460px);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:1.5rem}.auth-card h1{margin:0;font-size:1.45rem}.subtitle{margin:.35rem 0 1.25rem;color:var(--muted)}.subtitle-secondary{margin-bottom:.75rem}.auth-card h2{margin:.5rem 0 0;font-size:1.1rem}label{display:block;margin:.75rem 0 .35rem;font-weight:600}input{width:100%;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-size:1rem;transition:border-color .18s ease,box-shadow .18s ease}input.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px #b423181f}button{margin-top:1rem;width:100%;border:0;border-radius:10px;padding:.8rem 1rem;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}button:hover{background:var(--accent-strong)}button:disabled{opacity:.65;cursor:not-allowed}.qr-image{width:200px;height:200px;margin-top:.5rem;border:1px solid var(--border);border-radius:10px}.auth-link-row{margin-top:1rem;text-align:center}@media(max-width:520px){.auth-card{padding:1.1rem}}
