/* Estilos exclusivos: publico/obras-contratos.html */
.obras-contract-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.obras-contract-search{width:min(520px,100%);height:48px;border:1px solid #cfdeec;border-radius:10px;padding:0 15px;font-size:15px;background:#fff;color:#153a61}.obras-contract-count{font-size:14px;color:#5b7087;white-space:nowrap}.obras-contract-list{display:grid;grid-template-columns:1fr;gap:12px}.obra-contract-card{border:1px solid #d2e0ed;border-radius:12px;background:#fff;padding:12px 14px;box-shadow:0 7px 20px rgba(9,53,91,.055)}.obra-contract-summary{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(420px,2.7fr) auto auto;align-items:center;gap:14px}.obra-contract-title{min-width:0}.obra-contract-kicker{display:block;color:#176ba0;font-size:12px;margin-bottom:3px}.obra-contract-card h3{margin:0;color:#0c4b80;font-size:17px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obra-contract-inline-data{display:grid;grid-template-columns:minmax(160px,1.45fr) minmax(120px,1fr) minmax(105px,.8fr) minmax(62px,.45fr);align-items:center;gap:10px;min-width:0}.obra-contract-inline-data>div{min-width:0;padding-left:10px;border-left:1px solid #e3ebf2}.obra-contract-inline-data span,.obra-contract-detail-item span,.obra-contract-addenda-grid span{display:block;color:#315f8a;font-size:11px;margin-bottom:2px}.obra-contract-inline-data strong{display:block;color:#202d39;font-size:13px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obra-contract-status{padding:6px 9px;border-radius:999px;background:#eef5fb;color:#285b82;font-size:12px;white-space:nowrap}.status-vigente{background:#e9f8f0;color:#16724b}.status-vencido,.status-rescindido{background:#fff0f0;color:#b62b2b}.status-suspenso{background:#fff7df;color:#8b6513}.obra-contract-view{height:38px;border:0;border-radius:9px;padding:0 16px;background:#076ca8;color:#fff;font-size:14px;cursor:pointer;white-space:nowrap}.obra-contract-view:hover{background:#075b8d}.obra-contract-modal{position:fixed;inset:0;z-index:9999;background:rgba(7,31,53,.62);display:flex;align-items:center;justify-content:center;padding:24px}.obra-contract-modal-window{position:relative;width:min(1100px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.24)}.obra-contract-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:10px;border:1px solid #f0bcbc;background:#fff1f1;color:#c62323;font-size:21px;cursor:pointer}.obra-contract-modal-head{padding-right:55px;border-bottom:1px solid #dce6ef;padding-bottom:17px}.obra-contract-modal-head>span{color:#176ba0;font-size:14px}.obra-contract-modal-head h2{margin:5px 0 8px;color:#0b4d82;font-size:26px}.obra-contract-modal-head p{margin:0;color:#455d72;line-height:1.5}.obra-contract-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:17px}.obra-contract-detail-item{border:1px solid #dbe6ef;border-radius:10px;padding:11px;background:#fafcfe}.obra-contract-detail-item p{margin:0;color:#202d39;font-size:14px}.obra-contract-modal-section{margin-top:22px;padding-top:18px;border-top:1px solid #dce6ef}.obra-contract-modal-section h3{margin:0 0 13px;color:#0b4d82;font-size:20px}.obra-contract-addenda{display:grid;gap:12px}.obra-contract-addenda article{border:1px solid #d6e3ee;border-radius:12px;padding:14px}.obra-contract-addenda article>div:first-child{display:flex;justify-content:space-between;gap:15px;color:#1b5e8f}.obra-contract-addenda article strong{font-weight:400}.obra-contract-addenda-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.obra-contract-addenda-grid p{margin:0;border:1px solid #e2eaf1;border-radius:9px;padding:9px;color:#263746}.obra-contract-files{display:grid;gap:10px}.obra-contract-files a{display:flex;align-items:center;gap:12px;border:1px solid #d7e4ef;border-radius:10px;padding:11px 13px;text-decoration:none;background:#f9fbfd}.obra-contract-files a>span{display:flex;align-items:center;justify-content:center;width:42px;height:38px;border-radius:8px;background:#e8f3fb;color:#096ca8;font-size:12px}.obra-contract-files p{flex:1;margin:0;color:#253b4e}.obra-contract-files b{font-weight:400;color:#0870ac}.obra-contract-muted{color:#65798b;margin:0}.portal-empty{grid-column:1/-1}
@media(max-width:1050px){.obra-contract-summary{grid-template-columns:minmax(190px,1fr) minmax(350px,2fr) auto}.obra-contract-view{grid-column:3;grid-row:2;justify-self:end}.obra-contract-status{grid-column:3;grid-row:1;justify-self:end}.obra-contract-inline-data{grid-row:1/3}}
@media(max-width:820px){.obra-contract-summary{grid-template-columns:1fr auto}.obra-contract-inline-data{grid-column:1/-1;grid-row:auto;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:9px;border-top:1px solid #e7edf3}.obra-contract-status{grid-column:2;grid-row:1}.obra-contract-view{grid-column:2;grid-row:2}.obra-contract-inline-data>div:first-child{padding-left:0;border-left:0}.obra-contract-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obra-contract-addenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.obras-contract-toolbar{align-items:stretch;flex-direction:column}.obras-contract-count{white-space:normal}.obra-contract-card{padding:12px}.obra-contract-summary{grid-template-columns:1fr}.obra-contract-status,.obra-contract-view{grid-column:1;grid-row:auto;justify-self:start}.obra-contract-inline-data{grid-template-columns:repeat(2,minmax(0,1fr))}.obra-contract-inline-data>div:nth-child(odd){padding-left:0;border-left:0}.obra-contract-detail-grid,.obra-contract-addenda-grid{grid-template-columns:1fr}.obra-contract-modal{padding:10px}.obra-contract-modal-window{padding:20px 14px}.obra-contract-modal-head h2{font-size:22px}}

/* Correção de sobreposição e rolagem do modal público de contratos. */
.obra-contract-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  isolation:isolate;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100vw;
  height:100dvh;
  padding:16px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  background:rgba(7,31,53,.72) !important;
}
.obra-contract-modal-window{
  position:relative !important;
  z-index:1 !important;
  width:min(1100px,100%) !important;
  max-height:calc(100dvh - 32px) !important;
  margin:auto 0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.obra-contract-modal-close{
  position:sticky !important;
  top:0 !important;
  float:right;
  z-index:5 !important;
  margin:-10px -10px 0 12px;
}
html.obra-contract-modal-open,
body.obra-contract-modal-open{
  overflow:hidden !important;
}
@media(max-width:600px){
  .obra-contract-modal{padding:8px !important;}
  .obra-contract-modal-window{max-height:calc(100dvh - 16px) !important;}
}

/* PADRAO VISUAL INDIVIDUAL PLANO DIRETOR 20260713 */
body[data-page="obras-contratos"] {
  --pd-azul:#0b4d88;
  --pd-azul-escuro:#083f73;
  --pd-verde:#0a9868;
  --pd-vermelho:#c63c31;
  --pd-borda:#d5e2ee;
  --pd-fundo:#f3f7fb;
  --pd-campo:#f8fbfd;
  --pd-texto:#143b64;
  --pd-muted:#667b8f;
}
body[data-page="obras-contratos"] .public-content {
  background:var(--pd-fundo);
  padding:22px 0 34px;
}
body[data-page="obras-contratos"] .public-content > .container,
body[data-page="obras-contratos"] main.public-content .container {
  width:min(1320px,calc(100% - 32px));
  margin-inline:auto;
}
body[data-page="obras-contratos"] .public-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body[data-page="obras-contratos"] .public-content select {
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  border:1px solid var(--pd-borda)!important;
  border-radius:8px!important;
  background:var(--pd-campo)!important;
  color:var(--pd-texto)!important;
  font-size:14px!important;
  box-sizing:border-box!important;
}
body[data-page="obras-contratos"] .public-content textarea {
  min-height:86px!important;
  padding:10px 12px!important;
  border:1px solid var(--pd-borda)!important;
  border-radius:8px!important;
  background:var(--pd-campo)!important;
  color:var(--pd-texto)!important;
  font-size:14px!important;
  line-height:1.4!important;
  box-sizing:border-box!important;
}
body[data-page="obras-contratos"] .public-content button,
body[data-page="obras-contratos"] .public-content .btn,
body[data-page="obras-contratos"] .public-content a[class*="btn"],
body[data-page="obras-contratos"] .public-content [role="button"] {
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:14px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
body[data-page="obras-contratos"] .public-content button svg,
body[data-page="obras-contratos"] .public-content .btn svg,
body[data-page="obras-contratos"] .public-content button i,
body[data-page="obras-contratos"] .public-content .btn i {
  width:16px!important;
  height:16px!important;
  font-size:16px!important;
  flex:0 0 16px!important;
}
body[data-page="obras-contratos"] .public-content form,
body[data-page="obras-contratos"] .public-content .card,
body[data-page="obras-contratos"] .public-content [class$="-card"],
body[data-page="obras-contratos"] .public-content [class*="-card "] {
  border-color:var(--pd-borda)!important;
  border-radius:14px!important;
}
body[data-page="obras-contratos"] .public-content table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--pd-borda);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
body[data-page="obras-contratos"] .public-content th,
body[data-page="obras-contratos"] .public-content td {
  padding:10px 12px!important;
  border-bottom:1px solid #e4edf4!important;
  font-size:13px!important;
}
body[data-page="obras-contratos"] .portal-modal-window,
body[data-page="obras-contratos"] [class$="-modal-box"],
body[data-page="obras-contratos"] [class*="-modal-box "] {
  width:min(1320px,calc(100vw - 32px))!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
body[data-page="obras-contratos"] .portal-modal-close,
body[data-page="obras-contratos"] [class*="modal"] button[aria-label*="Fechar"],
body[data-page="obras-contratos"] [class*="modal"] button[aria-label*="fechar"] {
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:10px!important;
}
body[data-page="obras-contratos"] .portal-modal-gallery-prev,
body[data-page="obras-contratos"] .portal-modal-gallery-next,
body[data-page="obras-contratos"] [class*="modal"] [class*="prev"],
body[data-page="obras-contratos"] [class*="modal"] [class*="next"] {
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid rgba(11,77,136,.24)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--pd-azul)!important;
  box-shadow:0 4px 12px rgba(11,77,136,.14)!important;
}
@media(max-width:760px) {
  body[data-page="obras-contratos"] .public-content > .container,
  body[data-page="obras-contratos"] main.public-content .container {width:min(100% - 20px,1320px)}
  body[data-page="obras-contratos"] .public-content button,
  body[data-page="obras-contratos"] .public-content .btn,
  body[data-page="obras-contratos"] .public-content a[class*="btn"] {min-height:38px!important;padding-inline:13px!important}
}
