/* Plano Vivo — identidade
   Cal (fundo frio), basalto (tinta), anil (ação), lima (entregue — a cor do plano impresso),
   âmbar (em preparação), rubi (parado). Display: Bricolage Grotesque. Texto: Atkinson Hyperlegible Next. */
@font-face{font-family:"Bricolage Grotesque";src:url(fontes/bricolage.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fontes/atkinson-hyperlegible-next-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fontes/atkinson-hyperlegible-next-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fontes/atkinson-hyperlegible-next-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --fundo:#E8EBE9; --sup:#F6F7F5; --sup-2:#EFF1EF; --tinta:#1A1F1D; --tinta-2:#5A625F; --linha:#D2D7D4;
  --anil:#2B44C7; --anil-suave:#E3E7FB; --lima:#7FA826; --lima-forte:#B7D65A; --ambar:#E0A019; --rubi:#C7254E; --rubi-suave:#F8E1E8;
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --texto:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --raio:10px; --lateral:248px;
  color-scheme:light;
}
:root[data-tema=escuro]{
  --fundo:#14181C; --sup:#1C2126; --sup-2:#22282E; --tinta:#E6E9E7; --tinta-2:#9AA39F; --linha:#2F363C;
  --anil:#8C9BFF; --anil-suave:#252B4A; --lima:#A6CF45; --lima-forte:#6E8F25; --ambar:#F0B840; --rubi:#F2648A; --rubi-suave:#3A2029;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-tema=claro]){
    --fundo:#14181C; --sup:#1C2126; --sup-2:#22282E; --tinta:#E6E9E7; --tinta-2:#9AA39F; --linha:#2F363C;
    --anil:#8C9BFF; --anil-suave:#252B4A; --lima:#A6CF45; --lima-forte:#6E8F25; --ambar:#F0B840; --rubi:#F2648A; --rubi-suave:#3A2029;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--texto);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--anil);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Estrutura ---------- */
.app{display:grid;grid-template-columns:var(--lateral) 1fr;min-height:100vh}
.lateral{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 16px;border-right:1px solid var(--linha);background:var(--sup)}
.marca{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1;padding:0 10px;font-variation-settings:"wdth" 85}
.marca small{display:block;font-family:var(--texto);font-weight:400;font-size:13px;letter-spacing:0;color:var(--tinta-2);margin-top:6px}
.nav{display:flex;flex-direction:column;gap:2px;margin-top:30px}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--tinta-2);font-weight:500}
.nav a:hover{background:var(--sup-2);color:var(--tinta)}
.nav a[aria-current=page]{background:var(--anil-suave);color:var(--anil)}
.nav svg{width:20px;height:20px;flex:none}
.nav .sep{height:1px;background:var(--linha);margin:12px 10px}
.rodape-lat{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:0 10px;font-size:14px}
.rodape-lat .quem{color:var(--tinta-2)}
.rodape-lat .quem b{display:block;color:var(--tinta);font-weight:500}
.linha-btns{display:flex;gap:8px}
.conteudo{min-width:0;padding:34px clamp(18px,4vw,56px) 80px;max-width:1120px}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;inset:auto 0 0 0;height:auto;flex-direction:row;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--linha);z-index:20}
  .lateral .marca,.lateral .rodape-lat,.nav .sep,.nav .so-largo{display:none}
  .nav{flex-direction:row;margin:0;width:100%;justify-content:space-around}
  .nav a{flex-direction:column;gap:2px;font-size:11px;padding:6px 8px}
  .conteudo{padding:22px 18px 110px}
  .topo-movel{display:flex!important}
}
.topo-movel{display:none;justify-content:space-between;align-items:center;margin-bottom:18px}
.topo-movel .marca{padding:0;font-size:20px}

/* ---------- Tipografia ---------- */
.trilha{font-size:14px;color:var(--tinta-2);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
.trilha a{text-decoration:none;color:var(--tinta-2)}
.trilha a:hover{color:var(--anil);text-decoration:underline}
.trilha span[aria-hidden]{opacity:.5}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;margin:0;font-variation-settings:"wdth" 90}
h1{font-size:clamp(30px,4.4vw,46px);line-height:1.04}
h2{font-size:clamp(21px,2.4vw,26px);line-height:1.15}
h3{font-size:18px;line-height:1.25;letter-spacing:-.01em}
p{margin:0}
.apoio{color:var(--tinta-2);max-width:68ch}
.secao{margin-top:56px}
.secao>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;margin-bottom:18px}
.secao>header p{margin-top:6px}

/* ---------- Abertura do panorama ---------- */
.abertura{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:6px}
.manchete{font-family:var(--display);font-weight:800;font-size:clamp(40px,7.2vw,92px);line-height:.98;letter-spacing:-.02em;font-variation-settings:"wdth" 86;max-width:16ch}
.manchete .fracao{display:block;font-size:1.55em;line-height:.9;letter-spacing:-.025em;margin-bottom:.06em}
.manchete .fracao span{color:var(--tinta-2);font-weight:500}
.sintese{font-size:clamp(17px,1.8vw,19px);max-width:62ch;line-height:1.6}
.sintese strong{font-weight:700}
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--tinta);margin-top:12px}
.numero{padding:14px 18px 4px 0}
.numero+.numero{padding-left:18px;border-left:1px solid var(--linha)}
.numero b{display:block;font-family:var(--display);font-size:34px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 85}
.numero span{font-size:14px;color:var(--tinta-2)}
.numero.alerta b{color:var(--rubi)}
@media (max-width:700px){.numeros{grid-template-columns:1fr 1fr}.numero:nth-child(3){padding-left:0;border-left:0}.numero{border-bottom:1px solid var(--linha)}}

/* ---------- Situação ---------- */
.l-entregue{--c:var(--lima)} .l-execucao{--c:var(--anil)} .l-preparacao{--c:var(--ambar)} .l-parado{--c:var(--rubi)} .l-semacao{--c:var(--tinta-2)}
.etiqueta{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;white-space:nowrap}
.etiqueta::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c)}
.l-semacao.etiqueta::before{background:transparent;border:1.5px dashed var(--c)}
.legenda{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--tinta-2)}

/* Pílula: a casinha vazia do plano impresso, agora preenchida pela execução */
.pilula{position:relative;display:inline-block;width:76px;height:20px;border-radius:99px;background:var(--sup-2);border:1.5px solid var(--linha);overflow:hidden;flex:none}
.pilula i{position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--c);border-radius:99px}
.pilula.l-semacao{border-style:dashed;background:transparent}

/* ---------- Plano (grupos e propostas) ---------- */
.grupo{margin-top:26px}
.faixa-grupo{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 14px;border-radius:8px 8px 0 0;background:var(--lima-forte);color:#1A2408}
:root[data-tema=escuro] .faixa-grupo{color:#F1F7E2}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .faixa-grupo{color:#F1F7E2}}
.faixa-grupo h3{font-size:17px;font-variation-settings:"wdth" 85}
.faixa-grupo .tot{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.propostas{list-style:none;margin:0;padding:0;background:var(--sup);border:1px solid var(--linha);border-top:0;border-radius:0 0 8px 8px}
.proposta{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:10px 14px;border-top:1px solid var(--linha);text-decoration:none}
.proposta:first-child{border-top:0}
a.proposta:hover{background:var(--sup-2)}
.proposta .txt{line-height:1.4}
.proposta .lado{display:flex;align-items:center;gap:14px;color:var(--tinta-2);font-size:14px;font-variant-numeric:tabular-nums}
.proposta .lado b{color:var(--tinta);font-weight:700;min-width:42px;text-align:right}
@media (max-width:700px){.proposta{grid-template-columns:76px 1fr}.proposta .lado{grid-column:2}.proposta .lado .etiqueta{display:none}}

/* resumo compacto por grupo no panorama */
.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:6px}
@media (max-width:760px){.mosaico{grid-template-columns:1fr}}
.bloco-grupo{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:14px}
.bloco-grupo:hover{border-color:var(--tinta-2)}
.bloco-grupo .cab{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.bloco-grupo .cab b{font-family:var(--display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.bloco-grupo .cab b small{font-size:15px;color:var(--tinta-2);font-weight:500}
.pilulas{display:flex;flex-wrap:wrap;gap:6px}
.pilulas .pilula{width:44px;height:14px}
.bloco-grupo p{font-size:14px;color:var(--tinta-2)}

/* ---------- Atenção ---------- */
.atencao{counter-reset:a;display:flex;flex-direction:column}
.atencao a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--linha);text-decoration:none}
.atencao a:last-child{border-bottom:1px solid var(--linha)}
.atencao a::before{counter-increment:a;content:counter(a);font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--rubi)}
.atencao a:hover h3{color:var(--anil)}
.atencao p{color:var(--tinta-2);font-size:15px;margin-top:4px;max-width:70ch}
.atencao .por{font-size:14px;color:var(--tinta-2);text-align:right;white-space:nowrap}
@media (max-width:700px){.atencao a{grid-template-columns:36px 1fr}.atencao .por{grid-column:2;text-align:left}}
.selos{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.selo{font-size:13px;padding:2px 9px;border-radius:99px;border:1px solid var(--linha);background:var(--sup);white-space:nowrap}
.selo.urgente{background:var(--rubi-suave);border-color:transparent;color:var(--rubi);font-weight:700}
.selo.plano{background:var(--lima-forte);border-color:transparent;color:#1A2408;font-weight:700}
.selo.extra{background:var(--anil-suave);border-color:transparent;color:var(--anil);font-weight:700}

/* ---------- Listas de ações ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:6px}
.filtros button{border:1px solid var(--linha);background:var(--sup);border-radius:99px;padding:5px 13px;font-size:14px;cursor:pointer}
.filtros button[aria-pressed=true]{background:var(--tinta);border-color:var(--tinta);color:var(--fundo)}
.tabela-acoes{display:flex;flex-direction:column;background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.acao-linha{display:grid;grid-template-columns:62px minmax(0,1fr) 150px 92px;gap:16px;align-items:center;padding:12px 16px;border-top:1px solid var(--linha);text-decoration:none}
.acao-linha:first-child{border-top:0}
.acao-linha:hover{background:var(--sup-2)}
.acao-linha .cod{font-size:13px;color:var(--tinta-2);font-variant-numeric:tabular-nums}
.acao-linha .t small{display:block;color:var(--tinta-2);font-size:13px;margin-top:2px}
.acao-linha .pc{display:flex;align-items:center;gap:10px;justify-content:flex-end;font-variant-numeric:tabular-nums;font-weight:700}
.acao-linha .pc .pilula{width:52px;height:14px}
@media (max-width:760px){.acao-linha{grid-template-columns:1fr auto}.acao-linha .cod{display:none}.acao-linha .etiqueta{grid-column:1;grid-row:2}}
.subtitulo-lista{font-family:var(--display);font-size:17px;font-weight:700;margin:28px 0 10px;display:flex;gap:10px;align-items:baseline}
.subtitulo-lista span{font-family:var(--texto);font-weight:400;font-size:14px;color:var(--tinta-2)}

/* ---------- História de uma ação ---------- */
.cabeca-historia{display:flex;flex-direction:column;gap:14px;max-width:880px}
.cabeca-historia .acoes-topo{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.momentos{margin-top:30px;display:flex;flex-direction:column}
.momento{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;padding:26px 0;border-top:1px solid var(--linha)}
.momento>header h2{font-size:20px}
.momento>header p{font-size:14px;color:var(--tinta-2);margin-top:4px}
@media (max-width:760px){.momento{grid-template-columns:1fr;gap:12px}}
.promessa{font-family:var(--display);font-weight:500;font-size:clamp(20px,2.4vw,26px);line-height:1.3;letter-spacing:-.01em;max-width:40ch;font-variation-settings:"wdth" 92}
.criterio{margin-top:12px;color:var(--tinta-2)}
.criterio b{color:var(--tinta);font-weight:500}
.etapas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;list-style:none;padding:0;margin:0 0 18px}
.etapas li{padding:10px 12px;background:var(--sup);border:1px solid var(--linha);font-size:14px;line-height:1.3;color:var(--tinta-2)}
.etapas li:first-child{border-radius:8px 0 0 8px}.etapas li:last-child{border-radius:0 8px 8px 0}
.etapas li b{display:block;color:var(--tinta);font-weight:700;margin-bottom:2px}
.etapas li.feita{background:var(--sup-2);border-color:var(--lima);box-shadow:inset 0 -3px 0 var(--lima)}
.etapas li.agora{background:var(--c);border-color:var(--c);color:var(--fundo)}
.etapas li.agora b{color:var(--fundo)}
@media (max-width:640px){.etapas{grid-template-columns:1fr 1fr}.etapas li{border-radius:8px!important}}
.medidor{display:flex;align-items:center;gap:16px}
.medidor .barra{flex:1;height:12px;border-radius:99px;background:var(--sup-2);border:1px solid var(--linha);overflow:hidden}
.medidor .barra i{display:block;height:100%;width:var(--p);background:var(--c)}
.medidor b{font-family:var(--display);font-size:28px;font-variant-numeric:tabular-nums;min-width:80px;text-align:right}
.linha-tempo{list-style:none;margin:22px 0 0;padding:0 0 0 18px;border-left:2px solid var(--linha)}
.linha-tempo li{position:relative;padding:0 0 18px 8px}
.linha-tempo li::before{content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--sup);border:2px solid var(--c,var(--tinta-2))}
.linha-tempo time{font-size:13px;color:var(--tinta-2)}
.linha-tempo .o{font-weight:500}
.linha-tempo p{font-size:15px;color:var(--tinta-2);margin-top:2px}
.quadro{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px}
.quadro dt{font-size:13px;color:var(--tinta-2)}
.quadro dd{margin:2px 0 0}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:640px){.grade-2{grid-template-columns:1fr}}
.vazio{border:1.5px dashed var(--linha);border-radius:var(--raio);padding:18px;color:var(--tinta-2)}
.vazio strong{color:var(--tinta);display:block;margin-bottom:4px}
.nota{border-left:3px solid var(--ambar);background:var(--sup);padding:12px 14px;border-radius:0 8px 8px 0;font-size:15px;color:var(--tinta-2);margin-top:12px}
.nota.rubi{border-color:var(--rubi)}
.nota strong{color:var(--tinta)}
.comparativo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.comparativo div{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:14px}
.comparativo b{display:block;font-family:var(--display);font-size:26px;font-variant-numeric:tabular-nums}
.comparativo span{font-size:13px;color:var(--tinta-2)}
.vizinhos{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--linha);padding-top:20px;margin-top:10px}
.vizinhos a{text-decoration:none;max-width:46%;font-size:15px}
.vizinhos a span{display:block;font-size:13px;color:var(--tinta-2)}
.vizinhos a:hover{color:var(--anil)}

/* ---------- Botões e formulários ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);background:var(--sup);border-radius:8px;padding:8px 14px;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--tinta-2)}
.btn.primario{background:var(--anil);border-color:var(--anil);color:#fff}
:root[data-tema=escuro] .btn.primario{color:#11152B}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .btn.primario{color:#11152B}}
.btn.primario:hover{filter:brightness(1.08)}
.btn.discreto{border-color:transparent;background:transparent;padding:6px 8px;color:var(--tinta-2)}
.btn.discreto:hover{color:var(--tinta);background:var(--sup-2)}
.btn.perigo{color:var(--rubi)}
.btn svg{width:18px;height:18px}
form.ficha{display:flex;flex-direction:column;gap:22px;max-width:860px;margin-top:24px}
fieldset{border:1px solid var(--linha);border-radius:var(--raio);padding:18px;margin:0;background:var(--sup)}
legend{font-family:var(--display);font-weight:700;font-size:17px;padding:0 6px}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.campos .largo{grid-column:1/-1}
@media (max-width:640px){.campos{grid-template-columns:1fr}}
label.campo{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:500}
label.campo small{font-weight:400;color:var(--tinta-2)}
input[type=text],input[type=number],input[type=password],input[type=date],select,textarea{width:100%;border:1px solid var(--linha);background:var(--fundo);border-radius:8px;padding:9px 11px;font-size:15px}
textarea{min-height:92px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--anil);outline-offset:0;border-color:transparent}
.marcar{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow:auto;padding-right:6px}
.marcar .g{font-size:13px;font-weight:700;margin:10px 0 2px;color:var(--tinta-2)}
.marcar label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35;padding:4px 0;cursor:pointer}
.marcar input{margin-top:3px;accent-color:var(--anil)}
.barra-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
dialog{border:1px solid var(--linha);border-radius:14px;background:var(--sup);color:var(--tinta);padding:0;width:min(640px,94vw);max-height:90vh}
dialog::backdrop{background:rgba(10,14,12,.5)}
dialog[open]{animation:surge .18s ease-out}
@keyframes surge{from{opacity:0;transform:translateY(8px)}}
dialog form{padding:22px;display:flex;flex-direction:column;gap:16px}
#aviso{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--tinta);color:var(--fundo);padding:10px 16px;border-radius:8px;font-size:15px;opacity:0;pointer-events:none;transition:.2s;z-index:50}
#aviso.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:860px){#aviso{bottom:90px}}

/* ---------- Entrada ---------- */
.entrada{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.entrada .lado-a{background:var(--tinta);color:var(--fundo);padding:clamp(28px,6vw,72px);display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.entrada .lado-a .manchete{color:var(--fundo);font-size:clamp(44px,6vw,84px)}
.entrada .lado-a .pilulas .pilula{width:56px;height:16px;background:transparent;border-color:rgba(255,255,255,.25)}
.entrada form{align-self:center;justify-self:center;width:min(380px,90vw);display:flex;flex-direction:column;gap:14px;padding:30px 0}
.erro{color:var(--rubi);font-size:14px;min-height:1.2em}
@media (max-width:800px){.entrada{grid-template-columns:1fr}.entrada .lado-a{min-height:auto}}

/* ---------- PMS ---------- */
.passos{display:flex;gap:4px;margin:24px 0 8px;overflow-x:auto;list-style:none;padding:0}
.passos a{display:block;padding:10px 14px;border-radius:8px;background:var(--sup);border:1px solid var(--linha);text-decoration:none;font-size:14px;white-space:nowrap;color:var(--tinta-2)}
.passos a b{color:var(--tinta);margin-right:6px;font-family:var(--display)}
.passos a[aria-current=step]{background:var(--tinta);border-color:var(--tinta);color:var(--fundo)}
.passos a[aria-current=step] b{color:var(--fundo)}
.cobertura{display:flex;align-items:center;gap:18px;margin-top:18px;background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px}
.cobertura b{font-family:var(--display);font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.cobertura .medidor{flex:1}
.diretriz{border:1px solid var(--linha);border-radius:var(--raio);background:var(--sup);margin-top:18px}
.diretriz>.cab{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--linha)}
.diretriz>.cab .n{font-family:var(--display);font-weight:800;font-size:22px;color:var(--anil);line-height:1.2;min-width:46px}
.objetivo{padding:14px 16px 16px 26px;border-top:1px dashed var(--linha)}
.objetivo:first-of-type{border-top:0}
.objetivo>.cab{display:flex;gap:10px;align-items:flex-start}
.objetivo>.cab .n{font-weight:700;color:var(--tinta-2);min-width:46px;line-height:2.4;font-variant-numeric:tabular-nums}
.meta-pms{margin:12px 0 0 56px;padding:14px;border-radius:8px;background:var(--fundo);border:1px solid var(--linha)}
.meta-pms .campos{grid-template-columns:repeat(4,minmax(0,1fr))}
.meta-pms .campos .meio{grid-column:span 2}
@media (max-width:760px){.meta-pms{margin-left:0}.meta-pms .campos{grid-template-columns:1fr 1fr}}
.meta-pms .topo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:700;font-size:14px}
.cresce{flex:1}
.cresce input,.cresce textarea{background:transparent}
.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.checklist li{display:flex;gap:10px;align-items:flex-start}
.checklist li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:5px;border:2px solid var(--linha)}
.checklist li.ok::before{background:var(--lima);border-color:var(--lima)}
.estado-salvo{font-size:14px;color:var(--tinta-2)}

/* documento para impressão */
.documento{background:#fff;color:#111;max-width:820px;padding:56px 64px;border-radius:4px;box-shadow:0 0 0 1px var(--linha);font-size:15px}
.documento h1{font-size:34px;margin-bottom:6px}
.documento h2{font-size:22px;margin:34px 0 10px}
.documento h3{font-size:17px;margin:20px 0 6px}
.documento p{margin:0 0 10px;white-space:pre-wrap}
.documento table{width:100%;border-collapse:collapse;font-size:12.5px;margin:10px 0 18px}
.documento th,.documento td{border:1px solid #BFC5C2;padding:6px 7px;text-align:left;vertical-align:top}
.documento th{background:#EEF1EF}
@media print{
  body{background:#fff}
  .lateral,.topo-movel,.nao-imprimir,#aviso{display:none!important}
  .app{display:block}.conteudo{padding:0;max-width:none}
  .documento{box-shadow:none;padding:0;max-width:none}
  @page{margin:18mm 16mm}
}
.cresce textarea{min-height:0}

/* ---------- Etapa 1: planejamento estratégico ---------- */
:root{--j4:#6E9A1E;--j3:#B4A21F;--j2:#E07B1A;--j1:var(--rubi)}
:root[data-tema=escuro]{--j4:#A6CF45;--j3:#D8C94A;--j2:#F39A45}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]){--j4:#A6CF45;--j3:#D8C94A;--j2:#F39A45}}
.j-verde{--j:var(--j4)} .j-verde-ambar{--j:var(--j3)} .j-ambar-vermelho{--j:var(--j2)} .j-vermelho{--j:var(--j1)} .j-nenhum{--j:var(--linha)}
.juizo{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;white-space:nowrap}
.juizo::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--j);transform:rotate(45deg)}
.juizo.j-nenhum{font-weight:400;color:var(--tinta-2)}
.juizo.j-nenhum::before{background:transparent;border:1.5px dashed var(--tinta-2)}
.tipo-chip{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--tinta);color:var(--fundo);font-family:var(--display);font-weight:700;font-size:13px;flex:none}
.tipo-chip.vazio{background:transparent;border:1.5px dashed var(--linha);color:var(--tinta-2)}
.lado-acao{display:flex;align-items:center;gap:10px}
.acao-linha{grid-template-columns:62px minmax(0,1fr) 190px 92px}
@media (max-width:760px){.acao-linha .lado-acao{grid-column:1;grid-row:2}}
.faixa-juizo{display:flex;gap:3px;height:40px;border-radius:8px;overflow:hidden}
.faixa-juizo span{display:flex;align-items:center;padding:0 10px;background:var(--j);color:#fff;min-width:34px}
.faixa-juizo span.j-nenhum{background:repeating-linear-gradient(135deg,var(--sup-2) 0 6px,var(--sup) 6px 12px);color:var(--tinta-2);border:1px solid var(--linha)}
.faixa-juizo b{font-family:var(--display);font-size:18px}
.matriz{display:grid;grid-template-columns:120px repeat(3,minmax(0,1fr));gap:4px}
.m-col{font-size:14px;color:var(--tinta-2);padding:4px 8px}
.m-lin{font-size:14px;font-weight:700;display:flex;align-items:center;padding-right:8px}
.m-cel{position:relative;background:var(--sup);border:1px solid var(--linha);border-radius:8px;padding:28px 10px 10px;min-height:92px}
.m-cel.forte{background:var(--sup-2)}
.m-quad{position:absolute;top:7px;left:10px;font-size:12px;font-weight:700;color:var(--tinta-2)}
.m-cel .pontos{display:flex;flex-wrap:wrap;gap:4px}
.ponto{width:28px;height:28px;border-radius:6px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;text-decoration:none}
.ponto.l-preparacao{color:#2A2205}
.ponto.fora{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2.5px var(--c)}
.ponto:hover{outline:2px solid var(--tinta);outline-offset:1px}
@media (max-width:700px){.matriz{grid-template-columns:70px repeat(3,minmax(0,1fr))}.m-lin{font-size:12px}.m-quad{display:none}.m-cel{padding-top:10px}}
.tabela-rolavel{overflow-x:auto}
table.marcos{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px;background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
table.marcos th{text-align:left;font-size:13px;font-weight:500;color:var(--tinta-2);padding:9px 12px;border-bottom:1px solid var(--linha)}
table.marcos td{padding:9px 12px;border-top:1px solid var(--linha);font-variant-numeric:tabular-nums}
table.marcos tr.ok td:last-child{color:var(--lima);font-weight:700}
table.marcos tr.atraso td:last-child{color:var(--rubi);font-weight:700}
table.tipos td:first-child{display:flex;align-items:center;gap:10px}
table.editavel{width:100%;border-collapse:collapse;min-width:640px}
table.editavel th{text-align:left;font-size:13px;font-weight:500;color:var(--tinta-2);padding:4px 6px}
table.editavel td{padding:4px 6px}
table.editavel input[type=number]{width:74px}
.modelo-logico{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.modelo-logico li{background:var(--sup);border:1px solid var(--linha);padding:10px 12px;font-size:14px;line-height:1.4;position:relative}
.modelo-logico li:first-child{border-radius:8px 0 0 8px}.modelo-logico li:last-child{border-radius:0 8px 8px 0}
.modelo-logico b{display:block;font-size:13px;color:var(--anil);margin-bottom:4px}
@media (max-width:760px){.modelo-logico{grid-template-columns:1fr}.modelo-logico li{border-radius:8px!important}}
.orcamento{display:flex;flex-wrap:wrap;gap:6px 22px;font-variant-numeric:tabular-nums}
.orcamento b{font-weight:700}
.aval-topo{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}
.aval-topo .juizo{font-size:20px;font-family:var(--display)}
.criterios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.criterios>div{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.criterios span{font-size:14px;font-weight:700}
.criterios small{font-size:13px;color:var(--tinta-2)}
.nota-crit{display:flex;gap:4px}
.nota-crit i{flex:1;height:8px;border-radius:2px;background:var(--sup-2);border:1px solid var(--linha)}
.nota-crit i.on{background:var(--anil);border-color:var(--anil)}
@media (max-width:640px){.criterios{grid-template-columns:1fr}}
.entraves,.riscos{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.entraves li{background:var(--sup);border:1px solid var(--linha);border-left:3px solid var(--rubi);border-radius:0 var(--raio) var(--raio) 0;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.entraves li.resolvido{border-left-color:var(--lima);opacity:.75}
.entraves li>div:first-child{display:flex;flex-wrap:wrap;gap:6px}
.riscos li{display:flex;gap:14px;align-items:flex-start;background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:10px 14px}
.grau{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap}
.grau.g1{background:var(--sup-2)} .grau.g2{background:#F7E3B5;color:#5A3D00} .grau.g3{background:var(--rubi-suave);color:var(--rubi)}
fieldset.criterio-campo{padding:12px 14px}
fieldset.criterio-campo legend{font-size:15px}
fieldset.criterio-campo label{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:3px 0;cursor:pointer}
fieldset.criterio-campo b{font-family:var(--display);margin-right:4px}
.pauta{display:flex;flex-direction:column;gap:34px;margin-top:32px}
.pauta-item h2{display:flex;gap:12px;align-items:baseline}
.pauta-item h2 span{font-family:var(--display);color:var(--anil);font-size:.9em}
.lim{display:grid;grid-template-columns:minmax(0,170px) 1fr 34px;gap:12px;align-items:center;margin:8px 0;font-size:14px}
.lim>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lim .b{height:12px;background:var(--sup-2);border:1px solid var(--linha);border-radius:4px;overflow:hidden}
.lim .b span{display:block;height:100%;background:var(--ambar)}
.lim .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}

/* ---------- Fichas por categoria ---------- */
.indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:6px}
.indicadores>div{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.indicadores span{font-size:13px;color:var(--tinta-2)}
.indicadores b{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums;line-height:1.15}
.indicadores .barra{height:6px;border-radius:99px;background:var(--sup-2);overflow:hidden;margin-top:4px}
.indicadores .barra i{display:block;height:100%;background:var(--anil)}
.sub-ficha{font-size:15px;margin:20px 0 8px;color:var(--tinta-2);font-family:var(--texto);font-weight:700;letter-spacing:0}
dl.kv{display:grid;grid-template-columns:minmax(160px,240px) 1fr;margin:0;border-top:1px solid var(--linha)}
dl.kv dt,dl.kv dd{padding:7px 0;border-bottom:1px solid var(--linha);margin:0;font-size:15px}
dl.kv dt{color:var(--tinta-2);padding-right:14px}
@media (max-width:640px){dl.kv{grid-template-columns:1fr}dl.kv dt{border-bottom:0;padding-bottom:0}}
table.editavel select,table.editavel input{min-width:110px}

/* ---------- Relatórios ---------- */
.lista-relatorios{display:flex;flex-direction:column;margin-top:26px;border-top:2px solid var(--tinta)}
.relatorio-opcao{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--linha)}
.relatorio-opcao h2{font-size:20px;margin-bottom:4px}
@media (max-width:860px){.relatorio-opcao{grid-template-columns:1fr}}
.documento.relatorio{max-width:1000px}
.cab-rel{border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:6px}
.cab-rel p{font-size:13px;color:#555;margin:0}
.cab-rel h1{margin:6px 0}
.documento .indicadores>div,.documento dl.kv,.documento table.marcos{background:#fff;color:#111;border-color:#BFC5C2}
.documento .indicadores span,.documento dl.kv dt,.documento .sub-ficha{color:#555}
.documento .indicadores .barra{background:#E8EBE9}
.documento .indicadores .barra i{background:#2B44C7}
.documento dl.kv dt,.documento dl.kv dd{border-color:#D9DEDB}
.documento .vazio{border-color:#BFC5C2;color:#555}
.documento section.quebra{margin-top:28px}
@media print{
  .documento section.quebra{break-before:page}
  .documento table{break-inside:auto}.documento tr{break-inside:avoid}
  .documento h2,.documento h3{break-after:avoid}
  .momentos .btn,.acoes-topo .btn,.vizinhos,.linha-btns{display:none!important}
  .momento{break-inside:avoid-page}
  body{font-size:12.5px}
}
