:root{--bg:#1e1e1e;--card:#262628;--soft:#303034;--ink:#fff;--muted:#9aa1ad;--line:#3b3b40;--field:#1e1e1e;--accent:#3094fc;--on-accent:#fff;--ok:#5fd39a;--okbg:#16352a;--err:#ff8a80;--errbg:#3d1f1d;--warn:#f5c26b;--warnbg:#3a2f12;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;margin:0}#app{max-width:460px;padding:max(16px, env(safe-area-inset-top)) 16px 32px;margin:0 auto}.brand{letter-spacing:.2px;align-items:center;gap:10px;min-height:32px;margin:8px 2px 18px;font-weight:650;display:flex}.wordmark{width:auto;height:26px;display:block}.brand .mark{background:var(--accent);width:34px;height:34px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.brand .logoimg{object-fit:contain;border-radius:8px;flex:none;width:34px;height:34px}.brand .mname{font-size:18px}.brand .mname.wm{letter-spacing:0;text-transform:lowercase;font-size:24px;font-weight:400}.brand .mname .acc,.merchant-open .mname .acc{color:var(--wm-accent,var(--accent))}.brand:has(.wm){gap:14px}:is(.brand:has(.wm) .logoimg,.brand:has(.wm) .mark){width:44px;height:44px}.powered{text-align:center;color:var(--muted);margin:18px 0 0;font-size:13px}.powered img{vertical-align:-1px;opacity:.85;height:12px;margin-left:4px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.steps{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);flex:1;font-size:11.5px}.steps li:before{content:"";background:var(--line);border-radius:4px;height:4px;margin-bottom:6px;display:block}.steps li.done:before,.steps li.now:before{background:var(--accent)}.steps li.now{color:var(--ink);font-weight:600}.acct-line{color:var(--muted);overflow-wrap:anywhere;margin:0 0 14px;font-size:13.5px}.acct-line b{color:var(--ink);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px 18px 18px;box-shadow:0 1px 2px #00000040}h1{letter-spacing:-.2px;margin:0 0 6px;font-size:24px;line-height:1.2}.lead{color:var(--muted);margin:0 0 18px}.muted{color:var(--muted)}.small{font-size:13.5px}.points{gap:10px;margin:14px 0 22px;padding:0;list-style:none;display:grid}.points li{padding-left:28px;position:relative}.points li:before{content:"✓";background:var(--soft);border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid;position:absolute;top:0;left:0}form{gap:14px;display:grid}label{gap:6px;font-size:14px;font-weight:550;display:grid}input,select{font:inherit;border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);border-radius:12px;min-height:48px;padding:13px 14px;font-size:16px;font-weight:400}input:focus,select:focus{outline:3px solid var(--accent);outline-offset:0;border-color:var(--accent)}input:disabled{opacity:.7}input::placeholder{color:var(--muted)}input.otp{letter-spacing:10px;text-align:center;font-variant-numeric:tabular-nums;font-size:26px}button{font:inherit;cursor:pointer}.primary,.secondary,.danger{border:1px solid #0000;border-radius:14px;width:100%;min-height:52px;margin-top:8px;font-size:16.5px;font-weight:600}.primary{background:var(--accent);color:var(--on-accent);font-size:19px;font-weight:650}.primary:disabled{background:var(--soft);color:var(--muted);cursor:default}.secondary{color:var(--ink);border-color:var(--muted);background:0 0}.danger{color:var(--err);border-color:var(--err);background:0 0}.busy{opacity:.85}.link{width:100%;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:14px 0 2px;font-size:15px;text-decoration:underline;display:block}.error{color:var(--err);border:1px solid var(--err);background:var(--errbg);border-radius:10px;margin:4px 0 0;padding:10px 12px;font-size:14.5px}.note{background:var(--soft);border-radius:12px;gap:2px;margin:6px 0 14px;padding:12px 14px;display:grid}.note span{color:var(--muted);font-size:14.5px}.note.ok{background:var(--okbg)}.note.ok b{color:var(--ok)}.cam{aspect-ratio:3/4;background:#0e0f12;border-radius:18px;margin:6px 0 12px;position:relative;overflow:hidden}.cam video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.oval{aspect-ratio:3/4;border:4px solid #e25822;border-radius:50%;width:62%;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0e0f1273}.oval.ready{border-color:#3dce7a}.hint{text-align:center;color:#fff;background:#0000008c;border-radius:999px;margin:0;padding:8px 12px;font-size:14.5px;font-weight:550;position:absolute;bottom:12px;left:12px;right:12px}.hint.good{background:#1f7a4deb}.checks{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.checks li{background:var(--warnbg);color:var(--warn);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:14px;display:flex}.checks li .mark{letter-spacing:.02em;font-size:12.5px;font-weight:700}.checks li.pass{background:var(--okbg);color:var(--ok)}.shot{place-items:center;margin:8px 0 14px;display:grid}.shot img{aspect-ratio:1;object-fit:cover;border:4px solid var(--accent);border-radius:50%;width:72%}.progress{text-align:center;color:var(--muted);padding:6px 0;font-size:14.5px}.progress:before{content:"";border:2px solid var(--line);border-top-color:var(--ink);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pe{min-height:60px;margin:10px 0 6px}.devcard{border:1px dashed var(--muted);border-radius:14px;gap:12px;padding:14px;display:grid;position:relative}.devcard .row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.devcard p{margin:0}.badge{letter-spacing:.4px;text-transform:uppercase;background:var(--warnbg);color:var(--warn);border-radius:6px;justify-self:start;padding:3px 7px;font-size:11.5px;font-weight:650}.choice{grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 8px;display:grid}.choice label{position:relative}.choice input{opacity:0;position:absolute}.choice span{border:1px solid var(--line);border-radius:14px;place-items:center;min-height:56px;font-weight:600;display:grid}.choice input:checked+span{border:2px solid var(--accent);background:var(--soft)}.choice input:focus-visible+span{outline:3px solid var(--accent)}.wallet{color:#fff;border:1px solid var(--line);background:#000;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:56px;margin:8px 0 14px;font-size:17px;font-weight:600;text-decoration:none;display:flex}.wicon{background:linear-gradient(#5ac8fa 0 25%,#fc0 25% 50%,#4cd964 50% 75%,#ff3b30 75%);border-radius:4px;width:26px;height:18px}.wallet.google .wicon{background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%)}.mandate{margin:10px 0 0}.help{color:var(--muted);margin:0;font-size:13.5px;font-weight:400}.note.warn{background:var(--warnbg)}.note.warn b{color:var(--warn)}.merchant-logo{object-fit:contain;border-radius:12px;width:56px;height:56px;margin-bottom:8px}.admin-fields{gap:12px;margin:8px 0;display:grid}.admin-fields fieldset,fieldset.plain{border:1px solid var(--line);border-radius:12px;gap:8px;margin:0;padding:12px;display:grid}fieldset.plain{margin:4px 0}.checkline{align-items:center;gap:8px;font-weight:500;display:flex}.checkline input{width:20px;min-height:20px}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kiosks{gap:6px;margin:8px 0 12px;padding:0;list-style:none;display:grid}h2{margin:18px 0 8px;font-size:18px}input[readonly]{background:var(--soft)}.merchant-open{text-align:left;align-items:center;gap:12px;display:flex}.merchant-open .logoimg,.merchant-open .mark{border-radius:50%;flex:none;width:36px;height:36px}.merchant-open .mark{background:var(--soft);color:var(--ink);place-items:center;font-weight:700;display:grid}.merchant-open .mname{font-size:17px}.merchant-open .mname.wm{text-transform:lowercase;font-size:21px;font-weight:400}.chip{letter-spacing:.3px;text-transform:uppercase;background:var(--okbg);color:var(--ok);vertical-align:2px;border-radius:6px;margin-left:8px;padding:2px 7px;font-size:11.5px;font-weight:650;display:inline-block}.cardacts{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.cardacts p{color:var(--muted);flex-basis:100%;margin:0}button.small{width:auto;min-height:0;padding:8px 14px;font-size:15px}.check{align-items:center;gap:10px;margin:6px 0 14px;font-size:16px;display:flex}.check input{flex:none;width:20px;height:20px}.captcha{justify-content:center;margin:6px 0 2px;display:flex}.captcha:empty{display:none}
