/* Numera v209 — layout final padronizado para as seis ferramentas recriadas de Matemática Superior.
   Objetivo: seguir o padrão das ferramentas maduras, sem reordenar blocos por CSS. */
body.v209-ms-page main{
  display:block !important;
}
body.v209-ms-page .numera-tool-page-header{
  display:block !important;
  padding-top:22px !important;
}
body.v209-ms-page .numera-tool-content{
  display:block !important;
  padding-top:18px !important;
}
body.v209-ms-page .numera-tool-top-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.52fr) minmax(300px,.68fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
body.v209-ms-page .numera-tool-top-grid .numera-tool-hero,
body.v209-ms-page .numera-tool-top-grid .numera-related-top-card{
  min-height:190px !important;
  box-sizing:border-box !important;
}
body.v209-ms-page .numera-related-top-card{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
body.v209-ms-page .numera-related-top-card .numera-related-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
body.v209-ms-page .numera-tool-explain{
  display:grid !important;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr) !important;
  gap:16px !important;
  align-items:stretch !important;
  margin:0 0 18px !important;
}
body.v209-ms-page .numera-tool-explain > .numera-info-card{
  min-width:0 !important;
}
body.v209-ms-page .numera-v93-tool-panel.ms163-shell{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap:18px !important;
  align-items:start !important;
  margin:0 0 18px !important;
  overflow:visible !important;
  padding:24px !important;
}
body.v209-ms-page .ms163-left,
body.v209-ms-page .ms163-right{
  min-width:0 !important;
  align-self:start !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  position:static !important;
  top:auto !important;
}
body.v209-ms-page .ms163-left{grid-column:1 !important;}
body.v209-ms-page .ms163-right{grid-column:2 !important;}
body.v209-ms-page .ms163-card,
body.v209-ms-page .ms163-visual{
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  background:#fff !important;
  border:1px solid rgba(31,41,55,.12) !important;
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
  padding:16px !important;
}
body.v209-ms-page .ms163-left > article[id$="Solution"]{
  border-color:#efd38e !important;
  background:linear-gradient(180deg,#fffaf0,#fffdf8) !important;
}
body.v209-ms-page .ms163-right > .numera-v94-representations-title{
  background:linear-gradient(135deg,#f8fafc,#eef2ff) !important;
  border-color:#dbeafe !important;
}
body.v209-ms-page .ms163-visual{
  overflow:hidden !important;
  cursor:zoom-in !important;
}
body.v209-ms-page .ms163-visual > div{
  min-height:170px !important;
  display:grid !important;
  align-items:center !important;
}
body.v209-ms-page .ms163-visual svg{
  width:100% !important;
  height:auto !important;
  max-height:260px !important;
  display:block !important;
}
body.v209-ms-page .ms163-caption{
  margin:8px 0 0 !important;
  color:#64748b !important;
  font-size:.86rem !important;
  line-height:1.35 !important;
}
body.v209-ms-page .ms163-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.v209-ms-page .ms163-grid-3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.v209-ms-page .ms163-grid-4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.v209-ms-page .ms163-field{
  display:grid !important;
  gap:6px !important;
  min-width:0 !important;
}
body.v209-ms-page .ms163-field label{
  font-weight:800 !important;
  color:#334155 !important;
  font-size:.9rem !important;
}
body.v209-ms-page .ms163-field input,
body.v209-ms-page .ms163-field select,
body.v209-ms-page .ms163-field textarea,
body.v209-ms-page .ms163-card input:not([type="button"]):not([type="submit"]):not([type="reset"]),
body.v209-ms-page .ms163-card select,
body.v209-ms-page .ms163-card textarea,
body.v209-ms-page .ala-row input{
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #cbd5e1 !important;
  border-radius:12px !important;
  padding:10px 11px !important;
  min-height:42px !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  font:inherit !important;
}
body.v209-ms-page .ala-row input{text-align:center !important;}
body.v209-ms-page .ms163-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:9px !important;
  margin-top:12px !important;
}
body.v209-ms-page .ms163-actions button{
  border:0 !important;
  border-radius:10px !important;
  min-height:38px !important;
  padding:9px 14px !important;
  font-weight:850 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
body.v209-ms-page .ms163-primary{background:#2563eb !important;color:#fff !important;}
body.v209-ms-page .ms163-secondary{background:#e2e8f0 !important;color:#0f172a !important;}
body.v209-ms-page .ms163-danger{background:#eef4fb !important;color:#0b66f0 !important;}
body.v209-ms-page .ms163-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
body.v209-ms-page .ms163-metric{
  min-width:0 !important;
  border-radius:14px !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  padding:11px !important;
}
body.v209-ms-page .ms163-metric[data-tone="good"]{background:#ecfdf5 !important;border-color:#bbf7d0 !important;}
body.v209-ms-page .ms163-metric[data-tone="warn"]{background:#fffbeb !important;border-color:#fde68a !important;}
body.v209-ms-page .ms163-metric[data-tone="bad"]{background:#fff1f2 !important;border-color:#fecdd3 !important;}
body.v209-ms-page .ms163-table-scroll{
  max-height:360px !important;
  overflow:auto !important;
  border-radius:14px !important;
  border:1px solid #e2e8f0 !important;
}
body.v209-ms-page .ms163-table{
  width:100% !important;
  border-collapse:collapse !important;
  font-size:.92rem !important;
}
body.v209-ms-page .ms163-table th,
body.v209-ms-page .ms163-table td{
  padding:8px 9px !important;
  border-bottom:1px solid #e2e8f0 !important;
  text-align:left !important;
  vertical-align:top !important;
}
body.v209-ms-page .ms163-table th{
  position:sticky !important;
  top:0 !important;
  background:#f8fafc !important;
  color:#334155 !important;
  z-index:1 !important;
}
body.v209-ms-page .ms163-error:empty{display:none !important;}
body.v209-ms-page .ms163-step{
  display:grid !important;
  gap:10px !important;
  padding:12px !important;
  border-radius:16px !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  margin-bottom:12px !important;
}
body.v209-ms-page .ms163-note{
  padding:10px 12px !important;
  border-radius:14px !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  color:#475569 !important;
  margin:10px 0 !important;
}
body.v209-ms-page .numera-tool-content > .numera-info-card{
  margin-top:0 !important;
}
@media(max-width:980px){
  body.v209-ms-page .numera-tool-top-grid,
  body.v209-ms-page .numera-tool-explain,
  body.v209-ms-page .numera-v93-tool-panel.ms163-shell{
    grid-template-columns:1fr !important;
  }
  body.v209-ms-page .ms163-left,
  body.v209-ms-page .ms163-right{
    grid-column:1 !important;
  }
  body.v209-ms-page .ms163-grid-3,
  body.v209-ms-page .ms163-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  body.v209-ms-page .ms163-grid,
  body.v209-ms-page .ms163-grid-3,
  body.v209-ms-page .ms163-grid-4,
  body.v209-ms-page .ms163-metrics{
    grid-template-columns:1fr !important;
  }
  body.v209-ms-page .ms163-card,
  body.v209-ms-page .ms163-visual{
    padding:13px !important;
  }
}


/* v209 — ajuste restrito ao modal de zoom das seis ferramentas de Matemática Superior.
   Não altera tamanho, proporção nem aparência das representações na página da ferramenta. */
body.v209-ms-page .numera-v94-zoom-overlay,
body.v209-ms-page .numera-v93-zoom-overlay,
body.v209-ms-page .numera-zoom-overlay{
  padding:10px !important;
  overflow:hidden !important;
}
body.v209-ms-page .numera-v94-zoom-modal,
body.v209-ms-page .numera-v93-zoom-modal,
body.v209-ms-page .numera-zoom-panel{
  width:min(1400px,96vw) !important;
  max-width:min(1400px,96vw) !important;
  min-width:min(720px,96vw) !important;
  height:min(900px,92vh) !important;
  max-height:92vh !important;
  min-height:min(560px,92vh) !important;
  padding:52px 18px 18px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
body.v209-ms-page .numera-v94-zoom-content,
body.v209-ms-page .numera-v93-zoom-content,
body.v209-ms-page .numera-v94-zoom-stage{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  display:grid !important;
  place-items:stretch !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.v209-ms-page .numera-v94-zoom-clone,
body.v209-ms-page .numera-v93-zoom-modal .numera-v93-visual-card,
body.v209-ms-page .numera-zoom-panel .calc-visual-card,
body.v209-ms-page .numera-zoom-panel .po-visual-card,
body.v209-ms-page .numera-zoom-panel .mb-visual-card{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  margin:0 !important;
  box-shadow:none !important;
}
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual{
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  gap:10px !important;
  padding:18px !important;
}
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual > h3,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual > h3,
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual > .ms163-caption,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual > .ms163-caption{
  flex:0 0 auto !important;
  margin:0 !important;
  line-height:1.25 !important;
  overflow:visible !important;
}
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual > div,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual > div{
  min-width:0 !important;
  min-height:0 !important;
  width:100% !important;
  height:100% !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual svg,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual svg,
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual img,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual img,
body.v209-ms-page .numera-v94-zoom-clone.ms163-visual canvas,
body.v209-ms-page .numera-v94-zoom-clone .ms163-visual canvas{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
@media(max-width:900px){
  body.v209-ms-page .numera-v94-zoom-modal,
  body.v209-ms-page .numera-v93-zoom-modal,
  body.v209-ms-page .numera-zoom-panel{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    min-width:0 !important;
    height:calc(100vh - 16px) !important;
    max-height:calc(100vh - 16px) !important;
    min-height:0 !important;
    padding:48px 10px 10px !important;
  }
}
