.works-stage-panel{display:grid;gap:18px}.works-stage-selector{background:linear-gradient(135deg,#073b70,#078d71);border-radius:18px;padding:20px;color:#fff;box-shadow:0 16px 38px rgba(7,59,112,.18)}.works-stage-selector label{display:grid;gap:7px;font-weight:400}.works-stage-selector select{height:48px;border:1px solid rgba(255,255,255,.55);border-radius:11px;padding:0 13px;background:#fff;color:#123c62;font-size:15px}.works-stage-empty{padding:42px 22px;text-align:center;background:#fff;border:1px dashed #b7cce0;border-radius:18px;color:#60758a}.works-stage-summary{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.works-stage-donut-card,.works-stage-info,.works-stage-chart,.works-stage-timeline,.works-stage-details{background:#fff;border:1px solid #d8e4ee;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(13,52,88,.07)}.works-stage-donut{--progress:0deg;width:164px;height:164px;margin:auto;border-radius:50%;background:conic-gradient(#0a9568 var(--progress),#e4edf3 0);display:grid;place-items:center;position:relative}.works-stage-donut:after{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%}.works-stage-donut div{position:relative;z-index:1;text-align:center}.works-stage-donut strong{display:block;color:#073b70;font-size:31px}.works-stage-donut small{color:#677c8e}.works-stage-donut-card>p{text-align:center;color:#60758a;font-size:12px;margin:12px 0 0}.works-stage-info h3{margin:0;color:#073b70;font-size:22px}.works-stage-info>p{color:#5d7184}.works-stage-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.works-stage-meta span{padding:10px;border-radius:11px;background:#f3f7fa;color:#597083;font-size:12px}.works-stage-meta b{display:block;color:#123f68;margin-bottom:3px}.works-stage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.works-stage-kpi{background:#fff;border:1px solid #d8e4ee;border-radius:15px;padding:14px}.works-stage-kpi small{display:block;color:#6d8191}.works-stage-kpi strong{display:block;color:#084578;font-size:21px;margin-top:4px}.works-stage-chart h3,.works-stage-timeline h3,.works-stage-details h3{margin:0 0 14px;color:#073b70}.works-stage-bars{display:grid;gap:12px}.works-stage-bar{display:grid;grid-template-columns:minmax(130px,220px) 1fr 58px;gap:10px;align-items:center}.works-stage-bar-label{font-size:12px;color:#234d70;font-weight:400}.works-stage-bar-tracks{display:grid;gap:4px}.works-stage-track{height:9px;background:#e7edf2;border-radius:999px;overflow:hidden}.works-stage-track i{display:block;height:100%;border-radius:inherit}.works-stage-track.planned i{background:#6ca7d2}.works-stage-track.executed i{background:#0a9568}.works-stage-bar strong{text-align:right;color:#0a7757;font-size:12px}.works-stage-legend{display:flex;gap:14px;margin-top:12px;color:#63798b;font-size:11px}.works-stage-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.works-stage-timeline-list{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px}.works-stage-time-item{flex:0 0 210px;border:1px solid #dbe5ed;border-top:5px solid #8aa0b2;border-radius:13px;padding:12px;background:#fbfdfe}.works-stage-time-item.status-concluida{border-top-color:#0a9568}.works-stage-time-item.status-em-andamento{border-top-color:#176ead}.works-stage-time-item.status-atrasada{border-top-color:#cb3b30}.works-stage-time-item.status-suspensa{border-top-color:#d99316}.works-stage-time-item h4{margin:0 0 6px;color:#143f63}.works-stage-time-item p{margin:4px 0;color:#65798a;font-size:11px}.works-stage-detail{border:1px solid #dce6ed;border-radius:14px;overflow:hidden;margin-bottom:9px}.works-stage-detail>button{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:0;background:#f8fbfd;padding:13px;text-align:left;cursor:pointer;color:#123f66}.works-stage-detail>button strong{}.works-stage-badge{padding:5px 8px;border-radius:999px;background:#e4edf4;font-size:10px;font-weight:400}.works-stage-detail-body{display:none;padding:15px}.works-stage-detail.is-open .works-stage-detail-body{display:block}.works-stage-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.works-stage-detail-grid span{padding:9px;background:#f4f8fa;border-radius:10px;color:#5c7284;font-size:11px}.works-stage-detail-grid b{display:block;color:#12436d}.works-stage-public-text{margin-top:12px;padding:12px;border-left:3px solid #0a9568;background:#eff9f6;color:#345e53}.works-stage-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.works-stage-gallery img,.works-stage-gallery video{width:100%;height:130px;object-fit:cover;border-radius:10px;background:#0a2034}.works-stage-docs{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.works-stage-docs a{padding:7px 10px;border-radius:8px;background:#eaf2f8;color:#0b548e;text-decoration:none;font-size:11px;font-weight:400}.works-stage-alert{margin-top:10px;padding:10px;border-radius:10px;background:#fff2df;color:#8b5708}.works-stage-weight-warning{padding:10px;border-radius:10px;background:#fff5df;color:#825b0d;font-size:12px}@media(max-width:820px){.works-stage-summary{grid-template-columns:1fr}.works-stage-kpis{grid-template-columns:1fr 1fr}.works-stage-meta,.works-stage-detail-grid{grid-template-columns:1fr 1fr}.works-stage-gallery{grid-template-columns:1fr 1fr}.works-stage-bar{grid-template-columns:1fr}.works-stage-bar strong{text-align:left}}@media(max-width:520px){.works-stage-kpis,.works-stage-meta,.works-stage-detail-grid{grid-template-columns:1fr}.works-stage-gallery{grid-template-columns:1fr}}


/* REGRA GLOBAL FINAL: frontend sem negrito */
html body,
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body label, html body legend,
html body button, html body input, html body select, html body textarea, html body option,
html body p, html body span, html body small, html body a,
html body strong, html body b,
html body th, html body td, html body li,
html body [role="button"], html body [role="tab"], html body [class*="title"],
html body [class*="label"], html body [class*="heading"], html body [class*="caption"] {
  font-weight: 400 !important;
}
/* Mantem somente o peso estrutural exigido por fontes de icones. */
html body .fa, html body .fas, html body .fa-solid,
html body [class^="fa-"], html body [class*=" fa-"] {
  font-weight: 900 !important;
}
html body .far, html body .fa-regular {
  font-weight: 400 !important;
}

/* PADRAO PUBLICO DE MODAL 20260713: compacto, galeria centralizada e fechamento vermelho */
.portal-modal-window .portal-modal-content {
  padding: 16px 18px 18px;
}

.portal-modal-window .portal-modal-head {
  margin-bottom: 8px;
  padding-right: 42px;
}

.portal-modal-window .portal-modal-head-top {
  gap: 8px;
  margin-bottom: 6px;
}

.portal-modal-window .portal-modal-head h3 {
  margin-top: 6px;
  font-size: 25px;
  line-height: 1.12;
}

.portal-modal-window .portal-detail-meta {
  margin-top: 7px;
}

.portal-modal-window .portal-detail-section {
  margin-top: 10px;
  padding-top: 10px;
}

.portal-modal-window .portal-detail-section h4 {
  margin-bottom: 6px;
  font-size: 15px;
}

.portal-modal-window .portal-detail-text {
  line-height: 1.45;
}

.portal-modal-window .portal-detail-grid {
  gap: 7px;
}

.portal-modal-window .portal-detail-item {
  gap: 3px;
  padding: 8px 9px;
  border-radius: 10px;
}

.portal-modal-window .portal-modal-layout.has-gallery {
  align-items: center;
}

.portal-modal-window .portal-modal-gallery {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.portal-modal-window .portal-modal-gallery-card {
  width: 100%;
  min-height: 0;
}

.portal-modal-window .portal-modal-gallery-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10 !important;
  height: auto;
  min-height: 0;
}

.portal-modal-window .portal-modal-gallery-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.portal-modal-window .portal-modal-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center center;
}

.portal-modal-window .portal-modal-gallery-dots {
  margin-top: 0;
  padding: 10px 0;
  background: transparent;
}

.portal-modal-window .portal-modal-close {
  background: #fff1f1;
  color: #cf2323;
  border: 1px solid #f2c4c4;
}

.portal-modal-window .portal-modal-close:hover {
  background: #fde6e6;
  color: #b91919;
}

@media (max-width: 900px) {
  .portal-modal-window .portal-modal-content {
    padding: 14px;
  }

  .portal-modal-window .portal-modal-layout.has-gallery {
    align-items: start;
  }

  .portal-modal-window .portal-modal-gallery-stage {
    aspect-ratio: 16 / 10 !important;
  }
}

@media (max-width: 560px) {
  .portal-modal-window .portal-modal-head h3 {
    font-size: 22px;
  }

  .portal-modal-window .portal-modal-gallery-stage {
    aspect-ratio: 4 / 3 !important;
  }
}

