/* Gestor PRO Fiscal V18 — responsividade por espaco, sem encolher tipografia.
   Reorganiza componentes e preserva scroll interno em monitores menores. */

#fiscalModal .fiscal-shell,
#fiscalModal .fiscal-body,
#fiscalModal .fiscal-panel{min-width:0 !important}

/* Notebook / monitor compacto (1280–1366): usa mais area util. */
@media (min-width:901px) and (max-width:1366px){
  #fiscalModal.fiscal-modal-overlay{padding:10px !important}
  #fiscalModal .fiscal-shell{
    width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:17px !important;
  }
  #fiscalModal .fiscal-head{padding:16px 20px 13px !important}
  #fiscalModal .fiscal-dev-banner{margin:11px 20px 9px !important}
  #fiscalModal .fiscal-tabs{padding:0 20px 10px !important}
  #fiscalModal .fiscal-body{padding:4px 20px 22px !important}
}

/* Largura de tablet/notebook estreito: reorganiza blocos, sem reduzir letras. */
@media (min-width:901px) and (max-width:1100px){
  #fiscalModal .fiscal-readiness-list{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-draft-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  #fiscalModal .fiscal-draft-kpis>div:last-child{grid-column:1/-1 !important}
  #fiscalModal .fiscal-service-editor{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-service-editor .wide{grid-column:auto !important}
}

/* Telas baixas, como 1366x768 e 1280x720: economiza apenas espaco do chrome.
   Fontes/campos mantem seus tamanhos; o corpo continua rolando. */
@media (min-width:901px) and (max-height:780px){
  #fiscalModal.fiscal-modal-overlay{padding:8px !important}
  #fiscalModal .fiscal-shell{
    height:calc(100dvh - 16px) !important;
    width:calc(100vw - 16px) !important;
    border-radius:16px !important;
  }
  #fiscalModal .fiscal-head{padding:12px 18px 10px !important}
  #fiscalModal .fiscal-icon{width:40px !important;height:40px !important;flex-basis:40px !important}
  #fiscalModal .fiscal-dev-banner{margin:9px 18px 8px !important;padding:10px 12px !important}
  #fiscalModal .fiscal-tabs{padding:0 18px 8px !important}
  #fiscalModal .fiscal-body{padding:3px 18px 18px !important;max-height:none !important}
}

/* Mobile/tablet: tela cheia e uma coluna quando o espaco pedir. */
@media (max-width:900px){
  #fiscalModal.fiscal-modal-overlay{padding:0 !important}
  #fiscalModal .fiscal-shell{
    width:100vw !important;height:100dvh !important;
    max-width:100vw !important;max-height:100dvh !important;
    border-radius:0 !important;
  }
  #fiscalModal .fiscal-body{max-height:none !important;overflow-y:auto !important}
  #fiscalModal .fiscal-readiness-list{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-preview-grid{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-preview-grid .wide{grid-column:auto !important}
  #fiscalModal .fiscal-draft-details{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-service-picker,
  #fiscalModal .fiscal-service-editor{grid-template-columns:1fr !important}
}

/* Celular estreito: acoes empilhadas e abas rolaveis horizontalmente. */
@media (max-width:560px){
  #fiscalModal .fiscal-tabs{
    display:flex !important;overflow-x:auto !important;overflow-y:hidden !important;
    flex-wrap:nowrap !important;scrollbar-width:none !important;
  }
  #fiscalModal .fiscal-tabs::-webkit-scrollbar{display:none !important}
  #fiscalModal .fiscal-tab{flex:0 0 auto !important;white-space:nowrap !important}
  #fiscalModal .fiscal-readiness-foot{align-items:stretch !important;flex-direction:column !important;gap:10px !important}
  #fiscalModal .fiscal-readiness-fix{width:100% !important}
  #fiscalModal .fiscal-draft-actions{grid-template-columns:1fr !important}
  #fiscalModal .fiscal-service-item>div:last-child{display:grid !important;grid-template-columns:1fr !important;width:100% !important}
}

/* Landscape baixo (celular/tablet deitado): garante acesso ao conteudo. */
@media (max-height:560px){
  #fiscalModal .fiscal-body{overflow-y:auto !important;min-height:0 !important}
}
