:root{--pink-primary:#e8185c;--pink-strong:#cc1350;--font-heading:"Outfit", system-ui, -apple-system, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--bg:#fff;--bg-surface:#fff;--bg-elevated:#1218210b;--chip-bg:#eef0f3;--topbar-bg:#fff;--text:#1c2126;--text-muted:#59636f;--text-dim:#141a2373;--border:#1218211f;--border-strong:#12182138;--accent:var(--pink-primary);--accent-hover:var(--pink-strong);--accent-weak:#e8185c17;--accent-weak-border:#e8185c38;--accent-link:var(--pink-strong);--ok:#1e9e57;--ok-bg:#e6f4ec;--bad:#c1362c;--bad-bg:#fbe9e7;--warn:#8a6a00;--warn-bg:#fbf1cb;--info:#1663c7;--info-bg:#e8f1fc;--shadow-pill:0 4px 18px #1218211a;--radius:14px;--header-height:56px}:root[data-theme=dark]{--bg:#0a0a0a;--bg-surface:#101010;--bg-elevated:#ffffff0f;--chip-bg:#ffffff14;--topbar-bg:#0a0a0a;--text:#fff;--text-muted:#fff9;--text-dim:#fff6;--border:#ffffff1f;--border-strong:#ffffff3d;--accent:var(--pink-primary);--accent-hover:#ff2f70;--accent-weak:#e8185c24;--accent-weak-border:#e8185c52;--accent-link:#ff6b9d;--ok:#3ecf8e;--ok-bg:#3ecf8e21;--bad:#ff5a52;--bad-bg:#ff5a5221;--warn:#f5c400;--warn-bg:#f5c40021;--info:#6aa9ff;--info-bg:#6aa9ff21;--shadow-pill:0 4px 18px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:17px;line-height:1.65}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600;line-height:1.2}a{color:inherit}body,.topbar,.page-footer,.card,.input,.btn,.status,.meta,.consent-accept,.qr-wrap,.privacy-chip{transition:background-color .25s,border-color .25s,color .2s}a:focus-visible,button:focus-visible,input:focus-visible,label:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.passo{max-width:460px;color:var(--text-muted);text-align:center;margin:0 auto 10px;font-size:.95rem;font-weight:600}.recibo-box{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.brandmark{align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brandmark img{display:block}.brandmark-word{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:1.02rem;font-weight:600}.page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.topbar{height:var(--header-height);background:var(--topbar-bg);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;display:grid}.topbar-left{align-items:center;gap:13px;min-width:0;display:flex}.topbar-sub{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;font-size:11px;font-weight:500}.topbar-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.privacy-chip{background:var(--chip-bg);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.privacy-chip svg{flex:none;width:13px;height:13px}.icon-btn{width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.icon-btn:hover{background:var(--bg-elevated);color:var(--text)}.icon-btn svg{width:18px;height:18px}.page-main{padding:24px 20px calc(40px + env(safe-area-inset-bottom));flex-direction:column;flex:1;align-items:center;display:flex}.page-footer{background:var(--bg);color:var(--text-dim);flex-direction:column;flex:none;align-items:center;gap:10px;padding:22px 20px 26px;font-size:13px;display:flex}.page-footer .brandmark-word{letter-spacing:.16em;font-size:.8rem}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.footer-links a{color:var(--text-muted);white-space:nowrap;text-decoration:none}.footer-links a:hover{color:var(--accent-link)}.footer-links a+a:before{content:"·";color:var(--text-dim);padding:0 10px}.footer-copy{color:var(--text-dim);font-size:11.5px}.card{background:0 0;border:none;width:100%;max-width:560px;padding:12px 2px}.card.wide{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);max-width:720px;padding:30px 32px}h1{margin-bottom:8px;font-size:1.6rem}h2{margin-bottom:10px;font-size:1.12rem}.lead{color:var(--text-muted);margin-bottom:22px;font-size:1.05rem}.btn{appearance:none;width:100%;min-height:56px;font-family:var(--font-body);color:#fff;background:var(--accent);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:17px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:active{background:var(--pink-strong)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{color:var(--text);background:var(--bg-surface);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--bg-elevated)}.field{margin-bottom:22px}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.input{width:100%;font-size:16px;font-family:var(--font-body);color:var(--text);border:none;border-bottom:1px solid var(--border-strong);background:0 0;border-radius:0;padding:8px 2px 10px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-dim)}.input:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 0 var(--accent);caret-color:var(--accent);outline:none}.input:disabled{opacity:.5;cursor:not-allowed}.consent-list{margin-bottom:20px;list-style:none}.consent-list li{color:var(--text-muted);margin-bottom:14px;padding-left:28px;position:relative}.consent-list li strong{color:var(--text)}.consent-list li:before{content:"✓";color:var(--accent);font-size:.9rem;font-weight:700;position:absolute;top:0;left:0}.consent-accept{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);cursor:pointer;align-items:flex-start;gap:14px;margin-bottom:20px;padding:18px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.consent-accept:hover{border-color:var(--border-strong)}.consent-accept:has(input:checked){border-color:var(--accent-weak-border);background:var(--accent-weak)}.consent-accept input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;flex:none;margin-top:2px}.capture-frame{padding:22px;position:relative}.capture-frame .corner{border:3px solid var(--accent);pointer-events:none;width:30px;height:30px;position:absolute}.capture-frame .corner.tl{border-bottom:none;border-right:none;border-top-left-radius:4px;top:0;left:0}.capture-frame .corner.tr{border-bottom:none;border-left:none;border-top-right-radius:4px;top:0;right:0}.capture-frame .corner.bl{border-top:none;border-right:none;border-bottom-left-radius:4px;bottom:0;left:0}.capture-frame .corner.br{border-top:none;border-left:none;border-bottom-right-radius:4px;bottom:0;right:0}.qr-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);flex-direction:column;align-items:center;gap:18px;padding:26px 20px;display:flex}.qr-frame{border:1px solid var(--border);background:#fff;border-radius:10px;padding:14px;line-height:0}.status{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-pill);color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:11px;width:fit-content;max-width:100%;margin:24px auto 0;padding:14px 24px;font-size:.97rem;font-weight:600;display:flex}.spinner{border:2.5px solid var(--accent-weak);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.result{text-align:center;padding:28px 22px 24px}.result .icon{background:var(--bg-surface);border:3px solid var(--text-dim);width:72px;height:72px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.7rem;line-height:1;display:flex}.result h2{color:var(--text);margin-bottom:2px;font-size:1.35rem}.result p{color:var(--text-muted);margin-top:8px}.result.ok .icon{border-color:var(--ok);color:var(--ok)}.result.bad .icon{border-color:var(--bad);color:var(--bad)}.result.neutral .icon{border-color:var(--border-strong);color:var(--text-muted)}.meta{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);word-break:break-all;border-radius:6px;margin-top:18px;padding:6px 10px;font-size:.78rem}.alert{border-radius:var(--radius);background:var(--bad-bg);color:var(--bad);border:1px solid color-mix(in srgb, var(--bad) 30%, transparent);margin-top:16px;padding:13px 15px;font-weight:500}.helper{color:var(--text-dim);margin-top:14px;font-size:.88rem}.helper code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:.8rem}.row{gap:12px;margin-top:18px;display:flex}.row .btn{flex:1;width:auto}.liveness-host{--amplify-components-button-primary-background-color:var(--accent);--amplify-components-button-primary-hover-background-color:var(--accent-hover);--amplify-components-button-primary-focus-background-color:var(--accent-hover);--amplify-components-button-primary-active-background-color:var(--pink-strong);--amplify-components-button-border-radius:999px;width:100%;max-width:560px}:root[data-theme=dark] .liveness-host{--amplify-colors-background-primary:var(--bg-surface);--amplify-colors-background-secondary:var(--bg-elevated);--amplify-colors-font-primary:var(--text);--amplify-colors-font-secondary:var(--text-muted);--amplify-colors-border-primary:var(--border)}@media (width>=640px){.page-main{padding-top:36px}.card.wide{padding:32px 36px}h1{font-size:1.55rem}}@media (width<=480px){.privacy-chip{padding:6px 12px;font-size:12px}}
