/* Modal do Super Balizamento.
   Sem dependência de framework: funciona nas telas Bootstrap 3 de hoje e
   continua funcionando depois que o sistema migrar para o Adminator.
   Todo seletor é prefixado para não vazar nem sofrer interferência. */

.sbm-fundo {
    position: fixed; inset: 0; z-index: 10600;
    background: rgba(10, 22, 38, .55);
    display: flex; align-items: center; justify-content: center;
    padding: 24px;
    opacity: 0; transition: opacity .14s ease;
}
.sbm-fundo.sbm-visivel { opacity: 1; }

.sbm-caixa {
    background: #fff; border-radius: 12px;
    width: min(1040px, 100%); max-height: min(880px, 92vh);
    display: flex; flex-direction: column; overflow: hidden;
    box-shadow: 0 24px 64px -18px rgba(10, 22, 38, .5);
    transform: translateY(8px); transition: transform .14s ease;
}
.sbm-fundo.sbm-visivel .sbm-caixa { transform: none; }

.sbm-topo {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 14px 18px; border-bottom: 1px solid #D9E0EA; flex: 0 0 auto;
}
.sbm-titulo {
    margin: 0; font: 600 15px/1.3 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #1F438B; letter-spacing: .2px;
}
.sbm-fechar {
    border: 0; background: transparent; color: #6B7280; cursor: pointer;
    font-size: 24px; line-height: 1; padding: 4px 10px; border-radius: 6px;
}
.sbm-fechar:hover { background: #F1F5FA; color: #15181C; }

.sbm-corpo { flex: 1 1 auto; overflow-y: auto; background: #F7F9FC; }
.sbm-corpo > .sb-escopo > main { margin: 16px auto; }
.sbm-corpo > .sb-escopo > header { display: none; }  /* o título já está na barra do modal */

.sbm-carregando, .sbm-erro {
    padding: 48px 24px; text-align: center;
    font: 14px/1.6 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #6B7280;
}
.sbm-erro { color: #A3221B; }

/* Visualização do PDF, dentro do próprio modal */
.sbm-pdf { display: flex; flex-direction: column; height: 100%; min-height: 460px; }
.sbm-pdf iframe { flex: 1 1 auto; width: 100%; border: 0; background: #525659; }
.sbm-barra {
    display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
    padding: 12px 18px; border-top: 1px solid #D9E0EA; background: #fff; flex: 0 0 auto;
}
.sbm-barra .sbm-msg { color: #6B7280; font-size: 13px; margin-right: auto; }
.sbm-btn {
    border: 1px solid #D9E0EA; background: #fff; color: #1F438B;
    border-radius: 7px; padding: 9px 16px; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none; display: inline-block;
}
.sbm-btn:hover { border-color: #1F438B; }
.sbm-btn-p { background: #1F438B; color: #fff; border-color: #1F438B; }
.sbm-btn-p:hover { background: #255DAB; }

@media (max-width: 640px) {
    .sbm-fundo { padding: 0; }
    .sbm-caixa { max-height: 100vh; border-radius: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .sbm-fundo, .sbm-caixa { transition: none; }
}
