/* Diálogo do sistema (dialogo.js) e tela de carregamento da partida. */
.cq-dialogo { position: fixed; inset: 0; z-index: 250; display: grid; padding: 20px; place-items: center; }
.cq-dialogo__fundo { position: absolute; inset: 0; background: color-mix(in srgb, #04121a 62%, transparent); backdrop-filter: blur(3px); animation: cq-dlg-fundo 160ms ease-out; }
.cq-dialogo__cartao { position: relative; display: grid; gap: 10px; width: min(480px, 100%); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 24px 24px 18px; border: 1px solid var(--nx-line); border-radius: 18px; background: var(--nx-surface); color: var(--nx-ink); box-shadow: 0 30px 70px -28px rgba(4, 18, 26, 0.6); animation: cq-dlg-entra 180ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.cq-dialogo--saindo { opacity: 0; transition: opacity 130ms ease-in; }
@keyframes cq-dlg-fundo { from { opacity: 0; } }
@keyframes cq-dlg-entra { from { opacity: 0; transform: translateY(8px) scale(0.97); } }
.cq-dialogo__ic { display: grid; width: 40px; height: 40px; border-radius: 12px; background: var(--nx-info-bg); color: var(--nx-teal-600); font-size: 17px; place-items: center; }
.cq-dialogo__cartao--perigo .cq-dialogo__ic { background: var(--nx-crit-bg); color: var(--nx-crit); }
.cq-dialogo h2 { margin: 2px 0 0; font-size: 17px; letter-spacing: -0.01em; line-height: 1.35; text-wrap: balance; }
.cq-dialogo p { margin: 0; color: var(--nx-ink-2); font-size: 13.2px; line-height: 1.6; white-space: pre-line; }
.cq-dialogo label { display: grid; gap: 5px; margin-top: 2px; color: var(--nx-ink-2); font-size: 12.4px; font-weight: 600; line-height: 1.5; white-space: pre-line; }
.cq-dialogo .nx-input, .cq-dialogo .nx-textarea { width: 100%; box-sizing: border-box; font-size: 13.5px; }
.cq-dialogo__sug { display: grid; gap: 6px; }
.cq-dialogo__sug > small { color: var(--nx-ink-3); font-size: 11.4px; font-weight: 600; }
.cq-dialogo__sug > div { display: flex; flex-wrap: wrap; gap: 6px; max-height: 116px; overflow-y: auto; padding: 2px; }
.cq-dialogo__sug .nx-chip { cursor: pointer; font-size: 11.6px; }
.cq-dialogo__erro { color: var(--nx-crit); font-size: 12px; font-weight: 600; }
.cq-dialogo__erro[hidden] { display: none; }
.cq-dialogo footer { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
@media (max-width: 520px) { .cq-dialogo { place-items: end center; padding: 12px; } .cq-dialogo footer { flex-direction: column-reverse; } .cq-dialogo footer .nx-btn { justify-content: center; min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .cq-dialogo__cartao, .cq-dialogo__fundo { animation: none; } }

/* Carregando: no lugar da tela em branco enquanto o caso chega. */
.cq-carregando { display: grid; gap: 14px; justify-items: center; margin-top: 22vh; color: var(--nx-ink-3); font-size: 13px; }
.cq-carregando img { width: 54px; opacity: 0.9; animation: cq-pulsa 1.4s ease-in-out infinite; }
.cq-carregando span { display: block; width: 160px; height: 3px; overflow: hidden; border-radius: 999px; background: var(--nx-surface-2); }
.cq-carregando span::after { display: block; width: 40%; height: 100%; border-radius: inherit; background: var(--nx-teal-500); content: ""; animation: cq-corre 1.1s ease-in-out infinite; }
@keyframes cq-pulsa { 50% { opacity: 0.45; transform: scale(0.96); } }
@keyframes cq-corre { from { transform: translateX(-110%); } to { transform: translateX(270%); } }
@media (prefers-reduced-motion: reduce) { .cq-carregando img, .cq-carregando span::after { animation: none; } }
