/* Layout local dos blocos compartilhados de Contratação e Substituição.
   Não altera visibilidade, campos, valores ou comportamento dos formulários. */
#modalSolicitacao #boxQuadrantesRequisitos,
#modalSolicitacao #boxBeneficiosComplementares {
  grid-column: 1 / -1;
  min-width: 0;
}

/* A grade do modal já fornece as margens laterais; evitar recuo duplicado. */
#modalSolicitacao #boxQuadrantesRequisitos,
#modalSolicitacao #boxBeneficiosComplementares,
#modalSolicitacao:has(#sTipo option[value="Aumento de Quadro"]:checked) #impactoBox,
#modalSolicitacao:has(#substituicaoInformativa:not([hidden])) #impactoBox {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* As áreas inferiores acompanham a largura dos requisitos, somente nos
   tipos que utilizam os quadrantes. Os outros formulários mantêm o layout. */
#modalSolicitacao:has(#sTipo option[value="Aumento de Quadro"]:checked) .field:has(> #sJustificativa),
#modalSolicitacao:has(#sTipo option[value="Aumento de Quadro"]:checked) #boxAtividades,
#modalSolicitacao:has(#sTipo option[value="Aumento de Quadro"]:checked) #boxRequisitos,
#modalSolicitacao:has(#sTipo option[value="Aumento de Quadro"]:checked) .field:has(> #impactoBox),
#modalSolicitacao:has(#substituicaoInformativa:not([hidden])) .field:has(> #sJustificativa),
#modalSolicitacao:has(#substituicaoInformativa:not([hidden])) #boxAtividades,
#modalSolicitacao:has(#substituicaoInformativa:not([hidden])) #boxRequisitos,
#modalSolicitacao:has(#substituicaoInformativa:not([hidden])) .field:has(> #impactoBox) {
  grid-column: 1 / -1;
  min-width: 0;
}

#modalSolicitacao #boxQuadrantesRequisitos .equipamentos-card {
  grid-column: 1 / -1;
}

#modalSolicitacao #boxQuadrantesRequisitos .equipamentos-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#modalSolicitacao #boxQuadrantesRequisitos .equipamentos-grid label {
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}

#modalSolicitacao #boxQuadrantesRequisitos .equipamentos-grid input[type="checkbox"] {
  flex: 0 0 15px;
  min-width: 15px;
  min-height: 15px;
}

@media (max-width: 820px) {
  #modalSolicitacao #boxQuadrantesRequisitos .equipamentos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  #modalSolicitacao #boxQuadrantesRequisitos .equipamentos-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Hierarquia visual do formulário; nenhum display de campo é imposto. */
#modalSolicitacao .solicitacao-secao{grid-column:1/-1;font-size:14px;font-weight:700;color:#051C3D;margin:8px 0 0;padding:8px 0;border-bottom:1px solid #D3DAE7;line-height:1.4}
#modalSolicitacao .field>label.solicitacao-titulo-campo{font-size:14px;color:#051C3D;margin:8px 0 12px;padding:8px 0;border-bottom:1px solid #D3DAE7}
#modalSolicitacao .solicitacao-step-note{border:1px solid #CBDCFB;border-radius:8px;background:#EDF3FE;color:#1F50CD;padding:12px 16px;font-size:12px}
#modalSolicitacao .modal-actions{position:sticky;bottom:0;background:#FDFDFD;z-index:4;border-top:1px solid #D3DAE7;padding:16px 22px;margin-top:16px;flex-wrap:wrap}
#modalSolicitacao #impactoBox{border:1px solid #D3DAE7;border-radius:8px;background:#F5F8FD;color:#162B47;line-height:1.7;padding:16px}
#modalSolicitacao .quadrante-card,#modalSolicitacao .quadrante-beneficios{border-radius:8px;box-shadow:none}
#modalSolicitacao input,#modalSolicitacao select,#modalSolicitacao textarea{border-radius:8px;font-size:13px}
