:root{--navy-950:#061429;--navy-900:#071a33;--navy-800:#0b2b50;--blue-600:#1264e8;--blue-700:#0c4fbf;--cyan-400:#33d6c2;--cyan-500:#16b9a6;--gold-400:#f9bd43;--ink:#10233f;--muted:#5e6d81;--line:#dce5ef;--surface:#fff;--surface-soft:#f3f7fb;--danger:#c53030;--success:#087a55;--shadow:0 24px 70px #0614292e}*{box-sizing:border-box}html{background:var(--navy-950);min-width:320px}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 0%, #33d6c233, transparent 34rem), linear-gradient(155deg, var(--navy-950) 0%, #0b3159 100%);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a{color:inherit}.app-shell{place-items:center;min-height:100svh;padding:24px 16px;display:grid}.home-card{background:var(--surface);width:min(100%,560px);box-shadow:var(--shadow);border:1px solid #ffffff29;border-radius:28px;overflow:hidden}.brand-bar{color:#fff;background:var(--navy-900);align-items:center;gap:10px;min-height:68px;padding:14px 20px;display:flex}.brand-mark{width:40px;height:40px;color:var(--navy-950);background:var(--gold-400);border-radius:13px;place-items:center;display:grid}.brand-name{letter-spacing:.08em;font-size:1.05rem;font-weight:850}.brand-service{color:#b9c9da;margin-left:auto;font-size:.84rem}.event-heading{padding:24px 22px 18px}.eyebrow{color:var(--blue-600);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:.78rem;font-weight:800}h1{color:var(--navy-900);margin:0;font-size:clamp(1.55rem,5vw,2.15rem);line-height:1.12}.event-poster{background:var(--navy-900);aspect-ratio:4/3;border-radius:20px;margin:0 12px;position:relative;overflow:hidden}.event-poster img{object-fit:cover;width:100%;height:100%;display:block}.event-badge{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#061429d1;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:.82rem;font-weight:750;display:flex;position:absolute;bottom:14px;left:14px}.price-row{justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;display:flex}.price-label{color:var(--muted);margin-bottom:2px;font-size:.86rem;display:block}.price-row strong{color:var(--navy-900);font-size:1.45rem}.pix-chip{color:#076b5a;background:#dff8f2;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.home-actions{gap:12px;padding:0 22px 24px;display:grid}.button{text-align:center;cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 18px;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #1264e859}.button-primary{color:#fff;background:var(--blue-600);box-shadow:0 10px 24px #1264e840}.button-primary:hover{background:var(--blue-700)}.button-secondary{color:var(--navy-900);background:#eaf1f8}.button-ghost{color:var(--muted);background:0 0}.button-full{width:100%}.button:disabled{opacity:.62;cursor:wait;transform:none}.flow-card{background:var(--surface);width:min(100%,620px);min-height:620px;box-shadow:var(--shadow);border:1px solid #ffffff29;border-radius:28px;overflow:hidden}.compact-card{width:min(100%,530px);min-height:0}.inner-header{color:#fff;background:var(--navy-900);align-items:center;gap:12px;min-height:72px;padding:12px 20px;display:flex}.inner-header-copy{gap:1px;min-width:0;display:grid}.inner-header-copy strong{color:#d8e3ee;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:650;overflow:hidden}.inner-brand{letter-spacing:.12em;font-size:.76rem;font-weight:900}.brand-mark-small{border-radius:12px;width:38px;height:38px}.icon-button{color:#fff;background:#ffffff1a;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;text-decoration:none;display:grid}.icon-button:hover{background:#ffffff2b}.icon-button:focus-visible{outline-offset:2px;outline:3px solid #33d6c273}.flow-content,.payment-content{padding:32px}.flow-content h1,.payment-heading h1,.empty-state h1,.success-content h1{margin:8px 0 10px;font-size:clamp(1.65rem,5vw,2.2rem)}.page-intro,.payment-heading p,.empty-state p,.success-content>p{color:var(--muted);margin:0 0 28px;font-size:1rem;line-height:1.6}.step-kicker{color:var(--blue-600);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.8rem;font-weight:850;display:inline-flex}.step-kicker span{color:#fff;background:var(--blue-600);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.form-group{gap:9px;margin-bottom:22px;display:grid}.form-group label,.form-group legend,.lookup-form label,.copy-area label{color:var(--navy-900);font-size:.93rem;font-weight:800}.form-group small{color:var(--muted);font-size:.8rem}.label-row{justify-content:space-between;align-items:center;display:flex}.label-row span{color:var(--muted);font-size:.78rem;font-weight:700}.input-wrap{border:1.5px solid var(--line);color:#708096;background:#fff;border-radius:14px;align-items:center;gap:10px;height:54px;padding:0 15px;transition:border-color .18s,box-shadow .18s;display:flex}.input-wrap:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 4px #1264e81a}.input-wrap input{min-width:0;color:var(--ink);text-transform:uppercase;background:0 0;border:0;outline:0;flex:1;font-size:1rem;font-weight:650}.input-wrap input::placeholder{color:#9ba8b8;text-transform:none;font-weight:500}.course-fieldset{border:0;min-width:0;padding:0}.course-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.course-option{border:1.5px solid var(--line);min-height:52px;color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.course-option input{opacity:0;width:1px;height:1px;position:absolute}.course-option span{font-size:1rem;font-weight:800}.course-option.selected{border-color:var(--blue-600);color:var(--blue-700);background:#edf4ff;box-shadow:0 0 0 3px #1264e814}.course-option:focus-within{outline-offset:2px;outline:3px solid #1264e847}.alert{border-radius:13px;align-items:flex-start;gap:10px;margin:4px 0 18px;padding:13px 14px;font-size:.9rem;font-weight:650;line-height:1.45;display:flex}.alert svg{flex:none;margin-top:1px}.alert-error{color:#922424;background:#fff0f0;border:1px solid #ffd3d3}.stack-actions{gap:8px;margin-top:22px;display:grid}.confirmation-panel{background:var(--surface-soft);border:1px solid #bcd1e9;border-radius:20px;overflow:hidden}.confirmation-name{color:#fff;background:linear-gradient(135deg, var(--navy-900), var(--navy-800));text-align:center;padding:26px 22px}.confirmation-name span,.confirmation-grid span{color:#b7c9dc;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:800;display:block}.confirmation-name>strong{overflow-wrap:anywhere;font-size:clamp(1.45rem,5vw,2.1rem);line-height:1.12}.confirmation-meta{color:#fff;justify-content:center;align-items:center;gap:5px;margin-top:12px;display:flex}.confirmation-meta strong{color:#fff;font-size:clamp(1.35rem,5.4vw,1.85rem)}.confirmation-meta span{color:#b7c9dc;font-size:1.5rem}.confirmation-grid{grid-template-columns:1fr 1fr;display:grid}.confirmation-grid>div{border-top:1px solid #d6e2ee;padding:20px}.confirmation-grid>div+div{border-left:1px solid #d6e2ee}.confirmation-grid span{color:var(--muted)}.confirmation-grid strong{color:var(--navy-900);font-size:1.25rem}.confirmation-grid .confirmation-runner{text-align:center;border-left:0;grid-column:1/-1}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.spinner-dark{border-color:#cbd8e6;border-top-color:var(--blue-600)}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{text-align:center;align-content:center;place-items:center;gap:12px;min-height:470px;padding:32px;display:grid}.loading-state .spinner{border-width:3px;width:38px;height:38px}.loading-state strong{margin-top:8px;font-size:1.2rem}.loading-state p{color:var(--muted);margin:0}.payment-heading{text-align:center}.payment-heading p{margin-bottom:20px}.secure-label,.success-label{color:var(--success);background:#e1f8ef;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.payment-amount{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;margin:0 auto 18px;padding:13px 16px;display:flex}.payment-amount span{color:var(--muted);font-size:.87rem}.payment-amount strong{color:var(--navy-900);font-size:1.25rem}.qr-frame{border:1.5px solid var(--line);background:#fff;border-radius:20px;width:min(100%,310px);margin:0 auto;padding:12px;box-shadow:0 12px 30px #06142917}.qr-frame img{border-radius:10px;width:100%;height:auto;display:block}.expiration{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:14px 0 20px;font-size:.87rem;display:flex}.expiration strong{color:var(--navy-900);font-variant-numeric:tabular-nums}.copy-area{gap:9px;display:grid}.copy-row{border:1.5px solid var(--line);background:var(--surface-soft);border-radius:13px;display:flex;overflow:hidden}.copy-row input{min-width:0;color:var(--muted);background:0 0;border:0;outline:0;flex:1;padding:12px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.copy-row button{border:0;border-left:1px solid var(--line);width:50px;color:var(--blue-600);cursor:pointer;background:#fff;place-items:center;display:grid}.ticket-link{color:var(--blue-700);justify-content:center;align-items:center;gap:6px;margin:14px auto;font-size:.86rem;font-weight:750;display:flex}.waiting-banner,.paid-message{background:#eef5fc;border-radius:14px;align-items:flex-start;gap:12px;margin-top:20px;padding:14px;display:flex}.waiting-banner>.button{flex:none;min-height:38px;margin-left:auto;padding:8px 10px;font-size:.78rem}.waiting-banner p,.paid-message p{color:var(--muted);margin:3px 0 0;font-size:.84rem;line-height:1.4}.pulse-dot{background:var(--gold-400);border-radius:50%;flex:none;width:10px;height:10px;margin:5px;animation:1.8s infinite pulse;box-shadow:0 0 #f9bd4380}@keyframes pulse{70%{box-shadow:0 0 0 9px #f9bd4300}to{box-shadow:0 0 #f9bd4300}}.lookup-form{gap:9px;margin-bottom:22px;display:grid}.lookup-home-button{margin-top:24px}.lookup-row{grid-template-columns:1fr auto;gap:10px;display:grid}.lookup-row .button{min-width:132px}.result-card{border:1px solid var(--line);border-radius:20px;margin-top:22px;overflow:hidden;box-shadow:0 12px 35px #06142914}.result-header{background:var(--navy-900);gap:14px;padding:20px;display:grid}.result-header>div>span{color:#aebfd1;font-size:.8rem;font-weight:700}.result-header h2{color:#fff;overflow-wrap:anywhere;margin:4px 0 0;font-size:1.5rem}.status-pill{color:#745100;background:#fff0c7;border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:7px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.status-aprovado{color:#076c4a;background:#dff8ef}.result-details{grid-template-columns:repeat(3,1fr);margin:0;padding:18px 20px;display:grid}.result-details div{min-width:0}.result-details dt{color:var(--muted);font-size:.76rem}.result-details dd{color:var(--navy-900);margin:5px 0 0;font-size:1rem;font-weight:850}.result-card>.button,.result-card>.paid-message{width:calc(100% - 40px);margin:0 20px 20px}.paid-message{color:var(--success);background:#e5f8f1}.paid-message svg{flex:none}.paid-message p{color:#41695d}.empty-state{text-align:center;align-content:center;place-items:center;min-height:430px;padding:40px 32px;display:grid}.empty-state p{max-width:410px}.state-icon{width:72px;height:72px;color:var(--blue-600);background:#e9f2ff;border-radius:22px;place-items:center;display:grid}.state-icon-error{color:var(--danger);background:#fff0f0}.payment-error .button{max-width:330px}.success-content{text-align:center;justify-items:center;padding:42px 32px 34px;display:grid}.success-medal{width:132px;height:132px;color:var(--gold-400);background:var(--navy-900);border-radius:38px;place-items:center;margin-bottom:24px;display:grid;position:relative;box-shadow:0 18px 38px #06142933}.success-medal span{color:#fff;background:var(--success);border:5px solid #fff;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:absolute;bottom:-7px;right:-7px}.success-content>p{max-width:420px}.queue-card{width:100%;color:var(--success);text-align:left;background:#e7f8f2;border:1px solid #bfe8d9;border-radius:15px;align-items:center;gap:13px;margin:2px 0 24px;padding:16px;display:flex}.queue-card div{gap:2px;display:grid}.queue-card span{color:#477267;font-size:.78rem}.queue-card strong{font-size:1.05rem}.receipt-card{border:2px solid var(--success);text-align:center;background:#effcf4;border-radius:16px;width:100%;margin:-4px 0 24px;padding:18px}.receipt-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800;display:block}.receipt-card strong{color:var(--navy-900);letter-spacing:.16em;margin:5px 0;font-size:2.15rem;display:block}.receipt-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.receipt-actions{width:100%;margin:-8px 0 24px}.receipt-actions-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.receipt-actions-buttons .button{min-height:46px;padding-inline:12px;font-size:.9rem}.receipt-action-message{color:var(--success);margin:9px 0 0;font-size:.85rem}.text-link{color:var(--blue-700);margin-top:16px;font-size:.9rem;font-weight:750}@media (max-width:480px){.app-shell{background:var(--surface);place-items:start center;padding:0}.home-card,.flow-card{min-height:100svh;box-shadow:none;border:0;border-radius:0}.brand-service{display:none}.event-poster{aspect-ratio:1}.price-row{align-items:flex-end}.flow-content,.payment-content{padding:26px 20px}.confirmation-grid{grid-template-columns:1fr}.confirmation-grid>div+div{border-left:0}.confirmation-grid .confirmation-runner{grid-column:auto}.lookup-row{grid-template-columns:1fr}.lookup-row .button{width:100%}.result-details{grid-template-columns:1fr 1fr;gap:16px}.result-details div:last-child{grid-column:1/-1}.success-content{padding-inline:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
