/* Escopo: assinatura de contratos e prévia do documento oficial (não altera o PDF original). */
.agp-signature-dialog {box-sizing:border-box; padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; z-index:9999;}
.agp-signature-dialog .agp-signature-panel {min-width:0; max-width:min(100%,720px); max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px); overflow:hidden;}
.agp-signature-dialog .agp-signature-panel > div {min-width:0;}
.agp-signature-dialog .agp-signature-panel form {min-width:0; max-width:100%;}
.agp-signature-dialog .agp-signature-panel :is(input,select,textarea) {min-width:0;max-width:100%;box-sizing:border-box;font-size:max(16px,1rem);}
.agp-signature-dialog canvas {display:block; width:100%; max-width:100%; touch-action:none;}
.agp-signature-dialog .agp-signature-panel .grid {min-width:0;}
.agp-signature-dialog .agp-signature-panel .overflow-y-auto {-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
@media(max-width:600px){
 .agp-signature-dialog{align-items:flex-start;}
 .agp-signature-dialog .agp-signature-panel{margin:0 auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);border-radius:15px;}
 .agp-signature-dialog .agp-signature-panel >div:first-child{padding:12px;}
 .agp-signature-dialog .agp-signature-panel >div:nth-child(2){padding:10px;flex-wrap:wrap;}
 .agp-signature-dialog .agp-signature-panel >div:nth-child(2)>button{flex:1 1 100%;white-space:normal;}
 .agp-signature-dialog .agp-signature-panel form .grid {grid-template-columns:minmax(0,1fr)!important;}
 .agp-signature-dialog .agp-signature-panel form .flex.justify-end {flex-wrap:wrap;gap:8px;}
 .agp-signature-dialog .agp-signature-panel form .flex.justify-end>button{flex:1 1 150px;min-height:44px;}
 .agp-signature-dialog .agp-signature-panel canvas{height:156px;}
}
/* Somente o HTML exibido no visualizador de contrato: neutraliza a herança de texto claro
   sobre linhas brancas, sem mudar parcelas, valores, modelos ou tabelas do financeiro. */
.agp-official-contract-preview {max-width:100%;overflow-x:auto;}
.agp-official-contract-preview table {width:100%;max-width:100%;border-collapse:collapse;}
.agp-official-contract-preview table tr:nth-child(odd) > :is(th,td) {background-color:#f8fafc!important;color:#142235!important;}
.agp-official-contract-preview table tr:nth-child(odd) > :is(th,td) * {color:#142235!important;opacity:1!important;}
.agp-official-contract-preview table tr:nth-child(even) > :is(th,td) {background-color:#101827!important;color:#f8fafc!important;}
.agp-official-contract-preview table tr:nth-child(even) > :is(th,td) * {color:#f8fafc!important;opacity:1!important;}
.agp-official-contract-preview table :is(th,td) {padding:6px 9px;white-space:normal;overflow-wrap:break-word;}
@media(max-width:600px){ .agp-official-contract-preview{font-size:13px;} .agp-official-contract-preview table{font-size:12px;} .agp-official-contract-preview table :is(th,td){padding:5px 4px;} }

/* Ajustes mínimos dos formulários existentes em modais no celular:
   apenas empilhamento, largura e área de toque; nenhuma lógica foi modificada. */
@media(max-width:600px){
  .fixed.inset-0:has(form) form .grid.grid-cols-2,
  .fixed.inset-0:has(form) form .grid.grid-cols-3,
  .fixed.inset-0:has(form) form .grid.grid-cols-4 {grid-template-columns:minmax(0,1fr)!important;}
  .fixed.inset-0:has(form) form :is(input,select,textarea) {max-width:100%;min-width:0;box-sizing:border-box;}
  .fixed.inset-0:has(form) form button {max-width:100%;white-space:normal;overflow-wrap:anywhere;}
  .fixed.inset-0:has(form) :is(.overflow-y-auto,.overflow-auto) {-webkit-overflow-scrolling:touch;}
}
