/* Formulários — visual do portal Oficina Ministerial (grafite + laranja). */
:root{--bg:#161616;--sup:#1e1e1e;--sup2:#2a2a2a;--campo:rgba(255,255,255,.05);--fundo2:#1b1b1b;--base:var(--base);--linha:rgba(255,255,255,.13);--texto:#f2f2f2;--fraco:#a8a8a8;--laranja:#ff9200;--tema:#ff9200;--ok:#22c55e;--nao:#ef4444;--sombra:0 18px 50px rgba(0,0,0,.4);color-scheme:dark}
body.claro{--bg:#f3f1ec;--sup:#ffffff;--sup2:#e9e6df;--campo:rgba(0,0,0,.04);--fundo2:#ffffff;--base:#ffffff;--linha:rgba(0,0,0,.15);--texto:#1e1e1c;--fraco:#62635e;--sombra:0 18px 50px rgba(0,0,0,.16);color-scheme:light}
body.claro{background-image:radial-gradient(circle at 12% -5%,rgba(255,146,0,.14),transparent 32%)}
body.claro select option{background:#fff;color:#1e1e1c}
body.claro .aviso{background:#fff;color:#1e1e1c}
body.claro .tabela th{background:#efece6}
body.claro .erro-texto,body.claro .tabela td.nao,body.claro .resp-rotulo b{color:#c62828}
body.claro .q-alerta{color:#a15c00}
body.claro .chave span::after{background:#8a8a85}
body.claro .eyebrow,body.claro .palco-num,body.claro .resp-num{filter:brightness(.82)}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"DM Sans",system-ui,sans-serif;background:var(--bg);color:var(--texto);min-height:100vh;background-image:radial-gradient(circle at 12% -5%,rgba(255,146,0,.13),transparent 32%)}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit}
h1,h2,h3,p{margin:0}
input[type=text],input:not([type]),textarea,select{width:100%;min-height:44px;padding:10px 13px;border-radius:12px;border:1px solid var(--linha);background:var(--campo);outline:0}
textarea{resize:vertical;line-height:1.45}
input:focus,textarea:focus,select:focus{border-color:var(--tema)}
select option{background:#222;color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,146,0,.45);outline-offset:2px}
.fraco{color:var(--fraco)}.pequeno{font-size:12.5px}
.eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tema)}
.rotulo{display:block;margin:14px 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fraco)}
.erro-texto{color:#ff8a8a;font-size:13px;font-weight:600;margin-top:8px}
.card{background:var(--sup);border:1px solid var(--linha);border-radius:18px;padding:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border-radius:12px;border:1px solid var(--linha);background:var(--campo);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--laranja)}
.btn svg{width:17px;height:17px;flex:0 0 auto}
.btn.primary{background:var(--laranja);border-color:var(--laranja);color:#161616}
.btn.primary:hover{filter:brightness(1.07)}
.btn.icon{width:42px;padding:0}
.btn.mini{min-height:34px;padding:0 10px;font-size:13px}.btn.icon.mini{width:34px}
.btn.largo{width:100%}
.btn.grande{min-height:52px;padding:0 22px;font-size:16px;border-radius:14px}
.btn.tracejado{border-style:dashed;min-height:54px;margin-top:4px}
.btn:disabled{opacity:.55;cursor:default}
.giro{width:42px;height:42px;border-radius:50%;border:4px solid var(--sup2);border-top-color:var(--laranja);animation:giro 1s linear infinite}
@keyframes giro{to{transform:rotate(360deg)}}
.tela-centro{min-height:100vh;display:grid;place-items:center;padding:20px}
.cartao-entrada{width:min(460px,100%);padding:30px;display:flex;flex-direction:column;gap:12px;text-align:center}
.cartao-entrada h1{font-size:30px;font-weight:800}
.entrada-icone{width:84px;height:84px;margin:0 auto 4px}
.entrada-codigo{display:grid;gap:8px;padding:16px;border-radius:16px;border:1px solid rgba(255,146,0,.4);background:rgba(255,146,0,.07);text-align:left}
.entrada-codigo label{font-size:13px;font-weight:700}
.entrada-codigo div{display:flex;gap:8px}
.entrada-codigo .codigo-campo{flex:1;min-width:0;font-size:24px!important;min-height:52px!important}
.entrada-ou{display:flex;align-items:center;gap:10px;color:var(--fraco);font-size:12.5px}
.entrada-ou::before,.entrada-ou::after{content:"";flex:1;height:1px;background:var(--linha)}
.aviso{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:2147482000;max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:14px;background:#0d0d0d;border:1px solid rgba(255,146,0,.5);box-shadow:var(--sombra);font-weight:600;font-size:14.5px;text-align:center}
.aviso.erro{border-color:rgba(239,68,68,.7)}
.vazio{grid-column:1/-1;display:grid;justify-items:center;gap:10px;padding:54px 20px;text-align:center}
.vazio>svg{width:44px;height:44px;color:var(--laranja)}

/* chave (liga/desliga) e segmento */
.chave{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;font-weight:600;cursor:pointer}
.chave input{position:absolute;opacity:0;pointer-events:none}
.chave span{flex:0 0 auto;width:40px;height:23px;border-radius:99px;background:var(--sup2);border:1px solid var(--linha);position:relative;transition:background .15s}
.chave span::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#bbb;transition:transform .15s,background .15s}
.chave input:checked+span{background:rgba(255,146,0,.3);border-color:var(--laranja)}
.chave input:checked+span::after{transform:translateX(17px);background:var(--laranja)}
.segmento{display:flex;gap:4px;padding:4px;border-radius:13px;background:var(--campo);border:1px solid var(--linha)}
.segmento button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--fraco);white-space:nowrap}
.segmento button svg{width:16px;height:16px}
.segmento button.on{background:var(--laranja);color:#161616}

/* ------------------------------------------------------------ quem cria */
.topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(16px,3vw,40px);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.topo-marca{display:flex;align-items:center;gap:11px;text-decoration:none}
.topo-marca img{width:40px;height:40px}
.topo-marca strong{display:block;font-size:19px;font-weight:800;line-height:1.1}
.topo-marca small{color:var(--fraco);font-size:11.5px}
.topo-acoes{display:flex;align-items:center;gap:8px}
.topo-conta{display:inline-flex;align-items:center;gap:7px;color:var(--fraco);font-size:13.5px;font-weight:600;max-width:200px;overflow:hidden;white-space:nowrap}
.topo-conta svg{width:16px;height:16px;flex:0 0 auto}
.miolo{width:100%;max-width:1680px;margin:0 auto;padding:26px clamp(16px,3vw,40px) 120px}
.inicio-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.inicio-topo h1{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;margin:6px 0 8px}
.inicio-topo .fraco{max-width:720px;line-height:1.5}
.alerta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;border-color:rgba(255,146,0,.4);background:rgba(255,146,0,.07)}
.alerta>svg{color:var(--laranja);flex:0 0 auto}.alerta span{flex:1;min-width:220px;line-height:1.45}
.lista-atv{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:16px}
.cartao-atv{display:flex;flex-direction:column;border-radius:18px;background:var(--sup);border:1px solid var(--linha);border-top:4px solid var(--tema);overflow:hidden}
.cartao-atv-topo{display:grid;gap:7px;padding:18px 18px 14px;text-align:left;min-width:0}
.cartao-atv-topo strong{font-size:19px;font-weight:800;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cartao-atv-topo small{color:var(--fraco);font-size:12.5px}
.selo{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--tema) 16%,transparent);color:var(--tema);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.selo svg{width:13px;height:13px}
.cartao-atv-botoes{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px;margin-top:auto}
.cartao-atv-botoes .primary{flex:1 1 100%}
.cartao-atv-botoes .btn:not(.icon):not(.primary){flex:1}

/* modal (amplo) */
.modal{position:fixed;inset:0;z-index:2147481500;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}
.modal-caixa{position:relative;width:min(1100px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:28px;border-radius:22px;background:var(--fundo2);border:1px solid var(--linha);box-shadow:var(--sombra)}
.modal-caixa h2{font-size:26px;font-weight:800;margin:6px 0 8px}
.modal-x{position:absolute;top:14px;right:14px}
.modelos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:18px}
.modelo{display:grid;gap:7px;padding:18px;border-radius:16px;border:1px solid var(--linha);background:var(--campo);text-align:left;transition:border-color .15s,transform .15s}
.modelo:hover{border-color:var(--laranja);transform:translateY(-2px)}
.modelo>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(255,146,0,.15);color:var(--laranja)}
.modelo strong{font-size:16.5px}.modelo small{color:var(--fraco);font-size:13px;line-height:1.4}
.enviar{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-top:18px}
.enviar-qr{padding:14px;border-radius:16px;background:#fff;line-height:0}
.enviar-qr img,.enviar-qr canvas{display:block}
.enviar-lado{flex:1;min-width:280px}
.linha{display:flex;gap:8px;margin-bottom:12px}.linha.quebra{flex-wrap:wrap}
.linha input{flex:1;min-width:0}

/* editor */
.ed-barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.ed-barra-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.ed-grade{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.ed-perguntas{display:grid;gap:14px;min-width:0}
.ed-lado{position:sticky;top:84px;display:grid;gap:14px}
.ed-lado h3{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fraco);margin-bottom:10px}
.ed-capa{padding:22px;border-radius:18px;background:var(--sup);border:1px solid var(--linha);border-top:6px solid var(--tema);display:grid;gap:10px}
.ed-titulo{font-size:clamp(22px,2.6vw,32px)!important;font-weight:800;min-height:56px!important;border-color:transparent!important;background:transparent!important;padding-left:2px!important;border-bottom:1px solid var(--linha)!important;border-radius:0!important}
.ed-titulo:focus{border-bottom-color:var(--tema)!important}
#edLista{display:grid;gap:14px}
.q{padding:18px;border-radius:18px;background:var(--sup);border:1px solid var(--linha);border-left:4px solid transparent;display:grid;gap:10px}
.q:focus-within{border-left-color:var(--tema)}
.q-topo{display:flex;align-items:center;gap:10px}
.q-n{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--tema) 18%,transparent);color:var(--tema);font-weight:800}
.q-n svg{width:17px;height:17px}
.q-topo select{width:auto;flex:0 1 240px;min-height:38px;padding:6px 10px;font-weight:700;font-size:13.5px}
.q-botoes{display:flex;gap:4px;margin-left:auto}
.q-titulo{font-size:18px;font-weight:700;min-height:50px!important}
.q-ajuda{font-size:14px;min-height:40px!important;color:var(--fraco)}
.q-opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px}
.q-opcoes>.btn{justify-self:start}
.q-op{display:flex;align-items:center;gap:8px}
.q-op input{flex:1;min-width:0}
.q-letra,.q-certa{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;font-weight:800;font-size:13px}
.q-letra{background:color-mix(in srgb,var(--cor) 22%,transparent);color:var(--cor)}
.q-certa{border:2px solid var(--linha);color:transparent}
.q-certa svg{width:17px;height:17px}
.q-certa:hover{border-color:var(--ok)}
.q-certa.on{background:var(--ok);border-color:var(--ok);color:#06240f}
.q-exemplo{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:12px;border:1px dashed var(--linha);color:var(--fraco);font-size:13.5px}
.q-exemplo svg{width:16px;height:16px}
.q-alerta{display:flex;align-items:center;gap:7px;color:#ffc46b;font-size:13px;font-weight:600}
.q-alerta svg{width:15px;height:15px}
.q-pe{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--linha)}
.q-pe .chave{margin-top:0}
.q-tempo{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:600;color:var(--fraco)}
.q-tempo svg{width:15px;height:15px}
.q-tempo select{width:auto;min-height:36px;padding:4px 8px}
.ed-tipos{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ed-tipos button{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 10px;border-radius:11px;border:1px solid var(--linha);background:var(--campo);font-size:12.5px;font-weight:700;text-align:left;line-height:1.2}
.ed-tipos button:hover{border-color:var(--laranja);color:var(--laranja)}
.ed-tipos svg{width:16px;height:16px;flex:0 0 auto;color:var(--laranja)}
.ed-cores{display:flex;gap:8px}
.ed-cores button{width:32px;height:32px;border-radius:50%;border:3px solid transparent;outline:1px solid var(--linha)}
.ed-cores button.on{border-color:#fff}

/* respostas */
.res-topo{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px;border-radius:20px;background:var(--sup);border:1px solid var(--linha);border-top:6px solid var(--tema);margin-bottom:14px}
.res-topo h1{font-size:clamp(22px,3vw,34px);font-weight:800;margin-top:6px}
.res-total{display:grid;justify-items:center;padding:8px 22px;border-radius:16px;background:color-mix(in srgb,var(--tema) 14%,transparent)}
.res-total b{font-size:40px;font-weight:800;color:var(--tema);line-height:1}.res-total span{font-size:12.5px;color:var(--fraco)}
.res-filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.res-filtros select{width:auto;flex:1 1 300px;max-width:520px}
.res-filtros .segmento{margin-left:auto}
.res-corpo.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:16px}
.res-q h3{font-size:18px;font-weight:800;margin:4px 0 14px}
.res-n{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fraco)}
.media{margin-bottom:12px;color:var(--fraco)}.media b{font-size:30px;font-weight:800;color:var(--laranja);margin-right:4px}
.barras{display:grid;gap:9px}
.barra{display:grid;grid-template-columns:minmax(90px,34%) 1fr 76px;align-items:center;gap:10px;font-size:14.5px}
.barras.curtas .barra{grid-template-columns:34px 1fr 76px}
.barra-nome{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600;overflow-wrap:anywhere}
.barra-nome b{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--cor) 22%,transparent);color:var(--cor);font-size:12px}
.barra-nome svg{width:16px;height:16px;color:var(--ok);flex:0 0 auto}
.barra-trilho{height:22px;border-radius:6px;background:var(--campo);overflow:hidden}
.barra-cheio{display:block;height:100%;min-width:2px;border-radius:0 6px 6px 0;background:var(--cor);transition:width .5s}
.barra-num{font-weight:800;text-align:right}.barra-num small{margin-left:6px;color:var(--fraco);font-weight:600}
.barra.certa .barra-nome{color:var(--ok)}
.nuvem{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:center;padding:10px 0;line-height:1.15;font-weight:800}
.textos{display:grid;gap:8px;max-height:340px;overflow:auto}
.textos p{padding:10px 13px;border-radius:12px;background:var(--campo);font-size:14.5px;line-height:1.45;overflow-wrap:anywhere}
.tabela-caixa{padding:0;overflow:auto}
.tabela{width:100%;border-collapse:collapse;font-size:14px}
.tabela th,.tabela td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--linha);vertical-align:top;min-width:120px;max-width:340px;overflow-wrap:anywhere}
.tabela th{position:sticky;top:0;background:var(--sup2);font-size:12px;letter-spacing:.04em;color:var(--fraco)}
.tabela td.ok{color:var(--ok)}.tabela td.nao{color:#ff8a8a}

/* ---------------------------------------------------------- palco (telão) */
body.no-palco{background-image:radial-gradient(circle at 50% -10%,rgba(255,146,0,.16),transparent 45%)}
.palco{min-height:100vh;display:flex;flex-direction:column}
.palco-topo{display:flex;align-items:center;gap:16px;padding:14px clamp(16px,3vw,44px);border-bottom:1px solid var(--linha)}
.palco-marca{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.palco-marca img{width:34px;height:34px}
.palco-pino{margin-left:auto;color:var(--fraco);font-size:15px;white-space:nowrap}.palco-pino b{color:var(--tema);font-size:20px;letter-spacing:.06em}
.palco-n{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:7px 13px;border-radius:99px;background:var(--campo);font-weight:800}
.palco-pino+.palco-n{margin-left:0}
.palco-n svg{width:17px;height:17px}
.palco-miolo{flex:1;display:flex;flex-direction:column;justify-content:center;gap:22px;width:100%;max-width:1500px;margin:0 auto;padding:clamp(18px,3vw,44px)}
.palco-centro{flex:1;display:grid;place-items:center;align-content:center;gap:16px;text-align:center;min-height:60vh}
.palco-num{font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--tema)}
.palco-titulo{font-size:clamp(30px,4.6vw,64px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.palco-ajuda{font-size:clamp(17px,2vw,26px);color:var(--fraco);line-height:1.4}
.palco-dica{display:flex;align-items:center;gap:10px;font-size:22px;color:var(--fraco)}
.palco-opcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.palco-opcoes>div{display:flex;align-items:center;gap:16px;min-height:96px;padding:16px 22px;border-radius:18px;background:color-mix(in srgb,var(--cor) 20%,var(--base));border:2px solid var(--cor);font-size:clamp(18px,2.2vw,30px);font-weight:700}
.palco-opcoes b{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--cor);color:#111;font-size:24px}
.palco-status{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:20px;color:var(--fraco)}
.palco-status b{color:var(--texto);font-size:30px}
.palco-tempo{display:grid;place-items:center;min-width:92px;height:92px;border-radius:50%;border:5px solid var(--tema);color:var(--texto);font-size:30px;font-weight:800}
.palco-resultado{font-size:clamp(17px,1.7vw,24px)}
.palco-resultado .barra{grid-template-columns:minmax(120px,36%) 1fr 110px;font-size:inherit}
.palco-resultado .barras.curtas .barra{grid-template-columns:48px 1fr 110px}
.palco-resultado .barra-trilho{height:42px;border-radius:10px}
.palco-resultado .barra-nome b{width:40px;height:40px;font-size:18px}
.palco-resultado .nuvem{font-size:1.5em;min-height:38vh}
.palco-resultado .textos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-height:52vh}
.palco-resultado .textos p{font-size:.85em}
.palco-sala{display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,80px);flex-wrap:wrap}
.palco-entrar{display:grid;gap:8px}
.palco-site{font-size:clamp(20px,2.4vw,34px);font-weight:700}.palco-site b{color:var(--tema)}
.palco-codigo{font-size:clamp(64px,10vw,150px);font-weight:800;letter-spacing:.04em;line-height:1;color:var(--tema)}
.palco-qr{padding:18px;border-radius:22px;background:#fff;line-height:0}
.palco-gente{text-align:center}.palco-gente p{font-size:20px;color:var(--fraco);margin-bottom:12px}.palco-gente b{color:var(--texto);font-size:28px}
.palco-gente div{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.palco-gente span{padding:7px 14px;border-radius:99px;background:var(--campo);font-weight:700;animation:entra .3s}
@keyframes entra{from{transform:scale(.6);opacity:0}}
.placar{display:grid;gap:10px;max-width:900px;width:100%;margin:0 auto}
.placar>div{display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:16px;background:var(--sup);border:1px solid var(--linha);font-size:clamp(18px,2vw,28px);font-weight:700}
.placar>div:first-child{border-color:var(--tema);background:color-mix(in srgb,var(--tema) 14%,var(--sup))}
.placar i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--campo);font-style:normal;font-size:18px}
.placar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placar b{color:var(--tema)}
.podio{display:flex;align-items:flex-end;justify-content:center;gap:14px;min-height:46vh}
.podio>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;width:min(30%,300px);padding:18px 12px;border-radius:18px 18px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--tema) 34%,var(--base)),var(--base));border:1px solid var(--linha);text-align:center}
.podio span{font-size:clamp(18px,2.2vw,30px);font-weight:800;overflow-wrap:anywhere}.podio b{color:var(--tema);font-size:22px}
.podio i{font-style:normal;font-size:clamp(32px,4vw,60px);font-weight:800;opacity:.8}
.podio-1{min-height:40vh}.podio-2{min-height:30vh}.podio-3{min-height:22vh}
.palco-pe{display:flex;align-items:center;gap:10px;padding:14px clamp(16px,3vw,44px);border-top:1px solid var(--linha)}
.palco-pe .primary{margin-left:auto}

/* ------------------------------------------------------- quem responde */
.responder{min-height:100vh;display:flex;flex-direction:column}
#responder{flex:1;display:flex;flex-direction:column;width:100%;max-width:780px;margin:0 auto;padding:16px}
.resp-centro{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px 8px;width:100%;max-width:440px;margin:0 auto}
.resp-centro.largo{max-width:640px}
.resp-centro h1{font-size:clamp(24px,6vw,34px);font-weight:800;line-height:1.15}
.resp-logo{width:76px;height:76px}
.resp-icone{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--tema) 18%,transparent);color:var(--tema)}
.resp-icone svg{width:44px;height:44px}
.resp-icone.ok{background:rgba(34,197,94,.18);color:var(--ok)}.resp-icone.nao{background:rgba(239,68,68,.18);color:var(--nao)}
.resp-pontos{font-size:26px;font-weight:800;color:var(--tema)}
.codigo-campo{text-align:center;font-size:34px!important;font-weight:800;letter-spacing:.18em;min-height:72px!important}
.resp-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;background:var(--sup);border:1px solid var(--linha);font-weight:700}
.resp-topo b{color:var(--tema)}
.resp-pergunta{flex:1;display:flex;flex-direction:column;gap:14px;padding:22px 2px}
.resp-pergunta h1{font-size:clamp(22px,5.4vw,30px);font-weight:800;line-height:1.2}
.resp-num{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tema)}
.resp-form{display:grid;gap:14px;padding-bottom:60px}
.resp-capa{padding:24px;border-radius:18px;background:var(--sup);border:1px solid var(--linha);border-top:8px solid var(--tema);display:grid;gap:8px}
.resp-capa h1{font-size:clamp(24px,5vw,34px);font-weight:800}.resp-capa p:last-child{color:var(--fraco);line-height:1.5;white-space:pre-wrap}
.resp-cartao{padding:20px;border-radius:18px;background:var(--sup);border:1px solid var(--linha);display:grid;gap:12px}
.resp-cartao.slide{background:transparent;border-style:dashed}.resp-cartao.slide h2{font-size:20px}
.resp-rotulo{display:flex;gap:10px;align-items:flex-start;font-size:17px;font-weight:700;line-height:1.35}
.resp-rotulo b{color:#ff8a8a}
.resp-n{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--tema) 18%,transparent);color:var(--tema);font-size:13px;font-weight:800}
.resp-fim{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.resp-gabarito{display:grid;gap:8px;width:100%;text-align:left}
.resp-gabarito>div{display:flex;gap:10px;padding:11px 13px;border-radius:12px;background:var(--sup);border:1px solid var(--linha)}
.resp-gabarito svg{flex:0 0 auto;width:20px;height:20px}
.resp-gabarito .ok svg{color:var(--ok)}.resp-gabarito .nao svg{color:var(--nao)}
.resp-gabarito b{display:block;font-size:14.5px}.resp-gabarito small{color:var(--fraco)}
.opcoes{display:grid;gap:9px}
.opcao{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border-radius:14px;border:2px solid var(--linha);background:var(--campo);cursor:pointer;transition:border-color .12s,background .12s}
.opcao input{position:absolute;opacity:0;pointer-events:none}
.opcao-letra{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--cor) 24%,transparent);color:var(--cor);font-weight:800;font-size:13px}
.opcao-texto{font-weight:600;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.opcao:has(input:checked){border-color:var(--cor);background:color-mix(in srgb,var(--cor) 16%,transparent)}
.opcao:has(input:checked) .opcao-letra{background:var(--cor);color:#111}
.ao-vivo-grade .opcoes{grid-template-columns:1fr 1fr;gap:12px}
.ao-vivo-grade .opcao{flex-direction:column;justify-content:center;min-height:120px;text-align:center;border-color:var(--cor);background:color-mix(in srgb,var(--cor) 18%,var(--base))}
.ao-vivo-grade .opcao-letra{width:42px;height:42px;background:var(--cor);color:#111;font-size:18px}
.escala,.nps{display:flex;gap:6px}
.escala label,.nps label{flex:1;cursor:pointer}
.escala input,.nps input{position:absolute;opacity:0;pointer-events:none}
.escala span,.nps span{display:grid;place-items:center;gap:2px;min-height:58px;border-radius:12px;border:2px solid var(--linha);background:var(--campo);font-weight:800}
.nps span{min-height:46px;font-size:14px}
.escala svg{width:20px;height:20px}
.escala input:checked+span,.nps input:checked+span{border-color:var(--tema);background:color-mix(in srgb,var(--tema) 22%,transparent);color:var(--tema)}
.nps-pontas{display:flex;justify-content:space-between;color:var(--fraco);font-size:12px}

@media (max-width:1000px){.ed-grade{grid-template-columns:1fr}.ed-lado{position:static;order:-1}.ed-tipos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media (max-width:640px){
  .topo-conta,#topoCodigo span{display:none}
  .ed-barra-acoes{margin-left:0;width:100%}.ed-barra-acoes .btn{flex:1}
  .q-topo{flex-wrap:wrap}.q-topo select{flex:1}.q-tempo{margin-left:0}
  .barra{grid-template-columns:1fr 64px;row-gap:4px}.barra-nome{grid-column:1/-1}
  .palco-opcoes{grid-template-columns:1fr}.palco-opcoes>div{min-height:64px}
  .palco-pino{display:none}
  .modal-caixa{padding:20px}
  .nps{flex-wrap:wrap}.nps label{flex:1 0 14%}
  .res-filtros .segmento{margin-left:0;width:100%}
}
@media print{
  body{background:#fff;color:#111}
  .topo,.ed-barra,.res-filtros,.aviso,.om-instalar,.ochat-botao,.ajuda-om,[data-om-pilha]{display:none!important}
  .card,.res-topo{background:#fff;border-color:#ccc;color:#111;break-inside:avoid}
  .fraco,.res-n,.res-total span,.barra-num small{color:#555}
  .barra-trilho{background:#eee}.textos p{background:#f3f3f3}
  .tabela th{background:#eee;color:#333}.miolo{padding:0;max-width:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* igreja (topo) e rodapé de quem responde */
.igreja{display:flex;align-items:center;gap:12px;margin-bottom:6px;text-align:left}
.igreja img{width:52px;height:52px;border-radius:12px;object-fit:contain;background:#fff;flex:0 0 auto}
.igreja strong{display:block;font-size:16px;font-weight:800}.igreja small{color:var(--fraco);font-size:12.5px}
.resp-centro .igreja{justify-content:center}
.rodape{display:grid;gap:10px;width:100%;max-width:780px;margin:22px auto 0;padding:0 0 26px}
.rodape-igreja{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;color:var(--fraco);font-size:13px}
.rodape-igreja span,.rodape-igreja a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.rodape-igreja svg{width:14px;height:14px}
.rodape-portal{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--linha);background:var(--campo);text-decoration:none;font-size:13.5px;line-height:1.35}
.rodape-portal:hover{border-color:var(--laranja)}
.rodape-portal img{width:34px;height:34px;flex:0 0 auto}
.rodape-portal span{flex:1;min-width:0}.rodape-portal b{color:var(--laranja)}
.rodape-portal small{display:block;color:var(--fraco);font-size:12px}
.rodape-portal>svg{width:18px;height:18px;color:var(--fraco);flex:0 0 auto}
.palco-marca small{margin-left:10px;color:var(--fraco);font-weight:600;font-size:13px}
.palco-marca img{border-radius:8px;object-fit:contain}
/* minha igreja (janela) */
.igreja-form{display:flex;gap:26px;flex-wrap:wrap;margin-top:16px}
.igreja-logo{display:grid;gap:8px;justify-items:center;align-content:start;width:220px}
#logoVer{display:grid;place-items:center;width:160px;height:160px;border-radius:20px;border:1px dashed var(--linha);background:var(--campo);color:var(--fraco);overflow:hidden}
#logoVer img{width:100%;height:100%;object-fit:contain;background:#fff}
#logoVer svg{width:44px;height:44px}
.igreja-campos{flex:1;min-width:280px}
.igreja-campos .rotulo:first-child{margin-top:0}
.linha.fim{justify-content:flex-end;margin:18px 0 0}
/* desafio, roleta e dados */
.opcao.desafio .opcao-letra svg{width:18px;height:18px}
.q-pe.sem-linha{border-top:0;padding-top:0}.q-pe.sem-linha .q-tempo{margin-left:0}
.q-alerta.azul{color:#7cc4f0}
body.claro .q-alerta.azul{color:#0369a1}
.roleta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-height:44vh;overflow:auto;padding:6px}
.roleta span{padding:12px 20px;border-radius:14px;border:2px solid var(--linha);background:var(--campo);font-size:clamp(16px,2vw,26px);font-weight:700;transition:transform .08s,background .08s}
.roleta span.on{background:var(--tema);border-color:var(--tema);color:#161616;transform:scale(1.12)}
.dados{display:flex;gap:22px;justify-content:center}
.dados span{display:grid;place-items:center;width:clamp(96px,14vw,170px);height:clamp(96px,14vw,170px);border-radius:26px;border:3px solid var(--linha);background:var(--campo);font-size:clamp(46px,7vw,92px);font-weight:800}
.dados span.on{border-color:var(--tema);color:var(--tema)}
.sorteio-saida{text-align:center;font-size:clamp(30px,5vw,72px);font-weight:800;min-height:1.3em;opacity:.25}
.sorteio-saida.saiu{opacity:1;color:var(--tema);animation:entra .35s}
@media (max-width:640px){#btnIgreja span{display:none}.igreja-logo{width:100%}}

/* telão: sem os botões flutuantes do portal (Ochat, dúvidas, instalar), que caíam em cima do "Avançar" */
body.no-palco .ochat-botao,body.no-palco .om-duvidas,body.no-palco .om-duvidas-painel,body.no-palco .om-instalar,body.no-palco [data-om-pilha]{display:none!important}
