/* Cartao CNPJ — modal fullscreen + botoes compactos.
   Os estilos das FOLHAS do comprovante ficam no <style id="ccSheetCss"> do partial
   (sao copiados para o iframe de impressao). */
.cc-modal { position: fixed; inset: 0; z-index: 120; display: none; }
.cc-modal.aberto { display: block; }
.cc-modal-fundo { position: absolute; inset: 0; background: rgba(5,5,7,.82); backdrop-filter: blur(4px); }
.cc-modal-caixa { position: relative; z-index: 1; max-width: 940px; margin: 0 auto; height: 100%; display: flex; flex-direction: column; padding: 14px 16px; }
.cc-modal-acoes { display: flex; align-items: center; gap: 12px; padding: 8px 2px 12px; flex-wrap: wrap; }
.cc-modal-scroll { overflow-y: auto; flex: 1; border-radius: 12px; padding-bottom: 10px; display: flex; flex-direction: column; gap: 18px; }
#cartaoDoc { display: flex; flex-direction: column; gap: 18px; }
body.cc-trava { overflow: hidden; }

.cc-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 10px; border: 1px solid transparent;
  background: var(--accent); color: #fff; font-family: var(--body);
  font-size: 14px; font-weight: 600; cursor: pointer; transition: filter .15s;
}
.cc-btn:hover { filter: brightness(1.12); }
.cc-btn--ghost { background: transparent; border-color: var(--line); color: var(--text-dim); }
.cc-btn--ghost:hover { color: var(--text); border-color: var(--text-faint); filter: none; }
.cc-atualizado { color: var(--text-faint); font-size: 12.5px; }
#btnFecharCartao { margin-left: auto; }

.cc-modal-status {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; padding: 60px 20px; color: var(--text-dim); font-size: 15px;
  background: var(--surface); border: 1px solid var(--line-soft); border-radius: 12px;
  max-width: 860px; margin: 0 auto; width: 100%;
}
#ccModalErro p { color: var(--danger); text-align: center; }

@media (max-width: 700px) {
  .cc-modal-caixa { padding: 10px; }
  .cc-sheet { padding: 14px !important; }
  .cc-row { flex-wrap: wrap; }
  .cc-box { flex-basis: 100% !important; }
}

/* Ctrl+P acidental na pagina: nao imprimir o modal por cima (a impressao oficial
   acontece em iframe isolado, via botao). */
@media print {
  .cc-modal { display: none !important; }
}
