/* ==== reset de transição mockup→server-render (spec §4) ==== */
/* controles de form que o mockup só tinha como input fake */
.field2 select,.field2 textarea{font:inherit;width:100%;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14.5px;color:var(--ink)}
.field2 select:focus,.field2 textarea:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.1);outline:none}
.ci-card select,.re-inp{font:inherit}
/* toggle dirigido por :checked (era .tog.on via Alpine) */
.tog input{position:absolute;opacity:0;width:0;height:0;margin:0}
.tog:has(input:checked){background:var(--ok)}
.tog:has(input:checked)::after{left:22px}
/* segment de entrada (door/self) — label+radio oculto */
.entry-modes label{text-align:left;border:1.5px solid var(--line);border-radius:13px;padding:14px;background:#fff;transition:.15s;cursor:pointer;display:block}
.entry-modes label:has(input:checked){border-color:var(--brass);background:var(--brassbg)}
.entry-modes label b{display:block;font-size:14.5px;letter-spacing:-.01em}
.entry-modes label small{display:block;font-size:12px;color:var(--mut);margin-top:4px;line-height:1.35}
.entry-modes label input{position:absolute;opacity:0;width:0;height:0}
/* opção de pagamento e plano — radio oculto + :has */
.pm .opt:has(input:checked){border-color:var(--brass);background:var(--brassbg)}
.pm .opt:has(input:checked) .ic{background:#fff}
.pm .opt:has(input:checked) .rd{border-color:var(--brass);background:var(--brass);box-shadow:inset 0 0 0 3px #fff}
.pm .opt input{position:absolute;opacity:0;width:0;height:0}
.planopt:has(input:checked){border-color:var(--brass);background:var(--brassbg)}
.planopt input{position:absolute;opacity:0;width:0;height:0}
/* abas do detalhe do evento viram <a> (rota ?tab=) */
.evtabs a{flex:0 0 auto;white-space:nowrap;padding:9px 16px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--mut);transition:.15s}
.evtabs a.on{background:var(--petrol);color:#fff}
@media(min-width:720px){.evtabs a{flex:1;text-align:center}}
/* nav inferior público vira <a> */
.bnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;color:var(--soft);position:relative;font-size:10.5px;font-weight:600;transition:.2s}
.bnav a.on{color:var(--brass2)}.bnav a .ico{width:23px;stroke-width:1.9}
/* segment de pill (chips genéricos) — cobre <label> se usado */
.tabs a{padding:9px 15px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--mut);white-space:nowrap;transition:.15s}
.tabs a.on{background:var(--petrol);color:#fff}

:root{
 --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --ease:cubic-bezier(.22,1,.36,1);
 --bg:#f5f6f5;--card:#fff;--ink:#0f2124;--mut:#5f7370;--soft:#8a9c99;
 --brass:#cf8b1e;--brass2:#b3761a;--brassbg:#faf1df;
 --petrol:#0b2229;--petrol2:#123038;--line:#e6eae8;--line2:#eef1f0;
 --ok:#12a06b;--okbg:#e4f5ee;--warn:#d97706;--warnbg:#fdf1e0;--err:#dc2626;--errbg:#fbe9e9;
 --plat:#6a5cf6;--plat2:#5546e0;--platbg:#efedff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
svg{display:block}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select{font:inherit;outline:none}a{color:inherit;text-decoration:none}
.ico{width:1em;height:1em;stroke-width:1.8;flex:none}
[x-cloak]{display:none!important}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#d5dbd9;border-radius:9px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.spin{width:15px;height:15px;border:2px solid rgba(0,0,0,.14);border-top-color:var(--brass);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* demo launcher */
.demo{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:200;
 display:flex;gap:2px;padding:5px;border-radius:999px;background:rgba(11,34,41,.9);backdrop-filter:blur(14px);
 border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px -10px rgba(0,0,0,.5)}
.demo button{padding:8px 13px;border-radius:999px;font-size:12px;font-weight:600;color:rgba(255,255,255,.6);transition:.2s var(--ease)}
.demo button.on{color:#fff;background:rgba(207,139,30,.9)}
.demo .sep{width:1px;background:rgba(255,255,255,.14);margin:4px 3px}

/* ============ HOME (Scanner) ============ */
.home{--hi:#eaf4f2;--hm:#8fb0af;--hl:rgba(255,255,255,.09);
 background:radial-gradient(120% 90% at 50% -10%,#123039 0%,#0a1a20 55%);color:var(--hi);min-height:100dvh;padding:0 20px 130px;position:relative;overflow-x:hidden}
.home::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 40% at 85% 15%,rgba(242,182,66,.10),transparent 60%)}
.home .wrap{max-width:1100px;margin:0 auto;position:relative}
.home nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.home .brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.02em;font-size:18px}
.home .brand .d{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(140deg,#f2b642,#e59a2b);color:#241804}.home .brand .d .ico{width:15px;stroke-width:2.4}
.home .nlink{font-size:13.5px;color:var(--hm);font-weight:600;padding:9px 16px;border:1px solid var(--hl);border-radius:10px}
.home .hero{padding:44px 0 8px;display:grid;gap:34px}
@media(min-width:900px){.home .hero{grid-template-columns:1.05fr .95fr;align-items:center;padding:56px 0 20px}}
.home .eye{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f2b642;padding:7px 13px;border:1px solid rgba(242,182,66,.28);border-radius:999px;background:rgba(242,182,66,.06);margin-bottom:22px}.home .eye .ico{width:15px}
.home h1{font-size:clamp(34px,8vw,56px);line-height:1.03;letter-spacing:-.035em;font-weight:850}
.home h1 em{font-style:normal;background:linear-gradient(120deg,#f2b642,#ffd77a);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .sub{margin-top:20px;font-size:16.5px;color:var(--hm);max-width:38ch}
.home .slug{margin-top:30px;max-width:440px}
.home .slug label{font-size:13px;color:var(--hm);font-weight:600;display:block;margin-bottom:9px}
.home .field{display:flex;align-items:center;background:rgba(255,255,255,.05);border:1px solid var(--hl);border-radius:15px;padding:5px 5px 5px 16px;transition:.25s var(--ease)}
.home .field:focus-within{border-color:rgba(242,182,66,.55);box-shadow:0 0 0 4px rgba(242,182,66,.12)}
.home .field input{flex:1;min-width:0;background:none;border:0;color:var(--hi);padding:12px 4px;font-size:16px}
.home .field .sfx{color:var(--hm);font-size:14.5px;font-weight:600;white-space:nowrap;padding-right:6px}
.home .field .go{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,#f2b642,#e59a2b);color:#241804;transition:.2s}.home .field .go .ico{width:20px;stroke-width:2.4}.home .field .go:active{transform:scale(.9)}
.home .st{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;margin-top:13px;min-height:20px}.home .st .ico{width:17px}
.home .st.free{color:#37d399}.home .st.taken{color:#ff8f6b}.home .st.chk{color:var(--hm)}
.home .trust{display:flex;gap:20px;margin-top:26px;flex-wrap:wrap;color:var(--hm);font-size:13px}
.home .trust span{display:flex;align-items:center;gap:7px}.home .trust .ico{width:15px;color:#37d399}
.home .gate{position:relative;justify-self:center;width:min(300px,80vw);aspect-ratio:1;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--hl);display:grid;place-items:center;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.home .cn{position:absolute;width:34px;height:34px;border:3px solid #f2b642;opacity:.8}
.home .tl{top:22px;left:22px;border-right:0;border-bottom:0;border-radius:8px 0 0 0}.home .tr{top:22px;right:22px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.home .bl{bottom:22px;left:22px;border-right:0;border-top:0;border-radius:0 0 0 8px}.home .br{bottom:22px;right:22px;border-left:0;border-top:0;border-radius:0 0 8px 0}
.home .qr{width:52%}
.home .beam{position:absolute;left:12%;right:12%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#f2b642,transparent);box-shadow:0 0 20px 4px rgba(242,182,66,.5);animation:scan 2.6s var(--ease) infinite}
@keyframes scan{0%,100%{top:20%;opacity:0}10%{opacity:1}50%{top:80%;opacity:1}60%{opacity:0}}
.home .bok{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:rgba(55,211,153,.14);border:1px solid rgba(55,211,153,.4);color:#37d399;font-size:13px;font-weight:700;animation:pop 2.6s var(--ease) infinite}.home .bok .ico{width:16px}
@keyframes pop{0%,45%{opacity:0;transform:translateX(-50%) scale(.8)}55%,90%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0}}
.home .steps{display:grid;gap:14px;margin-top:70px}@media(min-width:760px){.home .steps{grid-template-columns:repeat(3,1fr)}}
.home .step{background:rgba(255,255,255,.04);border:1px solid var(--hl);border-radius:18px;padding:24px;position:relative}
.home .step .n{position:absolute;top:20px;right:22px;font-size:13px;font-weight:800;color:rgba(242,182,66,.5)}
.home .step .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;background:rgba(242,182,66,.12);color:#f2b642}.home .step .ic .ico{width:22px}
.home .step h3{font-size:16.5px;margin-bottom:6px}.home .step p{font-size:14px;color:var(--hm)}
.home .cases{margin-top:22px;display:grid;gap:14px}@media(min-width:760px){.home .cases{grid-template-columns:1fr 1fr}}
.home .case{border-radius:18px;padding:26px;border:1px solid var(--hl);background:linear-gradient(160deg,rgba(242,182,66,.07),rgba(255,255,255,.02))}
.home .case .tg{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f2b642;margin-bottom:12px}
.home .case h3{font-size:19px;margin-bottom:8px}.home .case p{font-size:14.5px;color:var(--hm)}
.home .cta{margin-top:70px;text-align:center;padding:56px 24px;border-radius:26px;background:radial-gradient(90% 120% at 50% 0,rgba(242,182,66,.14),rgba(255,255,255,.02));border:1px solid var(--hl)}
.home .cta h2{font-size:clamp(26px,6vw,40px);letter-spacing:-.03em;line-height:1.05}.home .cta p{color:var(--hm);margin-top:14px}
.home .btn{display:inline-flex;align-items:center;gap:9px;margin-top:26px;padding:16px 30px;border-radius:14px;font-weight:700;font-size:16px;background:linear-gradient(140deg,#f2b642,#e59a2b);color:#241804;box-shadow:0 16px 40px -12px rgba(242,182,66,.6);transition:.2s}.home .btn:active{transform:scale(.96)}.home .btn .ico{width:19px;stroke-width:2.4}

/* ============ AUTH (login) ============ */
.auth{min-height:100dvh;display:grid;place-items:center;padding:32px 20px 120px;background:radial-gradient(120% 80% at 50% -10%,#123039,#0a1a20 60%)}
.auth .card{width:100%;max-width:410px;background:var(--card);border-radius:24px;padding:30px 26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.auth .brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;justify-content:center;margin-bottom:6px}
.auth .brand .d{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#241804}.auth .brand .d .ico{width:16px;stroke-width:2.4}
.auth .ten{text-align:center;font-size:13px;color:var(--mut);margin-bottom:22px}
.auth h2{font-size:20px;letter-spacing:-.02em;text-align:center}
.auth .mlbox{margin-top:20px;border:1px solid var(--brass);background:var(--brassbg);border-radius:16px;padding:16px}
.auth .mlbox .tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brass2);margin-bottom:10px}.auth .mlbox .tag .ico{width:14px}
.auth label{font-size:12.5px;font-weight:600;color:var(--mut);display:block;margin:14px 0 6px}
.auth .inp{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;transition:.2s}
.auth .inp:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.12)}
.mlbox .inp{border-color:#e7d3ad}
.auth .pri{width:100%;margin-top:14px;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;padding:14px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.auth .pri:active{transform:scale(.98)}.auth .pri .ico{width:18px}
.auth .div{display:flex;align-items:center;gap:12px;margin:22px 0 4px;color:var(--soft);font-size:12px}.auth .div::before,.auth .div::after{content:"";flex:1;height:1px;background:var(--line)}
.auth .sec{width:100%;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:9px;transition:.2s}.auth .sec:hover{border-color:var(--brass)}.auth .sec .ico{width:18px;color:var(--brass)}
.auth .forgot{display:block;text-align:center;margin-top:16px;font-size:13px;color:var(--brass2);font-weight:600}
.auth .as{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line)}
.auth .as .lbl{font-size:11px;color:var(--soft);text-align:center;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.auth .as .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.auth .as button{padding:11px 6px;border:1px solid var(--line);border-radius:11px;font-size:12.5px;font-weight:600;color:var(--ink);transition:.2s}.auth .as button:hover{border-color:var(--brass);background:var(--brassbg)}
.auth .back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);font-weight:600;margin-bottom:8px}.auth .back .ico{width:15px}

/* ============ APP (usuário final) ============ */
.app{min-height:100dvh;max-width:460px;margin:0 auto;background:var(--bg);position:relative;padding-bottom:96px}
.app .top{position:sticky;top:0;z-index:20;background:rgba(245,246,245,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:16px 18px;display:flex;align-items:center;justify-content:space-between}
.app .top .who{font-size:12px;color:var(--mut)}.app .top .who b{display:block;font-size:16px;color:var(--ink);letter-spacing:-.02em}
.app .top .av{width:38px;height:38px;border-radius:12px;background:var(--petrol);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.app .scr{padding:18px}
.app h3.sec{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin:6px 2px 12px}
.ev{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:14px;box-shadow:0 8px 26px -20px rgba(0,0,0,.4)}
.ev .cov{height:120px;background:linear-gradient(135deg,var(--petrol),var(--petrol2));position:relative;color:#fff;padding:16px;display:flex;flex-direction:column;justify-content:flex-end}
.ev .cov .kd{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;background:rgba(255,255,255,.16);padding:5px 10px;border-radius:999px;letter-spacing:.04em}
.ev .cov .brass{background:rgba(242,182,66,.9);color:#241804}
.ev .cov h4{font-size:19px;letter-spacing:-.02em}
.ev .cov .dt{font-size:12.5px;opacity:.85;margin-top:3px}
.ev .bd{padding:15px 16px;display:flex;align-items:center;justify-content:between;gap:12px}
.ev .bd .info{flex:1}.ev .bd .info .p{font-size:12px;color:var(--mut)}.ev .bd .info .v{font-size:18px;font-weight:800;letter-spacing:-.02em}
.ev .bd .buy{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:12px;display:flex;align-items:center;gap:7px;transition:.2s}.ev .bd .buy:active{transform:scale(.96)}.ev .bd .buy .ico{width:16px}
/* ticket */
.tk{background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 20px 50px -24px rgba(0,0,0,.4);border:1px solid var(--line)}
.tk .h{background:linear-gradient(135deg,var(--petrol),var(--petrol2));color:#fff;padding:20px}
.tk .h .kd{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.tk .h h4{font-size:22px;letter-spacing:-.02em;margin-top:5px}
.tk .h .m{display:flex;gap:18px;margin-top:14px;font-size:12.5px;opacity:.9}.tk .h .m b{display:block;font-size:14px}
.tk .perf{height:0;border-top:2px dashed var(--line);position:relative}
.tk .perf::before,.tk .perf::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg)}.tk .perf::before{left:-12px}.tk .perf::after{right:-12px}
.tk .b{padding:24px;text-align:center}
.tk .qr{width:190px;height:190px;margin:0 auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px}
.tk .uso{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:12.5px;font-weight:700;color:var(--brass2);background:var(--brassbg);padding:7px 13px;border-radius:999px}.tk .uso .ico{width:15px}
.tk .nm{margin-top:14px;font-size:15px;color:var(--mut)}.tk .nm b{color:var(--ink)}
.bal{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}
.bal .r{display:flex;align-items:center;justify-content:space-between}
.bal .lb{font-size:13px;color:var(--mut)}.bal .vv{font-size:30px;font-weight:850;letter-spacing:-.03em}
.bal .add{font-size:13px;font-weight:700;color:var(--brass2);background:var(--brassbg);padding:9px 14px;border-radius:11px}
.bal .bar{height:7px;border-radius:5px;background:var(--line2);margin-top:14px;overflow:hidden}.bal .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brass),#eab558)}
.li{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.li .row{display:flex;align-items:center;gap:12px;padding:14px 16px}.li .row+.row{border-top:1px solid var(--line2)}
.li .row .ic{width:36px;height:36px;border-radius:10px;background:var(--brassbg);color:var(--brass2);display:grid;place-items:center;flex:none}.li .row .ic .ico{width:18px}
.li .row .t{flex:1;min-width:0}.li .row .t .a{font-size:14px;font-weight:600}.li .row .t .b{font-size:12px;color:var(--soft)}
.li .row .amt{font-size:13.5px;font-weight:700;color:var(--err)}.li .row .amt.pos{color:var(--ok)}
.bnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;padding:8px 8px max(8px,env(safe-area-inset-bottom))}
.bnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;color:var(--soft);position:relative;font-size:10.5px;font-weight:600;transition:.2s}
.bnav button.on{color:var(--brass2)}.bnav button .ico{width:23px;stroke-width:1.9}
.bnav .bdg{position:absolute;top:0;right:calc(50% - 22px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--brass);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;animation:pop2 .3s var(--ease)}
@keyframes pop2{from{transform:scale(0)}to{transform:scale(1)}}

/* checkout bottom sheet */
.sheet-bd{position:fixed;inset:0;z-index:90;background:rgba(6,16,18,.5);backdrop-filter:blur(2px)}
.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:460px;z-index:91;background:var(--card);border-radius:26px 26px 0 0;box-shadow:0 -20px 60px -20px rgba(0,0,0,.4);touch-action:none;will-change:transform}
.sheet .grab{width:40px;height:5px;border-radius:5px;background:#d7dddb;margin:10px auto 4px}
.sheet .sh{padding:6px 22px 0;display:flex;align-items:center;justify-content:space-between}
.sheet .sh h4{font-size:18px;letter-spacing:-.02em}.sheet .sh .x{width:32px;height:32px;border-radius:10px;background:var(--bg);display:grid;place-items:center}.sheet .sh .x .ico{width:18px}
.sheet .sb{padding:16px 22px 26px;overflow-y:auto;max-height:66dvh}
.sheet .item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line2)}
.sheet .item .info{flex:1}.sheet .item .info .a{font-weight:600}.sheet .item .info .b{font-size:12.5px;color:var(--mut)}
.sheet .item .pr{font-weight:800;letter-spacing:-.02em}
.pm{margin-top:8px}.pm .opt{display:flex;align-items:center;gap:13px;border:1.5px solid var(--line);border-radius:14px;padding:14px;margin-top:10px;transition:.2s;cursor:pointer}
.pm .opt.on{border-color:var(--brass);background:var(--brassbg)}
.pm .opt .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--bg);flex:none}.pm .opt.on .ic{background:#fff}.pm .opt .ic .ico{width:20px;color:var(--petrol)}
.pm .opt .t{flex:1}.pm .opt .t .a{font-weight:600;font-size:14.5px}.pm .opt .t .b{font-size:12px;color:var(--mut)}
.pm .opt .rd{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none}.pm .opt.on .rd{border-color:var(--brass);background:var(--brass);box-shadow:inset 0 0 0 3px #fff}
.sheet .pay{width:100%;margin-top:18px;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:16px;padding:15px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px}.sheet .pay .ico{width:19px}
.paid{padding:20px 22px 30px;text-align:center}
.paid .ck{width:70px;height:70px;border-radius:50%;background:var(--okbg);color:var(--ok);display:grid;place-items:center;margin:6px auto 16px}.paid .ck .ico{width:38px;stroke-width:2.4}
.paid h4{font-size:20px;letter-spacing:-.02em}.paid p{color:var(--mut);margin-top:6px;font-size:14px}
.paid .go{margin-top:18px;background:var(--petrol);color:#fff;font-weight:700;padding:14px;border-radius:13px;width:100%}

/* ============ PANEL (único, roles) ============ */
.panel{min-height:100dvh;display:flex;flex-direction:column}
.imp{background:var(--plat);color:#fff;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:600;position:sticky;top:0;z-index:60}
.imp .l{display:flex;align-items:center;gap:9px}.imp .l .ico{width:17px}
.imp .l b{background:rgba(255,255,255,.2);padding:2px 9px;border-radius:6px}
.imp .out{background:rgba(255,255,255,.16);padding:7px 13px;border-radius:9px;font-weight:700;display:flex;align-items:center;gap:6px}.imp .out .ico{width:15px}
.pbody{flex:1;display:flex;min-height:0}
.side{width:250px;flex:none;background:var(--petrol);color:#cfe0dd;padding:16px 12px;display:flex;flex-direction:column;gap:3px;position:sticky;top:0;height:100dvh;overflow-y:auto}
.side .brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;color:#fff;padding:8px 10px 16px}
.side .brand .d{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#241804}.side .brand .d .ico{width:15px;stroke-width:2.4}
.side .it{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;font-size:14px;font-weight:500;color:#b9cdca;transition:.15s;cursor:pointer}
.side .it .ico{width:19px;flex:none}.side .it:hover{background:rgba(255,255,255,.06);color:#fff}
.side .it.on{background:rgba(242,182,66,.16);color:#fff}.side .it.on .ico{color:var(--brass)}
.side .plat-sep{margin:16px 10px 8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--plat);display:flex;align-items:center;gap:7px}.side .plat-sep .ico{width:14px}
.side .it.pl{color:#c8c2ff}.side .it.pl .ico{color:var(--plat)}.side .it.pl:hover{background:rgba(106,92,246,.14)}
.side .it.pl.on{background:rgba(106,92,246,.22);color:#fff}.side .it.pl.on .ico{color:#b3a9ff}
.side-bottom{margin-top:auto}
.side .foot{padding:12px 10px 4px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08)}
.credits-w{display:block;margin:0 4px 12px;padding:13px 14px;border:1.5px dashed rgba(242,182,66,.45);border-radius:14px;cursor:pointer;transition:.2s;background:rgba(242,182,66,.05)}
.credits-w:hover{background:rgba(242,182,66,.11);border-color:rgba(242,182,66,.8)}
.cw-top{display:flex;align-items:center;justify-content:space-between}
.cw-lb{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#b9cdca;font-weight:600}.cw-lb .ico{width:14px;color:var(--brass)}
.cw-v{font-size:17px;font-weight:800;color:#fff;letter-spacing:-.02em}
.cw-bar{height:6px;border-radius:4px;background:rgba(255,255,255,.1);margin:10px 0 8px;overflow:hidden}
.cw-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brass),#eab558);border-radius:4px}
.cw-foot{display:flex;align-items:center;justify-content:space-between;font-size:11px}
.cw-foot span:first-child{color:#8fb0af}
.cw-buy{color:var(--brass);font-weight:800;display:flex;align-items:center;gap:2px}.cw-buy .ico{width:13px;stroke-width:2.4}
.side .foot .av{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff}
.side .foot .nm{font-size:13px;color:#fff;font-weight:600}.side .foot .rl{font-size:11px;color:#8fb0af}
.content{flex:1;min-width:0;overflow-y:auto;height:100dvh}
.chd{padding:22px 26px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,246,245,.9);backdrop-filter:blur(10px);z-index:10}
.chd h1{font-size:22px;letter-spacing:-.02em}.chd p{font-size:13.5px;color:var(--mut);margin-top:3px}
.cbody{padding:24px 26px 60px;max-width:920px}
.mobtop{display:none}
/* cards */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.kpi .top{display:flex;align-items:center;justify-content:space-between}
.kpi .lb{font-size:13px;color:var(--mut);font-weight:600}
.kpi .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.kpi .ic .ico{width:18px}
.kpi.br .ic{background:var(--brassbg);color:var(--brass2)}.kpi.ai .ic{background:var(--platbg);color:var(--plat)}
.kpi .vv{font-size:32px;font-weight:850;letter-spacing:-.03em;margin-top:10px}.kpi .vv small{font-size:15px;color:var(--soft);font-weight:600}
.kpi .bar{height:7px;border-radius:5px;background:var(--line2);margin-top:12px;overflow:hidden}.kpi .bar i{display:block;height:100%}
.kpi.br .bar i{background:linear-gradient(90deg,var(--brass),#eab558)}.kpi.ai .bar i{background:linear-gradient(90deg,var(--plat),#9a8ffb)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px}
.card .ch{padding:16px 20px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between}
.card .ch h3{font-size:15px;letter-spacing:-.01em}.card .ch .live{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ok)}.card .ch .live .d{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.trow{display:flex;align-items:center;gap:13px;padding:14px 20px}.trow+.trow{border-top:1px solid var(--line2)}
.trow .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}.trow .ic .ico{width:18px}
.trow .ic.br{background:var(--brassbg);color:var(--brass2)}.trow .ic.ai{background:var(--platbg);color:var(--plat)}
.trow .t{flex:1;min-width:0}.trow .t .a{font-size:14px;font-weight:600}.trow .t .b{font-size:12px;color:var(--soft)}
.trow .amt{font-size:13.5px;font-weight:700}.trow .amt.neg{color:var(--err)}
.field2{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field2 label{font-size:12.5px;font-weight:600;color:var(--mut)}
.field2 input{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14.5px}.field2 input:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.1)}
.btnp{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;padding:12px 22px;border-radius:11px;display:inline-flex;align-items:center;gap:8px}.btnp .ico{width:17px}
.btng{background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:600;padding:12px 18px;border-radius:11px;display:inline-flex;align-items:center;gap:8px}.btng .ico{width:17px}

/* pagamento connect */
.gw{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:14px}
.gw .lg{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;flex:none;font-weight:800;color:#fff}
.gw .mp{background:#00b1ea}.gw .pg{background:#1a1a1a}
.gw .t{flex:1;min-width:0}.gw .t .a{font-weight:700;font-size:15px}.gw .t .b{font-size:12.5px;color:var(--mut);margin-top:2px}
.gw .sel{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px}
.sel.ok{color:var(--ok);background:var(--okbg)}.sel.no{color:var(--soft);background:var(--line2)}
.gw .act{font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:11px}
.gw .act.c{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff}.gw .act.m{background:#fff;border:1px solid var(--line)}

/* config status list */
.tabs{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:13px;margin-bottom:22px;overflow-x:auto}
.tabs button{padding:9px 15px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--mut);white-space:nowrap;transition:.15s}.tabs button.on{background:var(--petrol);color:#fff}
.slist{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sl{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;transition:.15s}.sl+.sl{border-top:1px solid var(--line2)}.sl:hover{background:var(--bg)}
.sl .ic{width:42px;height:42px;border-radius:12px;background:var(--bg);display:grid;place-items:center;flex:none}.sl .ic .ico{width:21px;color:var(--petrol)}
.sl .t{flex:1;min-width:0}.sl .t .a{font-weight:700;font-size:14.5px}.sl .t .b{font-size:12.5px;color:var(--mut);margin-top:2px}
.sl .selo{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px}
.selo.ok{color:var(--ok);background:var(--okbg)}.selo.no{color:var(--soft);background:var(--line2)}.selo.er{color:var(--err);background:var(--errbg)}
.tog{display:inline-flex;width:46px;height:27px;border-radius:999px;background:#d5dbd9;position:relative;flex:none;transition:.22s cubic-bezier(.4,0,.2,1);cursor:pointer}.tog.on{background:var(--ok)}
.tog::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.22s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 5px rgba(0,0,0,.22)}.tog.on::after{left:22px}

/* drawer */
.dw-bd{position:fixed;inset:0;z-index:100;background:rgba(6,16,18,.45)}
.dw{position:fixed;top:0;right:0;height:100dvh;width:min(480px,100%);z-index:101;background:var(--card);box-shadow:-20px 0 60px -20px rgba(0,0,0,.35);display:flex;flex-direction:column;animation:slidein .3s var(--ease)}
@keyframes slidein{from{transform:translateX(100%)}}
.dw .dh{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}
.dw .dh .ic{width:46px;height:46px;border-radius:13px;background:var(--bg);display:grid;place-items:center;flex:none}.dw .dh .ic .ico{width:23px;color:var(--petrol)}
.dw .dh .t{flex:1}.dw .dh .t .a{font-weight:800;font-size:17px;letter-spacing:-.01em}.dw .dh .t .b{font-size:12.5px;color:var(--mut)}
.dw .dh .x{width:34px;height:34px;border-radius:10px;background:var(--bg);display:grid;place-items:center}.dw .dh .x .ico{width:18px}
.dw .db{flex:1;overflow-y:auto;padding:22px 24px}
.res .rrow{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2)}
.res .rrow .k{font-size:13px;color:var(--mut)}.res .rrow .v{font-size:13.5px;font-weight:600;font-family:ui-monospace,monospace}
.res .last{margin-top:18px;background:var(--bg);border-radius:12px;padding:14px;font-size:13px;color:var(--mut)}.res .last b{color:var(--ink)}
.adv{margin-top:18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.adv .ah{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13.5px;font-weight:600}.adv .ah .ico{width:17px;transition:.2s;color:var(--mut)}
.adv.open .ah .ico{transform:rotate(180deg)}
.adv .ab{padding:0 16px 16px;display:none}.adv.open .ab{display:block}
.dw .df{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px}
.dw .df button{flex:1;padding:13px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.dw .df .ico{width:17px}
.df .test{background:#fff;border:1px solid var(--line)}.df .edit{background:var(--petrol);color:#fff}.df .del{flex:none;padding:13px 15px;background:var(--errbg);color:var(--err)}
.df .conn{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff}

/* tenants table */
.trow2{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 18px;display:flex;align-items:center;gap:14px;margin-bottom:11px}
.trow2 .lg{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;flex:none}
.trow2 .t{flex:1;min-width:0}.trow2 .t .a{font-weight:700;font-size:15px}.trow2 .t .b{font-size:12.5px;color:var(--mut);font-family:ui-monospace,monospace}
.trow2 .pl{font-size:11.5px;font-weight:700;color:var(--plat);background:var(--platbg);padding:5px 10px;border-radius:999px}
.trow2 .imp-btn{font-size:13px;font-weight:700;color:#fff;background:var(--plat);padding:9px 15px;border-radius:11px;display:flex;align-items:center;gap:6px}.trow2 .imp-btn .ico{width:15px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:14px}
.plan .ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.plan .ph h3{font-size:17px;letter-spacing:-.01em}.plan .ph .pr{font-size:20px;font-weight:850;letter-spacing:-.02em}.plan .ph .pr small{font-size:13px;color:var(--soft);font-weight:600}
.plan .grid{display:grid;gap:10px}.plan .pr2{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line2);font-size:14px}.plan .pr2 .k{color:var(--mut)}.plan .pr2 .v{font-weight:700}
.plan .gws{display:flex;gap:8px;margin-top:14px}.plan .gwt{font-size:11.5px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--okbg);color:var(--ok)}

@media(max-width:860px){
 .side{position:fixed;left:0;top:0;z-index:80;transform:translateX(-100%);transition:.3s var(--ease);box-shadow:20px 0 60px -20px rgba(0,0,0,.4)}
 .side.open{transform:none}
 .side-bd{position:fixed;inset:0;background:rgba(6,16,18,.45);z-index:79}
 .mobtop{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,246,245,.92);backdrop-filter:blur(10px);z-index:20}
 .mobtop .mb{width:40px;height:40px;border-radius:11px;background:var(--petrol);color:#fff;display:grid;place-items:center}.mobtop .mb .ico{width:20px}
 .mobtop b{font-size:16px;letter-spacing:-.02em}
 .chd,.cbody{padding-left:18px;padding-right:18px}
 .content{height:auto}
}
/* app event detail */
.evd{padding-bottom:96px}
.evd-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--mut);margin:2px 0 14px}.evd-back .ico{width:17px}
.evd-cov{height:170px;border-radius:20px;background:linear-gradient(135deg,var(--petrol),var(--petrol2));color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.evd-cov::after{content:"";position:absolute;top:-40px;right:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(242,182,66,.25),transparent 70%)}
.evd-cov .kd{position:absolute;top:16px;left:16px;font-size:11px;font-weight:700;background:rgba(242,182,66,.92);color:#241804;padding:5px 11px;border-radius:999px}
.evd-cov h2{font-size:24px;letter-spacing:-.02em;line-height:1.12;position:relative}
.evd-meta{display:flex;gap:14px;margin-top:16px}
.evd-meta .m{display:flex;align-items:center;gap:9px;flex:1}.evd-meta .ic{width:38px;height:38px;border-radius:11px;background:var(--brassbg);color:var(--brass2);display:grid;place-items:center;flex:none}.evd-meta .ic .ico{width:19px}
.evd-meta .k{font-size:11px;color:var(--soft)}.evd-meta .v{font-size:13.5px;font-weight:600}
.evd-desc{font-size:15px;color:var(--mut);line-height:1.6;margin-top:8px}
.evd-bar{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);width:100%;max-width:460px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:14px 18px;display:flex;align-items:center;gap:14px;z-index:25}
.evd-bar .p{font-size:11px;color:var(--mut)}.evd-bar .v{font-size:20px;font-weight:850;letter-spacing:-.02em}
.evd-bar .evd-buy{flex:1;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:15px;padding:14px;border-radius:13px}
/* panel eventos */
.evcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:stretch;gap:14px;margin-bottom:12px;cursor:pointer;transition:.15s}
.evcard:hover{border-color:var(--brass);box-shadow:0 8px 26px -20px rgba(0,0,0,.35)}
.evcard .side2{width:8px;border-radius:6px;background:var(--brass);flex:none}
.evcard .einfo{flex:1;min-width:0;align-self:center}.evcard .einfo .a{font-weight:700;font-size:15.5px;letter-spacing:-.01em}.evcard .einfo .b{font-size:12.5px;color:var(--mut);margin-top:2px}
.evcard .estats{display:flex;gap:16px;margin-top:11px}.evcard .estats span{font-size:12px;color:var(--soft)}.evcard .estats b{color:var(--ink);font-weight:700}
.evcard .chev{width:20px;color:var(--soft);flex:none;align-self:center}
.kpis3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
@media(max-width:520px){.kpis3{grid-template-columns:1fr 1fr}}
.evacts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.evacts button{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line);background:#fff}.evacts .ico{width:17px}
.evacts .prim{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;border:0}
.evacts .plt{background:var(--platbg);color:var(--plat);border:0}
.isearch{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 14px;margin:0 20px 4px}
.isearch input{border:0;flex:1;font-size:14px;background:none}.isearch .ico{width:18px;color:var(--soft)}
.itk{display:flex;align-items:center;gap:13px;padding:13px 20px}.itk+.itk{border-top:1px solid var(--line2)}
.itk .av{width:36px;height:36px;border-radius:10px;background:var(--petrol);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.itk .t{flex:1;min-width:0}.itk .t .a{font-weight:600;font-size:14px}.itk .t .b{font-size:12px;color:var(--soft)}
.itk .og{font-size:11px;font-weight:600;color:var(--mut);background:var(--bg);padding:4px 9px;border-radius:6px;flex:none}
.itk .stt{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;flex:none}.itk .stt.in{color:var(--ok);background:var(--okbg)}.itk .stt.out{color:var(--soft);background:var(--line2)}.itk .stt .ico{width:13px}
/* scanner */
.scan{position:fixed;inset:0;z-index:120;background:#0a1418;color:#fff;display:flex;flex-direction:column}
.scan-top{display:flex;align-items:center;gap:12px;padding:max(16px,env(safe-area-inset-top)) 18px 6px}
.scan-x{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none}.scan-x .ico{width:20px}
.scan-ev{flex:1;min-width:0;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scan-count{font-size:12px;color:#8fb0af;flex:none;text-align:right}.scan-count b{color:#37d399;font-size:16px;display:block}
.scan-cam{position:relative;margin:10px 24px;flex:1;min-height:200px;border-radius:24px;background:radial-gradient(circle at 50% 45%,#12262e,#0c1a20);overflow:hidden;display:grid;place-items:center}
.scan-cam .cc{position:absolute;width:32px;height:32px;border:3px solid #f2b642}
.scan-hint{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:13px;color:#8fb0af}
.scan-beam{position:absolute;left:20%;right:20%;height:3px;background:linear-gradient(90deg,transparent,#f2b642,transparent);box-shadow:0 0 18px 3px rgba(242,182,66,.5);animation:scan2 2.4s var(--ease) infinite}
@keyframes scan2{0%,100%{top:24%;opacity:0}12%{opacity:1}50%{top:72%;opacity:1}62%{opacity:0}}
.scan-res{margin:0 24px;border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:15px;animation:pop2 .25s var(--ease)}
.scan-res .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:none}.scan-res .ic .ico{width:29px;stroke-width:2.4}
.scan-res .a{font-size:18px;font-weight:800;letter-spacing:-.02em}.scan-res .b{font-size:13px;opacity:.92;margin-top:2px}
.scan-res.ok{background:rgba(55,211,153,.14);border:1px solid rgba(55,211,153,.4)}.scan-res.ok .ic{background:#37d399;color:#062915}.scan-res.ok .a{color:#37d399}
.scan-res.dup{background:rgba(255,184,92,.14);border:1px solid rgba(255,184,92,.4)}.scan-res.dup .ic{background:#ffb85c;color:#3a2400}.scan-res.dup .a{color:#ffb85c}
.scan-res.no{background:rgba(255,120,110,.14);border:1px solid rgba(255,120,110,.4)}.scan-res.no .ic{background:#ff7a6e;color:#3a0a06}.scan-res.no .a{color:#ff7a6e}
.scan-bot{padding:14px 24px max(18px,env(safe-area-inset-bottom))}
.scan-btns{display:flex;gap:10px}
.scan-sim{flex:1;background:#f2b642;color:#241804;font-weight:800;padding:15px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px}.scan-sim .ico{width:19px}
.scan-man{background:rgba(255,255,255,.1);color:#fff;font-weight:700;padding:15px 18px;border-radius:14px;display:flex;align-items:center;gap:8px}.scan-man .ico{width:18px}
.scan-search{margin-top:12px;background:rgba(255,255,255,.06);border-radius:14px;padding:12px}
.scan-search input{width:100%;background:rgba(255,255,255,.08);border:0;color:#fff;padding:12px;border-radius:10px;font-size:14px}
.scan-search .sr{display:flex;align-items:center;gap:10px;padding:12px 4px 4px}.scan-search .sr .n{flex:1;font-size:14px}.scan-search .sr .st2{font-size:11px;color:#8fb0af}.scan-search .sr button{background:#37d399;color:#062915;font-weight:700;font-size:12.5px;padding:8px 13px;border-radius:9px}
/* import modal */
.imp-bd{position:fixed;inset:0;z-index:130;background:rgba(6,16,18,.55);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px}
.imp-modal{width:100%;max-width:440px;background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);max-height:90dvh;display:flex;flex-direction:column}
.imp-h{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.imp-h h3{font-size:17px;letter-spacing:-.01em}.imp-h .x{width:32px;height:32px;border-radius:10px;background:var(--bg);display:grid;place-items:center}.imp-h .x .ico{width:18px}
.imp-b{padding:22px;overflow-y:auto}
.imp-steps{display:flex;gap:6px;margin-bottom:22px}.imp-steps .s{flex:1;height:4px;border-radius:3px;background:var(--line)}.imp-steps .s.on{background:var(--brass)}
.dz{border:2px dashed var(--line);border-radius:16px;padding:34px 20px;text-align:center;cursor:pointer;transition:.2s}.dz:hover{border-color:var(--brass);background:var(--brassbg)}
.dz .ic{width:52px;height:52px;border-radius:15px;background:var(--brassbg);color:var(--brass2);display:grid;place-items:center;margin:0 auto 14px}.dz .ic .ico{width:26px}
.dz .a{font-weight:700;font-size:15px}.dz .b{font-size:13px;color:var(--mut);margin-top:5px}
.dzf{display:flex;align-items:center;gap:12px;background:var(--okbg);border-radius:12px;padding:14px;margin-top:14px}.dzf .ic{width:22px;color:var(--ok);flex:none}.dzf .t{flex:1}.dzf .a{font-weight:600;font-size:14px}.dzf .b{font-size:12px;color:var(--mut)}
.map{display:flex;flex-direction:column;gap:10px}
.map .mrow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border-radius:12px;padding:12px 14px}
.map .mrow .k{font-size:13.5px;font-weight:600}.map .mrow select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;background:#fff}
.prev{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:12.5px}
.prev .pr{display:flex}.prev .pr>div{flex:1;padding:9px 12px;border-bottom:1px solid var(--line2)}.prev .ph>div{background:var(--bg);font-weight:700;color:var(--mut)}
.confirm{text-align:center;padding:10px 0}
.confirm .big{font-size:44px;font-weight:850;letter-spacing:-.03em;color:var(--brass2);line-height:1}
.confirm .lb{font-size:14px;color:var(--mut);margin-top:6px}
.confirm .note{margin-top:20px;background:var(--brassbg);color:var(--brass2);border-radius:12px;padding:14px;font-size:13px;font-weight:600;text-align:left}
.imp-done{text-align:center;padding:14px 0}.imp-done .ck{width:66px;height:66px;border-radius:50%;background:var(--okbg);color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}.imp-done .ck .ico{width:36px;stroke-width:2.4}.imp-done h4{font-size:20px;letter-spacing:-.02em}.imp-done p{color:var(--mut);margin-top:6px;font-size:14px}
.imp-f{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px}
.imp-f button{flex:1;padding:13px;border-radius:12px;font-weight:700;font-size:14px}
.imp-f .g{background:#fff;border:1px solid var(--line)}.imp-f .p{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.imp-f .p .ico{width:17px}
.cfg-sec{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin:0 0 12px}
.cfg-sec:not(:first-child){margin-top:26px}
.tk-email{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;font-weight:600;font-size:14.5px;color:var(--ink);margin-top:16px}
.tk-email .ico{width:18px;color:var(--brass2)}
.selbtn{font-size:13px;font-weight:700;color:var(--brass2);background:var(--brassbg);padding:8px 13px;border-radius:9px}
.selbar{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line2);background:var(--bg);flex-wrap:wrap}
.selbar .selall{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer}
.selbar .cnt{font-size:13px;color:var(--mut)}
.selbar .sendbtn{margin-left:auto;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:11px;display:flex;align-items:center;gap:7px}
.selbar .sendbtn:disabled{opacity:.45}.selbar .sendbtn .ico{width:16px}
.selbar input[type=checkbox],.itk-cb{width:18px;height:18px;accent-color:var(--brass);flex:none}
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:150;background:var(--petrol);color:#fff;padding:13px 20px;border-radius:13px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:9px;box-shadow:0 16px 40px -12px rgba(0,0,0,.5);animation:pop2 .25s var(--ease);max-width:90vw}
.toast .ico{width:18px;color:var(--brass)}
.detect{display:flex;align-items:flex-start;gap:11px;background:var(--brassbg);border-radius:12px;padding:14px;margin-bottom:18px;font-size:13.5px;color:var(--brass2);line-height:1.45}.detect .ic{width:20px;flex:none;margin-top:1px}
.map .mk{display:flex;align-items:center;gap:8px}.map .auto{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ok);background:var(--okbg);padding:3px 7px;border-radius:5px}
.sendopt{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:13.5px;font-weight:600;text-align:left;background:var(--bg);border-radius:12px;padding:14px;cursor:pointer}.sendopt input{width:18px;height:18px;accent-color:var(--brass);flex:none}
.cfgsearch{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:16px}
.cfgsearch:focus-within{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.1)}
.cfgsearch .ico{width:22px;color:var(--soft);flex:none}
.cfgsearch input{border:0;flex:1;font-size:16px;background:none}
.sl-lg{padding:18px}.sl-lg .t .a{font-size:16px}.sl-lg .ic{width:46px;height:46px}.sl-lg .ic .ico{width:23px}
.sl .chev{width:20px;color:var(--soft);flex:none}
.cfg-empty{text-align:center;color:var(--soft);font-size:14px;padding:30px}
.evd-claim{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;font-weight:600;font-size:14px;color:var(--ink);margin-top:18px}.evd-claim .ico{width:18px;color:var(--brass2)}
.ci{min-height:100dvh;display:grid;place-items:center;padding:28px 20px;background:radial-gradient(120% 80% at 50% -10%,#123039,#0a1a20 60%)}
.ci-card{width:100%;max-width:400px;background:var(--card);border-radius:24px;padding:30px 26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.ci-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;justify-content:center}
.ci-brand .d{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#241804}.ci-brand .d .ico{width:15px;stroke-width:2.4}
.ci-ev{text-align:center;font-size:13px;font-weight:600;color:var(--brass2);background:var(--brassbg);padding:7px 14px;border-radius:999px;margin:16px auto 22px;width:fit-content}
.ci-card h2{font-size:22px;letter-spacing:-.02em;text-align:center}
.ci-sub{text-align:center;color:var(--mut);font-size:14.5px;margin-top:8px}
.ci-card label{display:block;font-size:12.5px;font-weight:600;color:var(--mut);margin:18px 0 6px}
.ci-card .inp{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:16px}.ci-card .inp:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.12)}
.ci-btn{width:100%;margin-top:22px;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:16px;padding:15px;border-radius:13px}
.ci-ok{text-align:center}.ci-ok .ck{width:74px;height:74px;border-radius:50%;background:var(--okbg);color:var(--ok);display:grid;place-items:center;margin:0 auto 16px}.ci-ok .ck .ico{width:40px;stroke-width:2.4}
.ci-back{margin-top:20px;background:var(--bg);color:var(--mut);font-weight:600;padding:12px 20px;border-radius:11px}
.entry-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:20px}
.evtabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:20px;overflow-x:auto}
.evtabs::-webkit-scrollbar{display:none}
.evtabs button{flex:0 0 auto;white-space:nowrap;padding:9px 16px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--mut);transition:.15s}
.evtabs button.on{background:var(--petrol);color:#fff}
@media(min-width:720px){.evtabs button{flex:1}}
.entry-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
@media(max-width:520px){.entry-modes{grid-template-columns:1fr}}
.entry-modes button{text-align:left;border:1.5px solid var(--line);border-radius:13px;padding:14px;background:#fff;transition:.15s}
.entry-modes button.on{border-color:var(--brass);background:var(--brassbg)}
.entry-modes button b{display:block;font-size:14.5px;letter-spacing:-.01em}
.entry-modes button small{display:block;font-size:12px;color:var(--mut);margin-top:4px;line-height:1.35}
.event-qr{display:flex;gap:16px;align-items:center;background:var(--bg);border-radius:14px;padding:16px}
.event-qr .eqr{width:84px;height:84px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;flex:none}
.eq-info{flex:1;min-width:0}.eq-info .a{font-weight:700;font-size:14.5px}.eq-info .b{font-size:12.5px;color:var(--mut);margin-top:3px;line-height:1.4}
.eq-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.eq-actions button{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--line)}.eq-actions .ico{width:15px;color:var(--brass2)}
.subcard{display:flex;align-items:center;gap:16px;background:linear-gradient(150deg,var(--petrol),var(--petrol2));color:#fff;border-radius:16px;padding:20px;margin-bottom:16px}
.subcard .si{flex:1;min-width:0}.subcard .sl2{font-size:12px;color:#9fc0bd;font-weight:600}
.subcard .snm{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-top:2px;display:flex;align-items:center;gap:9px}
.badge-ok{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#37d399;background:rgba(55,211,153,.16);padding:3px 9px;border-radius:6px}
.subcard .sb2{font-size:12.5px;color:#b9cdca;margin-top:6px}
.subbtn{background:rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:13.5px;padding:11px 16px;border-radius:11px;flex:none}
.buy2{width:100%;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;font-weight:700;font-size:13.5px;color:var(--ink)}.buy2 .ico{width:16px;color:var(--brass2)}
.credcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:20px}
.cc-h{display:flex;align-items:flex-start;justify-content:space-between}
.cc-lb{font-size:13px;color:var(--mut);font-weight:600}
.cc-v{font-size:38px;font-weight:850;letter-spacing:-.03em;margin-top:4px}.cc-v small{font-size:18px;color:var(--soft);font-weight:600}
.cc-ic{width:44px;height:44px;border-radius:12px;background:var(--brassbg);color:var(--brass2);display:grid;place-items:center;flex:none}.cc-ic .ico{width:23px}
.cc-bar{height:9px;border-radius:6px;background:var(--line2);margin:16px 0;overflow:hidden}.cc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brass),#eab558);border-radius:6px}
.cc-hint{font-size:13px;color:var(--mut);line-height:1.5;background:var(--bg);border-radius:12px;padding:13px 14px}.cc-hint b{color:var(--ink)}
.cc-buy{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:15px;padding:14px;border-radius:13px}.cc-buy .ico{width:18px}
.plan-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.cost{font-size:13px;font-weight:800;color:var(--plat);background:var(--platbg);padding:6px 11px;border-radius:8px}
.planopt{display:block;border:1.5px solid var(--line);border-radius:14px;padding:16px;margin-bottom:10px;cursor:pointer;transition:.15s;position:relative}
.planopt.on{border-color:var(--brass);background:var(--brassbg)}
.planopt .po-h{display:flex;align-items:center;justify-content:space-between}.planopt .po-n{font-weight:800;font-size:16px;letter-spacing:-.01em}
.planopt .po-p{font-size:17px;font-weight:850}.planopt .po-p small{font-size:12px;color:var(--soft);font-weight:600}
.planopt .po-b{font-size:12.5px;color:var(--mut);margin-top:5px}
.planopt .po-cur{position:absolute;top:14px;right:90px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ok);background:var(--okbg);padding:3px 8px;border-radius:6px}
.pay-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line2)}.pay-row:last-of-type{border-bottom:0}
.pay-row .lg{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;flex:none;font-size:13px}
.pay-row .lg.mp{background:#00b1ea}.pay-row .lg.comb{background:var(--petrol)}
.pay-row .t{flex:1;min-width:0}.pay-row .t .a{font-weight:700;font-size:14.5px}.pay-row .t .b{font-size:12.5px;color:var(--mut);margin-top:2px}
.pay-note{width:100%;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:14px;font-family:inherit;resize:vertical}.pay-note:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.1)}
.hint2{font-size:13px;color:var(--mut);line-height:1.5;margin-bottom:10px;transition:.2s}.hint2.warn{color:var(--err);font-weight:600}
.fld-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line2)}.fld-row:last-child{border-bottom:0}
.fld-row .t{flex:1;min-width:0}.fld-row .t .a{font-weight:600;font-size:14.5px}.fld-row .t .b{font-size:12px;color:var(--soft);margin-top:2px}
.fixed-tag{font-size:11px;font-weight:700;color:var(--brass2);background:var(--brassbg);padding:5px 10px;border-radius:7px;white-space:nowrap}
.reemit{max-width:400px;margin:10px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px 24px}
.re-ic{width:56px;height:56px;border-radius:16px;background:var(--brassbg);color:var(--brass2);display:grid;place-items:center;margin:0 auto 16px}.re-ic .ico{width:28px}
.reemit h4{font-size:19px;letter-spacing:-.02em}
.reemit p{font-size:14px;color:var(--mut);margin-top:8px;line-height:1.5}
.re-lb{display:block;text-align:left;font-size:12.5px;font-weight:600;color:var(--mut);margin:20px 0 6px}
.re-inp{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;font-size:16px}.re-inp:focus{border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.12);outline:none}
.re-btn{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;font-weight:700;font-size:15px;padding:14px;border-radius:13px}.re-btn .ico{width:17px}
.re-sent{max-width:420px;margin:0 auto 14px;display:flex;align-items:center;gap:9px;background:var(--okbg);color:var(--ok);font-size:13px;font-weight:600;padding:12px 15px;border-radius:12px}.re-sent .ico{width:18px;flex:none}

/* ==== menu mobile server-side (checkbox peer, sem JS) ==== */
#navtoggle{display:none}
.side-bd{display:none}
@media(max-width:860px){
 #navtoggle:checked ~ .pbody .side{transform:none}
 #navtoggle:checked ~ .pbody .side-bd{display:block}
}
/* acordeão nativo <details> (era Alpine .adv.open) */
details.adv>summary{list-style:none;cursor:pointer}
details.adv>summary::-webkit-details-marker{display:none}
details.adv[open] .ah .ico{transform:rotate(180deg)}
details.adv .ab{padding:0 16px 16px}
/* reveal-on-toggle: bloco extra aparece quando o switch liga (:has) */
.reveal .extra{display:none}
.reveal:has(input:checked) .extra{display:block}

/* ==== tag×seletor: <a> em containers cujo mockup prendia a 'button' ==== */
.evacts a{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.eq-actions a{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.eq-actions a .ico{width:15px;color:var(--brass2)}
.imp-f a{flex:1;padding:13px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.dw .df a{flex:1;padding:13px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}

/* ==== campo de cupom (pontilhado, em destaque) ==== */
.coupon{margin:14px 0}
.coupon-toggle{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--brass2);cursor:pointer;background:none;border:0;padding:6px 0}
.coupon-toggle .ico{width:16px}
.coupon-box{margin-top:10px;border:2px dashed var(--brass);border-radius:14px;background:var(--brassbg);padding:12px}
.coupon-row{display:flex;gap:8px}
.coupon-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;background:#fff}
.coupon-row input:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 4px rgba(207,139,30,.12)}
.coupon-row .apply{border:0;border-radius:10px;background:var(--brass2);color:#fff;font-weight:700;padding:0 16px;font-size:14px;cursor:pointer}
.coupon-msg{margin-top:9px;font-size:13px;font-weight:600;display:none;align-items:center;gap:6px}
.coupon-msg.ok{display:flex;color:var(--ok)}
.coupon-msg.bad{display:flex;color:var(--bad)}
.coupon-msg .ico{width:15px;flex:none}
details.coupon>summary{list-style:none}details.coupon>summary::-webkit-details-marker{display:none}

/* ==== adesão: reusa o layout .auth do login ==== */
.auth .auth-card{width:100%;max-width:430px;background:var(--card);border-radius:24px;padding:30px 26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.auth h1{font-size:21px;letter-spacing:-.02em;text-align:center;margin:2px 0 4px}
.auth .sub{text-align:center;font-size:13.5px;color:var(--mut);margin:0 0 18px;line-height:1.4}
.auth .field2 label{color:var(--mut)}
.auth .btnp{background:linear-gradient(140deg,var(--brass),var(--brass2));color:#fff;border:0}
