/* Gestão contratual da obra (chamado #565, Wesley, 28/09/2026) — a aparência do painel do Hospital
   Unimed-BH Contagem, dentro do JuriHub. Tudo escopado em .gc; as cores do painel viram os tokens da
   casa (fundo, painel, texto, borda) e só a paleta das categorias e as estacas de aditivo são próprias. */
.gc{--bg:var(--fundo);--surface:var(--painel);--ink:var(--texto);--muted:var(--texto-sec);--line:var(--borda);--soft:var(--elemento);
  --stake:#F2B81C;--stake-ink:#2A1E00;--focus:#6FA8FF;--ok:var(--em-vigor);--bad:var(--risco);
  --c-aditivo:#F2B81C;--c-escopo:#9B79D1;--c-reajuste:#4FA874;--c-medicao:#5C8FD6;--c-ftd:#3AA8A8;--c-prazo:#E0604F;--c-projetos:#8E9EA6;
  --c-qualidade:#B9884A;--c-notificacao:#C9578A;--c-ata:#6F7CC7;--c-rdo:#7FAE4E;--c-licenca:#9A9A9A;--c-outros:#B0B0B0;
  color:var(--ink);font-size:14.5px;line-height:1.5}
[data-tema="claro"] .gc{--stake:#E0A100;--stake-ink:#3A2A00;--focus:#1B66C9;
  --c-aditivo:#E0A100;--c-escopo:#7A4FB0;--c-reajuste:#2E8B57;--c-medicao:#3F6FB5;--c-ftd:#1F8A8A;--c-prazo:#C0392B;--c-projetos:#71838C;
  --c-qualidade:#9A6B2F;--c-notificacao:#B03A6E;--c-ata:#4E5BA6;--c-rdo:#5E8C31;--c-licenca:#8C8C8C;--c-outros:#A3A3A3}
.gc *,.gc *::before,.gc *::after{box-sizing:border-box}
.gc header.gc-cab{padding:6px 0 0}
.gc header.gc-cab h1{font-size:clamp(22px,3vw,32px);line-height:1.1;margin:0 0 4px;font-weight:700}
.gc header.gc-cab p{margin:0;color:var(--muted);max-width:80ch;font-size:13.5px}
.gc .gc-fonte{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12.5px;color:var(--muted);margin:10px 0 0}
.gc .gc-fonte .gc-acoes{margin-left:auto;display:flex;gap:8px}
.gc nav.gc-nav{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin:12px 0 22px;display:flex;gap:2px;overflow-x:auto}
.gc nav.gc-nav button{all:unset;cursor:pointer;font-weight:600;font-size:15px;color:var(--muted);padding:11px 12px 9px;border-bottom:3px solid transparent;white-space:nowrap}
.gc nav.gc-nav button:hover{color:var(--ink)}
.gc nav.gc-nav button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.gc .view{display:none}.gc .view.on{display:block}
.gc h2{font-size:21px;font-weight:600;margin:0 0 4px}
.gc h3{font-size:17px;font-weight:600;margin:0 0 8px}
.gc .lede{color:var(--muted);margin:0 0 14px;font-size:13.5px;max-width:80ch}
.gc section{margin-bottom:30px}
.gc .kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:26px}
.gc .kpi div{background:var(--surface);padding:14px 16px}
.gc .kpi b{display:block;font-size:24px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}
.gc .kpi span{display:block;font-size:13px;color:var(--muted)}
.gc .kpi small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.gc .panel{background:var(--surface);border:1px solid var(--line);padding:16px}
.gc .cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gc .scroll{overflow-x:auto}
.gc svg text{fill:var(--muted);font-family:inherit}
.gc .list{list-style:none;margin:0;padding:0}
.gc .list li{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.gc .list li:first-child{border-top:0}
.gc .list li[hidden]{display:none}
.gc .list .d{font-weight:600;font-size:15px}
.gc .list .d small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.gc .list .t{font-size:13.5px}
.gc .list .t small{display:block;color:var(--muted);font-size:12.5px}
.gc .flag{display:inline-block;font-size:12px;padding:0 6px;border:1px solid var(--line);margin-right:4px;vertical-align:1px;border-radius:3px}
.gc .flag.q{border:1.5px solid var(--bad);color:var(--bad);font-weight:600}
.gc .flag.ok{border-color:var(--ok);color:var(--ok)}
.gc .flag.bad{border-color:var(--bad);color:var(--bad)}
.gc .flag.warn{border-color:var(--stake);color:var(--ink)}
.gc .qbox{border:1.5px solid var(--bad);border-radius:4px;padding:10px 14px;margin-top:14px}
.gc .qbox h4{color:var(--bad)!important;margin-top:0!important}
.gc .qbox dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;margin:0;font-size:13.5px}
.gc .qbox dt{color:var(--muted)} .gc .qbox dd{margin:0} .gc .qbox dd ul{margin:0;padding-left:18px}
.gc .sw{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gc .sw ol{list-style:none;margin:0;padding:0}
.gc .sw li{padding:10px 0;border-top:1px solid var(--line)} .gc .sw li:first-child{border-top:0;padding-top:0}
.gc .sw li b{display:block;font-weight:600;line-height:1.35}
.gc .sw li span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.gc .sw li em{font-style:normal;font-size:12px;border:1px solid var(--line);border-radius:3px;padding:0 5px;margin-right:6px;color:var(--muted)}
.gc .sw h3{display:flex;align-items:center;gap:8px}
.gc .sw h3 i{width:10px;height:10px;display:inline-block}
.gc table.db td:first-child{font-weight:600;width:220px}
.gc .st-p{color:var(--bad);font-weight:600} .gc .st-m{color:var(--ink);font-weight:600} .gc .st-n{color:var(--ok);font-weight:600}
.gc .calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:16px}
.gc .calc label{font-size:13px;color:var(--muted);display:block}
.gc .calc input,.gc .calc select{width:100%;margin-top:4px}
.gc input[type=number],.gc input[type=search],.gc select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:7px 10px;min-height:36px;border-radius:4px}
.gc input[type=search]{flex:1 1 260px}
.gc .res{display:grid;grid-template-columns:1fr auto;gap:6px 16px;font-size:14px;border-top:1px solid var(--line);padding-top:12px}
.gc .res .v{text-align:right;font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
.gc .res .tot{font-weight:600;border-top:1px solid var(--line);padding-top:8px}
.gc .meter{height:10px;background:var(--soft);position:relative;margin:14px 0 4px}
.gc .meter i{position:absolute;left:0;top:0;bottom:0;background:var(--c-prazo)}
.gc .meter b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
.gc a.lk,.gc button.lk{color:var(--focus);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.gc table{border-collapse:collapse;width:100%;font-size:13.5px;background:var(--surface)}
.gc th,.gc td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.gc th{font-weight:600;font-size:13px;color:var(--muted);background:var(--surface)}
.gc td.num,.gc th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.gc tr:last-child td{border-bottom:0}
.gc .tblwrap{overflow-x:auto;border:1px solid var(--line)}
/* barra de prazo */
.gc .pbar{position:relative;height:12px;background:var(--soft);margin:30px 0 44px}
.gc .pbar i{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}
.gc .pbar .m{position:absolute;top:-6px;width:2px;height:24px;background:var(--c-prazo)}
.gc .pbar .m span{position:absolute;top:26px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.2;color:var(--muted);white-space:nowrap;text-align:center}
.gc .pbar .m.past{background:var(--muted)}
.gc .pbar .m em{font-style:normal}
.gc .pbar .now{position:absolute;top:-22px;transform:translateX(-50%);font-weight:600;font-size:12px;color:var(--focus);white-space:nowrap}
.gc .pbar .nowl{position:absolute;top:-6px;width:2px;height:24px;background:var(--focus)}
.gc .pfoot{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:4px}
.gc .pbar .m.end span{left:auto;right:0;transform:none;text-align:right}
.gc .pbar .m.ini span{left:0;transform:none;text-align:left}
/* aditivos */
.gc .adt{background:var(--surface);border:1px solid var(--line);border-top:0}
.gc .adt:first-child{border-top:1px solid var(--line)}
.gc .adt>button{all:unset;cursor:pointer;display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 16px;width:100%;box-sizing:border-box}
.gc .adt>button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.gc .adt .no{font-weight:700;font-size:24px;line-height:1}
.gc .adt .ti{font-weight:600;line-height:1.3}
.gc .adt .ti small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}
.gc .adt .st{margin-top:5px}
.gc .adt .pv{text-align:right;font-weight:600;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gc .adt .pv small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)}
.gc .adt .bd{display:none;padding:0 16px 16px 86px}
.gc .adt.open .bd{display:block}
.gc .adt.draft{background:repeating-linear-gradient(135deg,transparent 0 10px,var(--soft) 10px 11px),var(--surface)}
.gc .bd h4{font-size:13px;font-weight:600;color:var(--muted);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.02em}
.gc .bd ul{margin:0;padding-left:18px}
.gc .bd li{margin-bottom:4px;max-width:90ch}
.gc .bd p{margin:0;max-width:90ch}
.gc .bd .file{font-size:12.5px;color:var(--muted);word-break:break-word}
.gc .bd table{font-size:13px;margin-top:4px;border:1px solid var(--line)}
.gc .bd .chk li{list-style:none;margin-left:-18px;padding-left:18px;position:relative}
.gc .bd .chk li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border:1.5px solid var(--stake)}
.gc .seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.gc .seg button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:5px 11px;cursor:pointer;min-height:32px;border-radius:4px}
.gc .seg button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
/* fatos */
.gc .tools{position:sticky;top:44px;z-index:4;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line)}
.gc .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gc .chip{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:32px;border-radius:4px}
.gc .chip i{width:9px;height:9px;display:inline-block}
.gc .chip[aria-pressed="false"]{opacity:.45}
.gc .chip.alt[aria-pressed="true"]{background:var(--stake);color:var(--stake-ink);border-color:var(--stake);opacity:1}
.gc .chip.alt[aria-pressed="false"]{opacity:1}
.gc .gc-bt{font:inherit;font-size:13px;background:none;border:0;color:var(--focus);cursor:pointer;padding:4px 6px;text-decoration:underline}
.gc .count{font-size:13px;color:var(--muted);margin-left:auto}
.gc svg.ruler{display:block;min-width:960px;width:100%}
.gc svg.ruler .mbar{cursor:pointer}
.gc svg.ruler .mbar:hover rect.hit,.gc svg.ruler .mbar:focus rect.hit{fill:var(--soft)}
.gc svg.ruler .mbar.sel rect.hit{fill:var(--soft);stroke:var(--ink);stroke-width:1}
.gc svg.ruler .flagg{cursor:pointer}
.gc .legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted);margin-top:10px}
.gc .legend i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px}
.gc .month{margin-top:22px}
.gc .month h3{font-size:18px;margin:0 0 6px;display:flex;gap:10px;align-items:baseline}
.gc .month h3 span{font-weight:400;font-size:13px;color:var(--muted)}
.gc .ev{display:grid;grid-template-columns:88px 4px 1fr;gap:0 14px;background:var(--surface);border:1px solid var(--line);border-top:0}
.gc .month .ev:first-of-type{border-top:1px solid var(--line)}
.gc .ev .dt{padding:10px 0 10px 12px;font-weight:600;font-size:15px;line-height:1.2}
.gc .ev .dt small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.gc .ev .cb{background:var(--c)}
.gc .ev.stake{box-shadow:inset 0 0 0 2px var(--stake)}
.gc .ev button.hd{all:unset;cursor:pointer;display:block;padding:10px 12px 10px 0}
.gc .ev button.hd:focus-visible{outline:2px solid var(--focus)}
.gc .meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:3px;font-size:12.5px;color:var(--muted)}
.gc .tag{border:1px solid var(--line);padding:0 6px}
.gc .tag.alt{background:var(--stake);border-color:var(--stake);color:var(--stake-ink);font-weight:600}
.gc .tag.min{border:1px dashed var(--stake);color:var(--ink)}
.gc .tag.esc{border-color:var(--c-escopo);color:var(--ink)}
.gc .tag.warn{border-color:var(--c-prazo);color:var(--c-prazo)}
.gc .ttl{font-weight:600;line-height:1.35}
.gc .body{grid-column:3;padding:0 12px 14px 0;display:none}
.gc .ev.open .body{display:block}
.gc .body p{margin:0 0 10px;max-width:84ch}
.gc .ref{font-size:13px;border-left:3px solid var(--line);padding:4px 10px;color:var(--muted);margin-bottom:8px}
.gc .ref b{color:var(--ink);font-weight:600}
.gc .note{font-size:13px;border-left:3px solid var(--c-prazo);padding:4px 10px;margin-bottom:8px}
.gc .empty{padding:30px;text-align:center;color:var(--muted);background:var(--surface);border:1px solid var(--line);margin-top:16px}
.gc dl.ficha{display:grid;grid-template-columns:220px 1fr;margin:0;background:var(--surface);border:1px solid var(--line)}
.gc dl.ficha dt,.gc dl.ficha dd{margin:0;padding:9px 14px;border-top:1px solid var(--line)}
.gc dl.ficha dt:first-of-type,.gc dl.ficha dd:first-of-type{border-top:0}
.gc dl.ficha dt{color:var(--muted);font-size:13.5px}
.gc dl.ficha dd small{display:block;color:var(--muted);font-size:12.5px}
.gc .rj{display:grid;grid-template-columns:200px 1fr 140px;gap:10px 14px;align-items:center;padding:8px 0}
.gc .rj .b{height:12px;background:var(--soft);position:relative}
.gc .rj .b i{position:absolute;left:0;top:0;bottom:0}
.gc .rj .v{text-align:right;font-weight:600;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gc .rj .l{font-size:13.5px}.gc .rj .l small{display:block;color:var(--muted);font-size:12.5px}
.gc .rj-diff{display:block;white-space:normal;font-weight:600;font-size:12.5px;margin-top:3px;line-height:1.3}
.gc footer.gc-pe{font-size:12.5px;color:var(--muted);margin-top:36px;max-width:90ch}
.gc .gc-vazio{text-align:center;padding:36px 20px;color:var(--muted)}
.gc .gc-vazio h3{color:var(--ink);margin:8px 0}
.gc .gc-vazio .btn{margin-top:14px}
@media (max-width:760px){
  .gc .cols,.gc .sw{grid-template-columns:1fr}
  .gc .qbox dl{grid-template-columns:1fr}
  .gc dl.ficha{grid-template-columns:1fr} .gc dl.ficha dd{border-top:0;padding-top:0}
  .gc .adt>button{grid-template-columns:40px 1fr} .gc .adt .pv{grid-column:2;text-align:left}
  .gc .adt .bd{padding-left:16px}
  .gc .rj{grid-template-columns:1fr} .gc .rj .v{text-align:left}
  .gc .ev{grid-template-columns:70px 4px 1fr;gap:0 10px}
  .gc .count{margin-left:0;width:100%}
  .gc .pbar .m em{display:none}
}
@media (prefers-reduced-motion:no-preference){ .gc .ev.flash,.gc .adt.flash{animation:gcfl 1.2s ease-out} @keyframes gcfl{from{background:var(--soft)}} }
