.ans-idss,
.ans-idss *{
  font-family: Verdana, Geneva, sans-serif !important;
}

.ans-idss{
  color:#222;
}

.ans-idss-title{
  text-align:center;
  color:#6b8e23;
  font-weight:700;
  margin: 0 0 10px 0;
}

.ans-idss-center{
  display:block;
  margin: 0 auto 10px auto;
}

.ans-idss-row{
  display:flex;
  gap: 20px;
  justify-content:space-between;
  align-items:flex-start;
  padding: 6px 0 12px 0;
  border-top:1px solid #eee;
}

.ans-idss-left{
  flex: 1 1 auto;
}

.ans-idss-right{
  flex: 0 0 240px;
  max-width: 240px;
}

.ans-idss-subtitle{
  font-size:14px;
  margin: 4px 0 6px 0;
}

.sections{
  border-top:1px solid #eee;
}

.section{
  border-top:1px solid #eee;
  padding: 14px 0;
}

.ans-idss-section-row{
  display:flex;
  gap:20px;
  justify-content:space-between;
  align-items:flex-start;
}

.ans-idss-section-left{flex: 1 1 auto;}
.ans-idss-section-right{flex: 0 0 240px; max-width:240px;}

.ans-idss-desc{margin: 8px 0; font-size:13px; color:#333;}

/* Barra */
.bar-wrap{margin: 6px 0;}
.bar-wrap.compact{margin: 4px 0;}

.scale{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#111;
  margin: 0 0 2px 0;
}

.bar{
  position: relative;
  border: none;
  background: none;
  height: auto;
}
.bar.bar-svg{ line-height: 0; }
.ans-idss-svgbar{
  width: 100%;
  height: auto;
  display: block;
}


.bar-num{
  text-align:center;
  font-weight:bold;
  margin-top:4px;
}

.bar-below-label{
  text-align:center;
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}

/* “Ver mais informações” */
.ans-idss-more summary{
  cursor:pointer;
  color:#1a0dab;
  font-size:13px;
  user-select:none;
}

.ans-idss-more p{
  margin: 8px 0 0 0;
  font-size: 13px;
  color:#333;
}

.ans-idss-meta{margin-top:10px; color:#555;}

/* Evolução (gráficos de anos anteriores) */
.ans-idss-evolucao-title{
  margin: 18px 0 6px 0;
  font-size: 16px;
}

.ans-idss-evolucao-note{
  margin: 0 0 10px 0;
  font-size: 13px;
  color:#333;
}

.ans-idss-chart-wrap{
  margin: 8px 0 18px 0;
}

.ans-idss-chart-inner{
  display:flex;
  align-items:stretch;
  gap: 8px;
}

.ans-idss-chart-ycol{
  position: relative;
  width: 62px;
  min-width: 62px;
}

.ans-idss-chart-ytitle{
  position:absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-weight:700;
  font-size:12px;
  line-height: 1.05;
  text-align:center;
  letter-spacing: 0.5px;
}

.ans-idss-chart-ytick{
  position:absolute;
  right: 2px;
  top: 0;
  font-size:12px;
  font-weight:700;
}

.ans-idss-chart-plot{
  flex: 1 1 auto;
  height: 240px;
  border: 1px solid #000;
  position: relative;
  background-image: linear-gradient(to top, rgba(0,0,0,0.25) 1px, transparent 1px);
  background-size: 100% 20%;
  background-repeat: repeat-y;
  overflow-x: auto;
}

.ans-idss-chart-bars{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  display:flex;
  align-items:stretch;
  gap: 12px;
  padding: 10px 14px 8px 14px;
  min-width: max-content;
}

/* Combo + Modal (anos anteriores) */
.ans-idss-anos-label{
  margin: 10px 0 6px 0;
  font-size: 14px;
}

.ans-idss-anos-combo{
  width: 100%;
  max-width: 380px;
  padding: 10px 12px;
  border: 1px solid #bbb;
  border-radius: 6px;
  font-size: 14px;
}

.ans-idss-modal{
  display: none;
}

.ans-idss-modal.is-open{
  display: block;
}

.ans-idss-modal__overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 99998;
}

.ans-idss-modal__card{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(920px, calc(100vw - 28px));
  max-height: min(92vh, 860px);
  overflow: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
  padding: 18px 18px 16px 18px;
  z-index: 99999;
}

.ans-idss-modal__close{
  position: sticky;
  top: 0;
  margin-left: auto;
  display: block;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 28px;
  cursor: pointer;
  padding: 4px 6px;
}

body.ans-idss-modal-open{
  overflow: hidden;
}

.ans-idss-popup-report .ans-idss-title{
  margin-top: 0;
}

.ans-idss-chart-col{
  width: 62px;
  min-width: 62px;
  height: 100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
}

.ans-idss-chart-bar-area{
  flex: 1 1 auto;
  width: 54px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
}

.ans-idss-chart-value{
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 2px;
}

.ans-idss-chart-bar{
  width: 54px;
}

.ans-idss-chart-year{
  font-size: 12px;
  font-weight: 700;
  margin-top: 6px;
}

.ans-idss-chart-xlabel{
  text-align:center;
  font-weight:700;
  margin-top: 4px;
}

/* Versão compacta (Home/Sidebar) */
.ans-idss-mini{
  text-align:center;
}

.ans-idss-mini .ans-idss-title{
  margin-bottom: 8px;
}

.ans-idss-mini-cta{
  margin: 8px 0 0 0;
  font-size: 12px;
  line-height: 1.35;
}

.ans-idss-mini-cta a{
  color:#1a0dab;
  text-decoration: underline;
}

a.ans-idss-mini-wrap{
  display:block;
  color: inherit;
  text-decoration: none;
}

a.ans-idss-mini-wrap:hover .ans-idss-title{
  text-decoration: underline;
}

/* Responsivo */
@media (max-width: 640px){
  .ans-idss-row,
  .ans-idss-section-row{
    flex-direction:column;
  }
  .ans-idss-right,
  .ans-idss-section-right{
    max-width:none;
    flex: 1 1 auto;
  }
}

/* =========================
   Impressão / PDF
   - Garante que barras/gradientes apareçam no print
   - Remove overlay do modal e “destrava” o layout
   ========================= */
@media print{
  /* força renderização de cores e backgrounds */
  .ans-idss, .ans-idss *{
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* se o popup estiver aberto, imprime o conteúdo como página normal */
  body.ans-idss-modal-open{
    overflow: visible !important;
  }

  .ans-idss-modal__overlay{
    display: none !important;
  }

  .ans-idss-modal{
    display: block !important;
  }

  .ans-idss-modal__card{
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .ans-idss-modal__close{
    display: none !important;
  }

  /* evita quebra estranha dentro das seções */
  .ans-idss-row,
  .ans-idss-section-row,
  .section{
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
