/* módulo ia_extras */
.ia-chat{display:flex;flex-direction:column;min-height:520px}
.ia-msgs{flex:1;overflow:auto;max-height:60vh;padding:.25rem .25rem .5rem;display:flex;flex-direction:column;gap:.6rem}
.ia-msg{max-width:85%}.ia-msg .b{padding:.65rem .9rem;border-radius:14px;font-size:.93rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.ia-msg.me{align-self:flex-end}.ia-msg.me .b{background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.ia-msg.bot .b{background:var(--brand-50);color:var(--ink);border-bottom-left-radius:4px}
.ia-msg .b a{text-decoration:underline}.ia-msg .t{font-size:.7rem;color:var(--muted);margin:.15rem .4rem 0}
.ia-msg.pensando .b{opacity:.7;font-style:italic}
.ia-sug{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.ia-sug .pill{cursor:pointer;border:1px solid var(--line);background:#fff}
.ia-form{display:flex;gap:.5rem}.ia-form input{flex:1}
.faq-item{border-bottom:1px solid var(--line);padding:.45rem 0}.faq-item summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.faq-item div{padding:.4rem 0 .2rem;color:var(--muted)}
.acoes .acao-row,.rot-rows .rot-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.4rem;margin-bottom:.4rem}
.acoes .acao-row input,.rot-rows .rot-row input{margin:0}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem}.galeria.compacta{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}
.galeria .foto{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#f1f5f9;aspect-ratio:4/3;cursor:pointer;display:block;border:1px solid var(--line)}
.galeria .foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.galeria .foto:hover img{transform:scale(1.03)}
.galeria .foto figcaption{position:absolute;left:.4rem;right:.4rem;bottom:.4rem;display:flex;justify-content:space-between;align-items:center}
.galeria .foto.erro{outline:2px solid var(--danger)}
.progress{height:6px;background:var(--line);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);border-radius:999px}
.variacao .rich{background:#f8fafc;border-radius:10px;padding:.9rem}
/* cerimonial (página pública) */
.cer{max-width:640px;margin:0 auto;min-height:100vh;background:#fff}
.cer-head{background:linear-gradient(135deg,var(--cer,#4f46e5),#7c3aed);color:#fff;padding:1.25rem 1.1rem 1rem}.cer-head h1{font-size:1.35rem;margin:.15rem 0 .3rem;font-weight:800}
.cer-now{margin-top:.6rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:1.1rem;display:flex;gap:.6rem;align-items:baseline}
.cer-tabs{display:flex;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}.cer-tabs a{flex:1;text-align:center;padding:.75rem .3rem;font-size:.85rem;font-weight:600;color:var(--muted);border-bottom:3px solid transparent}.cer-tabs a.active{color:var(--cer,#4f46e5);border-color:var(--cer,#4f46e5)}
.cer-tabs .badge{background:var(--brand-50);color:var(--brand);font-size:.65rem;padding:.05rem .4rem;border-radius:999px;margin-left:.2rem}
.cer-sec{display:none;padding:1rem 1.1rem}.cer-sec.active{display:block}
.cer-rot{list-style:none;margin:0;padding:0}.cer-rot li{display:flex;gap:.9rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.cer-rot time{font-weight:800;min-width:52px;color:var(--cer,#4f46e5);font-variant-numeric:tabular-nums}
.cer-rot li.passado{opacity:.45}.cer-rot li.agora{background:var(--brand-50);margin:0 -1.1rem;padding-left:1.1rem;padding-right:1.1rem;border-radius:8px}
.cer-check{list-style:none;margin:0;padding:0}.cer-check li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.cer-check .check{font-size:1rem}.cer-check .check input{width:22px;height:22px}
.cer-check li.done span{text-decoration:line-through;color:var(--muted)}
.cer-cts{list-style:none;margin:0;padding:0}.cer-cts li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
#cer-notas{width:100%}
@media(max-width:640px){.acoes .acao-row,.rot-rows .rot-row{grid-template-columns:1fr}.ia-msgs{max-height:50vh}}

/* ia_extras v2 */
.pill.ativo{background:var(--brand);color:#fff;border-color:var(--brand)}
.duvida .pergunta{border-left:3px solid var(--brand);background:var(--brand-50);margin:.5rem 0;padding:.6rem .9rem;border-radius:0 10px 10px 0;font-size:.93rem}
.duvida .resposta-final{background:#f0fdf4;border-radius:10px;padding:.7rem .9rem;margin-top:.5rem}
.lead-resumo{font-size:1.05rem;line-height:1.65}
.resumo-item{padding:.5rem 0;border-bottom:1px solid var(--line)}.resumo-item:last-child{border:0}
.timeline-dia{list-style:none;margin:0;padding:0}
.timeline-dia li{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.timeline-dia li:last-child{border:0}.timeline-dia .ic{color:var(--brand);flex:0 0 20px}
.risco{border-left:3px solid var(--line);padding:.55rem .8rem;margin:.5rem 0;background:#f8fafc;border-radius:0 10px 10px 0}
.risco-alto{border-color:var(--danger);background:var(--danger-50)}
.risco-medio{border-color:var(--warning);background:#fffbeb}
.risco-baixo{border-color:var(--info,#0ea5e9);background:#f0f9ff}
.risco blockquote{margin:.35rem 0;color:var(--muted);font-style:italic}
.barra-presenca{position:relative;height:14px;background:var(--line);border-radius:999px;overflow:hidden}
.barra-presenca .faixa{position:absolute;top:0;bottom:0;background:rgba(79,70,229,.28)}
.barra-presenca .marca{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--brand);border-radius:2px}
.dup .cadastro{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:.8rem;cursor:default}
.dup .cadastro.escolhivel{cursor:pointer}
.dup .cadastro:has(input:checked){border-color:var(--brand);background:var(--brand-50)}
.dup .cadastro input{margin-top:.25rem}
.dup .kv{grid-template-columns:max-content 1fr;gap:.15rem .7rem;margin:.4rem 0}
.mapa select{margin:0}
.busca-box .input-group{width:100%}
.grafico-ia{width:100%;height:90px}
.legenda-card textarea{font-size:.9rem}
