/* eventos_plus — dia do evento */
.ev-tabs{flex-wrap:wrap}.ev-tabs a{white-space:nowrap}
.ev-card .progress{height:6px}
.ev-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .8rem;font-size:.82rem}.ev-mini a{color:var(--text);display:flex;gap:.35rem;align-items:center}.ev-mini a i{color:var(--brand)}.ev-mini b{font-weight:700}
.ev-tile{text-decoration:none;color:inherit;transition:transform .15s}.ev-tile:hover{transform:translateY(-2px)}
.ev-links{display:flex;flex-direction:column;gap:.35rem}.ev-links a{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border-radius:8px;color:var(--text);font-weight:500}.ev-links a:hover{background:var(--brand-50);color:var(--brand)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px}
.progress{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--violet));border-radius:999px}
.copy-box{display:flex;gap:.4rem;align-items:center}.copy-box input{flex:1;font-size:.85rem}

/* mesas */
.ev-mesas-wrap{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:start}
.ev-sem-mesa{position:sticky;top:80px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.ev-sem-mesa .ev-drop{overflow:auto;flex:1;min-height:120px}
.ev-salao{position:relative;min-height:600px;overflow:auto;background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(99,102,241,.06) 24px 25px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(99,102,241,.06) 24px 25px)}
.ev-mesa{position:absolute;width:140px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);font-size:.78rem}
.ev-mesa-head{display:flex;justify-content:space-between;align-items:center;gap:.3rem;padding:.4rem .6rem;border-bottom:1px solid var(--line);cursor:grab;background:var(--brand-50);border-radius:14px 14px 0 0}.ev-mesa-head .cap{color:var(--muted)}.ev-mesa.lotada .ev-mesa-head{background:#fef3c7}
.ev-mesa-acoes{display:none;gap:.2rem}.ev-mesa:hover .ev-mesa-acoes{display:inline-flex}.ev-mesa-acoes a,.ev-mesa-acoes button{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 .15rem}.ev-mesa-acoes form{display:inline}
.ev-drop{min-height:40px;padding:.35rem;display:flex;flex-wrap:wrap;gap:.25rem;transition:background .15s}.ev-drop.over{background:#eef2ff;outline:2px dashed var(--brand)}
.ev-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;background:#f1f5f9;border:1px solid var(--line);cursor:grab;font-size:.76rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-chip[draggable=false]{cursor:default}.ev-chip.dragging{opacity:.4}.ev-chip.oculto{display:none}
.ev-chip .dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:none}.dot-formando{background:var(--brand)}.dot-extra{background:var(--success)}.dot-convidado{background:var(--accent)}.dot-incluso{background:#94a3b8}
@media(max-width:900px){.ev-mesas-wrap{grid-template-columns:1fr}.ev-sem-mesa{position:static;max-height:260px}}

/* roteiro */
.ev-timeline{list-style:none;margin:0;padding:0}.ev-timeline li{display:grid;grid-template-columns:80px 1fr;gap:.75rem;padding:.6rem 0;border-left:2px solid var(--line);margin-left:40px;position:relative}
.ev-timeline li::before{content:"";position:absolute;left:-7px;top:1rem;width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid #fff}
.ev-hora{margin-left:-88px;text-align:right;padding-right:.9rem;font-variant-numeric:tabular-nums}.ev-hora b{display:block;font-size:1rem}.ev-hora small{color:var(--muted)}
.ev-item{padding-left:.5rem}

/* galeria */
.ev-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.ev-foto{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.ev-foto img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.ev-foto figcaption{padding:.5rem .6rem}.ev-foto.st-pendente{outline:2px solid var(--warning)}.ev-foto.st-rejeitada{opacity:.55}
.ev-galeria .ev-foto form{display:inline}

/* trajes */
.ev-trajes input,.ev-trajes select{padding:.3rem .4rem;font-size:.82rem}.ev-trajes td{vertical-align:middle}

/* playlist */
.ev-playlist{list-style:none;margin:0;padding:0}.ev-playlist li{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--line)}.ev-playlist li:last-child{border-bottom:0}.ev-playlist .pos{width:28px;height:28px;border-radius:50%;background:var(--brand-50);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex:none}.ev-playlist li:nth-child(-n+3) .pos{background:var(--brand);color:#fff}.ev-playlist form{display:inline}

/* roleta */
.ev-roleta{background:linear-gradient(135deg,var(--brand),var(--violet) 60%,var(--pink));border-radius:16px;padding:1.5rem;margin:1rem 0;text-align:center;color:#fff;min-height:110px;display:flex;align-items:center;justify-content:center}
.ev-roleta-nome{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.25)}.ev-roleta.girando .ev-roleta-nome{animation:ev-blink .12s infinite}
@keyframes ev-blink{50%{opacity:.6;transform:scale(1.04)}}
.ev-roleta-resultado{margin-top:1rem;padding:1rem;border-radius:12px;background:var(--success-50);border:1px solid #bbf7d0;text-align:center}.ev-roleta-resultado b{font-size:1.4rem;display:block}

/* portal do formando */
.ev-meus-ingressos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.ev-ingresso-mini{display:flex;gap:.6rem;align-items:center;padding:.5rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text)}.ev-ingresso-mini img{width:72px;height:72px;flex:none}.ev-ingresso-mini.usado{opacity:.6}

/* páginas públicas */
.ev-public-page{max-width:640px;margin:2rem auto;padding:0 1rem}.ev-public-page.wide{max-width:960px}
.ev-public-card{background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}
.ev-public-card header,.ev-ticket header{background:linear-gradient(135deg,var(--tk,#4f46e5),#7c3aed);color:#fff;padding:1.5rem}
.ev-public-body{padding:1.5rem}.ev-public-card footer,.ev-ticket footer{padding:.9rem 1.5rem;border-top:1px dashed var(--line);color:var(--muted)}
.ev-total{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;padding:.75rem 1rem;background:var(--brand-50);border-radius:10px;margin-top:.5rem}.ev-total b{font-size:1.4rem}
.ev-embed{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}.ev-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ingresso */
.ev-ticket-page{max-width:560px;margin:2rem auto;padding:0 1rem}
.ev-ticket{background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}.ev-ticket.usado header{filter:grayscale(.6)}
.ev-ticket-body{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.5rem;align-items:start}.ev-ticket-qr{text-align:center}.ev-ticket-qr svg{width:200px;height:200px;border:1px solid var(--line);border-radius:12px;padding:6px;background:#fff}
@media(max-width:560px){.ev-ticket-body{grid-template-columns:1fr}.ev-ticket-qr svg{width:240px;height:240px}}
@media print{.no-print,.site-nav{display:none!important}.ev-ticket{box-shadow:none;border:1px solid #ccc}body{background:#fff}}

/* portaria */
.ev-portaria{max-width:560px;margin:1rem auto;padding:0 1rem}
.ev-p-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.ev-p-count{text-align:right}.ev-p-count b{font-size:2.2rem;line-height:1;display:block;color:var(--brand)}
.ev-p-video-wrap{position:relative;background:#111;border-radius:12px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.ev-p-video-wrap video{width:100%;height:100%;object-fit:cover}
.ev-p-video-wrap[hidden]{display:none}
.ev-p-mira{position:absolute;inset:15% 20%;border:3px solid rgba(255,255,255,.8);border-radius:14px;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.25)}
.ev-p-nocam{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--muted);background:#f1f5f9;border:1px dashed var(--line);border-radius:12px;padding:.9rem;text-align:center;font-size:.88rem}
.ev-p-result{border-radius:16px;padding:1.25rem;margin-top:1rem;text-align:center;animation:ev-pop .25s}.ev-p-result.ok{background:#dcfce7;border:2px solid #22c55e}.ev-p-result.ja{background:#fef3c7;border:2px solid #f59e0b}.ev-p-result.nao,.ev-p-result.fechado{background:#fee2e2;border:2px solid #ef4444}
.ev-p-result .big{font-size:1.5rem;font-weight:800}.ev-p-result .nome{font-size:1.3rem;font-weight:700;margin:.3rem 0}
@keyframes ev-pop{from{transform:scale(.95);opacity:0}}
.ev-p-lista{list-style:none;margin:.5rem 0 0;padding:0;font-size:.9rem}.ev-p-lista li{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--line)}

/* site público */
.ev-site{--c1:#4f46e5;--c2:#7c3aed;color:var(--text)}
.ev-site .wrap{max-width:1000px}
.ev-site-hero{background:linear-gradient(135deg,var(--c1),var(--c2));background-size:cover;background-position:center;color:#fff;text-align:center;padding:5rem 1rem 4rem}
.ev-site-hero h1,.ev-site-hero .lead,.ev-site-hero .pill{text-shadow:0 2px 12px rgba(0,0,0,.45)}
.ev-site-hero h1{font-size:clamp(2.2rem,6vw,4rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin:.75rem 0 .5rem}.ev-site-hero .lead{font-size:1.2rem;opacity:.92;max-width:640px;margin:0 auto}
.ev-countdown{display:flex;gap:1rem;justify-content:center;margin:2rem 0 .5rem;flex-wrap:wrap}.ev-countdown div{background:rgba(255,255,255,.16);backdrop-filter:blur(6px);border-radius:14px;padding:.8rem 1.1rem;min-width:84px}.ev-countdown b{display:block;font-size:2.2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.ev-countdown small{opacity:.85;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.ev-site-texto{padding:3rem 1.25rem 1rem;font-size:1.1rem;text-align:center;max-width:760px}
.ev-site-stats{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;padding:2rem 1.25rem}.ev-site-stats div{text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.5rem;min-width:140px}.ev-site-stats b{display:block;font-size:1.4rem}.ev-site-stats small{color:var(--muted)}
.ev-site section.wrap{padding:2rem 1.25rem}
.ev-site-eventos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.ev-site-eventos .card{display:flex;gap:1rem;align-items:flex-start}
.ev-site-data{flex:none;width:60px;text-align:center;background:var(--c1);color:#fff;border-radius:12px;padding:.5rem 0}.ev-site-data b{display:block;font-size:1.5rem;line-height:1}.ev-site-data small{text-transform:uppercase;font-size:.7rem}
.ev-site-galeria a{display:block;border-radius:12px;overflow:hidden}.ev-site-galeria img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .2s}.ev-site-galeria a:hover img{transform:scale(1.04)}
.ev-site-footer{text-align:center;padding:2rem 1rem;color:var(--muted);font-size:.85rem}
.btn-light{background:#fff;color:var(--brand)}.btn-light:hover{background:#eef2ff}

/* v2: credenciamento com foto, setores, painel ao vivo e pós-evento */
.ev-p-foto{width:110px;height:110px;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:var(--shadow);margin:0 auto .5rem;display:block}
.ev-p-result.setor{background:#fef3c7;border:2px solid #f59e0b}
.ev-spark{position:relative;height:120px;background:linear-gradient(180deg,rgba(99,102,241,.06),transparent);border-radius:10px;overflow:hidden}
.ev-spark .ev-bar{position:absolute;bottom:0;background:linear-gradient(180deg,var(--brand),var(--violet));border-radius:3px 3px 0 0;min-height:2px}
.ev-pv-setor{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.ev-pv-setor:last-child{border-bottom:0}.ev-pv-setor .dot{width:10px;height:10px;border-radius:50%;flex:none}
.ev-pv-mesa{display:grid;grid-template-columns:1fr 90px auto;gap:.5rem;align-items:center;font-size:.85rem;padding:.25rem 0}
.ev-mesas-lista{max-height:340px;overflow:auto}
.ev-notas{display:flex;gap:.4rem;flex-wrap:wrap}
.ev-nota input{position:absolute;opacity:0;pointer-events:none}
.ev-nota span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);font-weight:700;cursor:pointer;background:#fff}
.ev-nota input:checked + span{background:var(--brand);color:#fff;border-color:var(--brand)}
.ev-nota:hover span{border-color:var(--brand)}
