:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#252a31;background:#f6f7fb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body,html,#root{min-height:100%;margin:0}.app-shell{flex-direction:column;min-height:100vh;padding:24px;display:flex}.app-header{margin-bottom:24px}.app-header h1{margin:0;font-size:1.8rem}.page-shell,.auth-card{background:#fff;border-radius:18px;width:100%;max-width:520px;margin:0 auto;padding:24px;box-shadow:0 20px 48px #1a20351a}.form-grid{gap:16px;display:grid}label{flex-direction:column;gap:8px;font-weight:600;display:flex}input{border:1px solid #d1d5db;border-radius:12px;padding:12px 14px;font-size:1rem}.primary-button,.link-button,.close-button{cursor:pointer;border:none;border-radius:10px}.primary-button:disabled{cursor:wait;opacity:.82}.primary-button{color:#fff;background:#3b82f6;width:fit-content;padding:12px 16px;font-weight:700}.link-button{color:#2563eb;background:0 0;margin-top:16px;text-decoration:underline}.close-button{color:#374151;background:0 0;font-size:1.4rem}.signed-in-box{background:#eef2ff;border:1px solid #c7d2fe;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.error-text{color:#dc2626}.hint-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:20px;padding:16px}.modal-overlay{background:#0f172a8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:20px;width:min(520px,100%);padding:24px;box-shadow:0 24px 64px #0f172a2e}.modal-header{justify-content:space-between;align-items:center;display:flex}.details-row{margin-bottom:14px}.status-text{color:#065f46;margin-top:16px;font-weight:600}.auth-loading-screen{color:#334155;text-align:center;background:#f8fafc;align-content:center;place-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.auth-loading-screen p{margin:0;font-weight:700}.app-loader{border:4px solid #2563eb2e;border-top-color:#2563eb;border-radius:50%;width:2.25rem;height:2.25rem;animation:.7s linear infinite spin;display:inline-block}.nfc-screen{background:radial-gradient(circle at top,#829efc26,#0000 30%),linear-gradient(#0f172a 0%,#111827 100%);place-items:center;min-height:100vh;padding:48px 24px;display:grid}.nfc-screen .modal-card{text-align:center;background:#0f172af5;border:1px solid #94a3b82e;border-radius:28px;padding:36px;position:relative;box-shadow:0 48px 120px #0f172a66}.nfc-screen .modal-header{justify-content:center}.nfc-screen .close-button{position:absolute;top:20px;right:24px}.nfc-screen .modal-header h2{color:#f8fafc;letter-spacing:-.03em;margin:0;font-size:2rem}.nfc-screen .modal-subheader{color:#94a3b8;text-transform:uppercase;letter-spacing:.26em;margin-top:8px;margin-bottom:24px;font-size:.88rem;font-weight:700}.nfc-screen .details-row{color:#f8fafc;margin-bottom:16px;font-size:1.35rem;font-weight:700;line-height:1.2}.nfc-screen .primary-button{color:#111827;letter-spacing:.02em;background:linear-gradient(135deg,#fff 0%,#e2e8f0 100%);border-radius:999px;width:100%;padding:18px 20px;font-size:1.25rem;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 24px 60px #3b82f62e}.nfc-screen .primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 28px 70px #3b82f638}.button-loader{vertical-align:middle;border:3px solid #1118272e;border-top-color:#111827;border-radius:50%;width:1.25rem;height:1.25rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.nfc-screen .status-text{color:#7dd3fc;margin-top:20px;font-weight:600}.activated-screen{background:linear-gradient(#f8fafc 0%,#eef4ff 100%);place-items:center;min-height:calc(100vh - 48px);padding:24px;display:grid}.activated-panel{text-align:center;background:#fff;border:1px solid #dbeafe;border-radius:18px;width:min(520px,100%);padding:40px 28px;box-shadow:0 24px 60px #2563eb1f}.activated-eyebrow{color:#2563eb;letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.activated-panel h1{color:#111827;margin:0;font-size:2.1rem;line-height:1.1}.activated-panel p:last-child{color:#4b5563;margin:14px 0 0;font-size:1rem;line-height:1.5}
