:root{--navy: #0f2240;--navy-2: #1b3560;--gold: #c9a227;--bg: #f4f5f8;--text: #1a1f2b;--muted: #5b6475;--danger: #b42318;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--navy) 0 220px,var(--bg) 220px)}.shell{max-width:440px;margin:0 auto;padding:48px 16px}.brand{display:flex;align-items:baseline;gap:10px;margin-bottom:28px;color:#fff}.brand-mark{font-weight:800;letter-spacing:.08em;color:var(--gold);font-size:1.6rem}.brand-name{font-size:1.2rem;opacity:.9}.card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 8px 30px #0f22401f;display:flex;flex-direction:column;gap:16px}h1{margin:0;font-size:1.3rem;color:var(--navy)}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600}input{font:inherit;padding:10px 12px;border:1px solid #cfd4de;border-radius:8px}input:focus{outline:2px solid var(--gold);border-color:transparent}button{font:inherit;font-weight:600;padding:11px 16px;border:0;border-radius:8px;background:var(--navy);color:#fff;cursor:pointer}button:hover{background:var(--navy-2)}button.secondary{background:transparent;color:var(--navy);border:1px solid var(--navy)}.qr{width:220px;height:220px;align-self:center;image-rendering:pixelated}.muted{color:var(--muted);margin:0}.small{font-size:.85rem;word-break:break-all}.error{margin-top:16px;color:var(--danger);font-weight:600}
