/* Popup de confirmação (confirmar.js): mesmo visual da janela de retenção. Tokens do painel com
   os do admin como alternativa. */
.confirmar{color:var(--tinta,var(--texto));background:var(--papel,var(--superficie));border:1px solid var(--borda,var(--linha));border-radius:var(--raio-bloco,16px);padding:clamp(20px,5vw,28px);width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 1px 2px rgba(16,40,63,.06),0 24px 48px -20px rgba(16,40,63,.35)}
.confirmar::backdrop{background:rgba(16,40,63,.55);backdrop-filter:blur(4px)}
.confirmar-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.confirmar-selo{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--erro-fundo,var(--critico-fundo));color:var(--erro-texto,var(--critico))}
.confirmar-selo svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 85%}
.confirmar-fechar{flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:-8px -8px 0 0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--suave);cursor:pointer}
.confirmar-fechar:hover{background:var(--fundo);color:var(--tinta,var(--texto))}
.confirmar-fechar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.confirmar-fechar:hover svg{transform:rotate(90deg)}
.confirmar h2{margin:16px 0 0;font-size:1.3rem;font-weight:650;line-height:1.25;text-wrap:balance}
.confirmar p{margin:8px 0 0;color:var(--suave);line-height:1.55}
.confirmar p:empty{display:none}
.confirmar-acoes{display:grid;gap:10px;margin-top:22px}
.confirmar-acoes>*,.confirmar-acoes form>button{width:100%;margin:0}
.confirmar-acoes form{margin:0}
.confirmar :is(.perigo,.secundario){display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 20px;border-radius:var(--raio,10px);font:inherit;font-weight:600;cursor:pointer;transition:transform .12s ease-out,filter .15s ease}
.confirmar .perigo{background:var(--erro-texto,var(--critico));border:1px solid var(--erro-texto,var(--critico));color:var(--papel,var(--superficie))}
.confirmar .perigo:hover{filter:brightness(.9);background:var(--erro-texto,var(--critico))}
.confirmar .secundario{background:var(--papel,var(--superficie));border:1px solid var(--borda-forte,var(--linha-forte));color:var(--tinta,var(--texto))}
.confirmar .secundario:hover{background:var(--fundo)}
.confirmar :is(.perigo,.secundario):active{transform:scale(.97)}
/* Entra com mola; sai rápido; a lixeira balança ao abrir. Só transform/opacity. */
@media(prefers-reduced-motion:no-preference){
  .confirmar[open]{animation:confirmar-entrar .3s cubic-bezier(.23,1,.32,1)}
  .confirmar[open]::backdrop{animation:confirmar-fundo .3s ease-out}
  .confirmar.saindo{animation:confirmar-sair .16s ease-out forwards}
  .confirmar.saindo::backdrop{animation:confirmar-fundo .16s ease-out reverse forwards}
  .confirmar[open] .confirmar-selo svg{animation:confirmar-balanca .5s cubic-bezier(.23,1,.32,1) .15s}
  @keyframes confirmar-entrar{from{opacity:0;transform:translateY(14px) scale(.97)}}
  @keyframes confirmar-sair{to{opacity:0;transform:translateY(8px) scale(.98)}}
  @keyframes confirmar-fundo{from{opacity:0}}
  @keyframes confirmar-balanca{25%{transform:rotate(12deg)}50%{transform:rotate(-9deg)}75%{transform:rotate(4deg)}}
}
main[data-area] .confirmar :is(.confirmar-fechar,.confirmar-selo)>.ic{margin:0}
.confirmar-acoes :is(button,a) svg{width:18px;height:18px;margin-right:8px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:no-preference){.confirmar-acoes .perigo:hover svg{animation:confirmar-balanca .45s cubic-bezier(.23,1,.32,1)}.confirmar-acoes .secundario:hover svg{transform:translateX(-2px);transition:transform .2s cubic-bezier(.23,1,.32,1)}}
main[data-area] .confirmar .confirmar-selo>.ic{width:24px;height:24px}
.outro-motivo{display:block;width:100%;box-sizing:border-box}
.confirmar-acoes>.outro-motivo{align-self:stretch}
.outro-motivo summary{box-sizing:border-box;display:flex;width:100%;justify-content:center;align-items:center;min-height:48px;padding:0 16px;border:1.5px solid var(--erro-texto,var(--critico));border-radius:var(--raio,10px);color:var(--erro-texto,var(--critico));background:transparent;font-size:1rem;font-weight:600;cursor:pointer;list-style:none;transition:background .15s ease,transform .16s cubic-bezier(.23,1,.32,1)}
.outro-motivo summary:hover{background:var(--erro-fundo,var(--critico-fundo))}
.outro-motivo summary:active{transform:scale(.97)}
.outro-motivo summary::-webkit-details-marker{display:none}
.outro-motivo[open] summary{display:none}
.outro-motivo form{display:grid;gap:12px;padding:16px;border-radius:var(--raio,10px);background:var(--fundo,#f4f6f8);box-shadow:inset 0 0 0 1.5px var(--erro-texto,var(--critico))}
.outro-motivo label{margin:0;font-weight:650}
.outro-motivo textarea{width:100%;box-sizing:border-box;margin-top:8px;font:inherit;font-weight:400}
.outro-motivo button{width:100%}
@media(prefers-reduced-motion:no-preference){.outro-motivo[open] form{animation:outro-entra .22s cubic-bezier(.23,1,.32,1)}@keyframes outro-entra{from{opacity:0;transform:translateY(-6px) scale(.98)}}}
.acoes-pagina{max-width:440px}
main[data-area] .bloco .acoes-pagina details.outro-motivo{margin:0;padding:0;border:0}
main[data-area] .bloco .acoes-pagina details.outro-motivo>summary{color:var(--erro-texto,var(--critico));border-radius:999px}
.acoes-pagina form.em-linha{display:block}
.acoes-pagina .outro-motivo form{border-radius:20px}
.acoes-pagina form.em-linha button{min-height:48px;font-size:1rem}
