/* Clash Studio — sistema visual
   Marinho institucional (confiança, setor público/financeiro) + verde-jade herdado da Vita3 como acento. */

@font-face{font-family:"Plex";src:url(../fonts/plex-sans-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-ext-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-ext-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-ext-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(../fonts/plex-sans-ext-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"PlexMono";src:url(../fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --marinho-900:#081B30; --marinho-800:#0E2A47; --marinho-700:#16395F; --marinho-600:#1F4A78; --marinho-100:#E6EDF5; --marinho-50:#F2F6FA;
  --jade-600:#008A58; --jade-500:#00A86B; --jade-100:#DDF5EA;
  --tinta:#152233; --texto:#2B3A4D; --suave:#5C6B7E; --apagado:#8A97A8;
  --linha:#DCE2EA; --linha-forte:#C5CEDA; --fundo:#F4F6F9; --superficie:#FFFFFF;
  --critica:#B42318; --critica-f:#FDECEA; --alta:#C4540A; --alta-f:#FEF0E6; --media:#9A6B00; --media-f:#FFF6DB; --baixa:#3D6293; --baixa-f:#E9F0F9;
  --ok:#00875A; --ok-f:#E3F6EE;
  --raio:10px; --raio-p:7px;
  --sombra:0 1px 2px rgba(16,32,56,.06),0 1px 3px rgba(16,32,56,.06);
  --sombra-alta:0 12px 32px rgba(8,27,48,.16);
  --fonte:"Plex",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"PlexMono",ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--fonte);font-size:14.5px;line-height:1.5;color:var(--texto);background:var(--fundo);-webkit-font-smoothing:antialiased}
a{color:var(--marinho-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--tinta);margin:0;line-height:1.25;font-weight:600}
h1{font-size:22px;letter-spacing:-.01em}
h2{font-size:17px}
h3{font-size:15px}
p{margin:0 0 .75em}
code,.mono{font-family:var(--mono);font-size:.92em}
.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ic-p{width:15px;height:15px}
.oculto{display:none!important}
.faixa-suporte{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 18px;padding:10px 16px;border-radius:10px;background:#FFF4E0;border:1px solid #F0B64A;color:#6B4200;font-size:13.5px}
.faixa-suporte span{flex:1;min-width:260px}
.faixa-suporte.pedido{background:var(--marinho-50);border-color:var(--marinho-600);color:var(--marinho-800)}
.faixa-suporte form{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ── Estrutura ─────────────────────────────────────────── */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.lateral{background:var(--marinho-800);color:#C9D6E6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.lateral .marca{display:flex;align-items:center;gap:10px;padding:20px 20px 18px;color:#fff;text-decoration:none}
.lateral .marca img{width:30px;height:30px}
.lateral .marca b{font-size:21px;font-weight:600;letter-spacing:-.02em}
.lateral .marca b em,.auth-arte .marca b em{font-style:normal;font-weight:400;color:#4FD6A0}
.lateral .marca small{display:block;font-size:9.5px;color:#8FA6C2;letter-spacing:.04em;text-transform:uppercase;margin-top:-1px;white-space:nowrap}
.lateral nav{padding:6px 12px;flex:1;overflow-y:auto}
.lateral .grupo{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#7C93AF;padding:16px 10px 6px}
.lateral nav a{display:flex;align-items:center;gap:11px;padding:8.5px 10px;border-radius:var(--raio-p);color:#C9D6E6;font-weight:500;font-size:14px}
.lateral nav a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.menu-contador{margin-left:auto;background:var(--jade-500);color:#fff;font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 8px;line-height:1.5}
.lateral nav a.ativo{background:var(--marinho-700);color:#fff;box-shadow:inset 3px 0 0 var(--jade-500)}
.lateral .rodape{padding:14px 20px;font-size:11.5px;color:#7C93AF;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px}
.lateral .rodape .logo-vita3{height:18px;width:auto;display:block;transform:translateY(-9%)}
.lateral .rodape span,.auth-arte .rodape span{font-weight:600;color:#AFC1D6}

.principal{min-width:0;display:flex;flex-direction:column}
.topo{height:60px;background:var(--superficie);border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:16px;padding:0 28px;position:sticky;top:0;z-index:20}
.topo .migalhas{flex:1;min-width:0;font-size:13.5px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topo .migalhas a{color:var(--suave)}
.topo .migalhas span{color:var(--tinta);font-weight:500}
.topo form{margin:0}
.seletor-empresa select{border:1px solid var(--linha);border-radius:var(--raio-p);padding:6px 30px 6px 10px;font:inherit;font-size:13px;color:var(--tinta);background:var(--marinho-50);max-width:260px}
.usuario{display:flex;align-items:center;gap:10px;font-size:13px}
/* Manual de operação: botão do topo e painel lateral, sem sair da tela */
.btn-manual{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid var(--linha);border-radius:18px;background:var(--superficie);color:var(--suave);font:500 13px/1 var(--fonte);cursor:pointer;white-space:nowrap}
.btn-manual:hover,.btn-manual[aria-expanded="true"]{border-color:var(--jade-500);color:var(--tinta);background:var(--ok-f)}
.btn-manual .ic{width:18px;height:18px}
.painel-manual{position:fixed;top:60px;right:0;bottom:0;width:440px;max-width:100vw;background:var(--superficie);border-left:1px solid var(--linha);box-shadow:-8px 0 24px rgba(14,42,71,.10);z-index:30;display:flex;flex-direction:column}
.painel-manual[hidden]{display:none}
.pm-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--linha)}
.pm-cab b{display:block;font-size:15px;color:var(--tinta)}
.pm-cab small{display:block;font-size:12px;color:var(--suave);margin-top:2px}
.pm-busca{padding:10px 16px;border-bottom:1px solid var(--linha)}
.pm-busca input{width:100%}
.pm-corpo{flex:1;overflow-y:auto;padding:12px 16px 24px;font-size:13.5px;line-height:1.55;color:var(--tinta)}
.pm-grupo{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);font-weight:600;margin:14px 0 6px}
.pm-grupo:first-child{margin-top:2px}
.pm-item{display:block;width:100%;text-align:left;border:1px solid var(--linha);border-radius:var(--raio-p);background:var(--superficie);padding:9px 11px;margin-bottom:6px;cursor:pointer;font:inherit;color:inherit}
.pm-item:hover,.pm-item:focus-visible{border-color:var(--jade-500);background:var(--ok-f)}
.pm-item b{display:block;font-size:13.5px}
.pm-item small{display:block;color:var(--suave);font-size:12px;margin-top:2px}
.pm-item .trecho{display:block;color:var(--suave);font-size:12.5px;margin-top:4px}
.pm-vazio{color:var(--suave)}
.pm-voltar{border:0;background:none;color:var(--jade-600);font:600 13px var(--fonte);cursor:pointer;padding:0;margin-bottom:10px}
.pm-secao h3{font-size:16px;margin:0 0 2px}
.pm-secao .pm-cap{font-size:12px;color:var(--suave);margin-bottom:10px}
.pm-secao h4{font-size:14px;margin:14px 0 4px}
.pm-secao p{margin:0 0 9px}
.pm-secao ul,.pm-secao ol{margin:0 0 10px;padding-left:20px}
.pm-secao li{margin-bottom:4px}
.pm-secao table{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:12.5px}
.pm-secao td,.pm-secao th{border:1px solid var(--linha);padding:5px 7px;vertical-align:top;text-align:left}
.pm-secao th{background:var(--fundo);font-weight:600}
.painel-manual mark{background:#FFF1B8;color:inherit;padding:0 1px;border-radius:2px}
@media (max-width:900px){.btn-manual span{display:none}.btn-manual{width:38px;padding:0;justify-content:center;border-radius:50%}}
@media (max-width:600px){.painel-manual{width:100vw}}
.sino{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--suave)}
.sino:hover{background:var(--fundo);text-decoration:none}
.sino span{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--critica);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center}
.lista-avisos{display:flex;flex-direction:column}
.aviso-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 20px;border-top:1px solid var(--linha);color:var(--texto);text-decoration:none}
.aviso-item:first-child{border-top:0}
.aviso-item:hover{background:var(--marinho-50);text-decoration:none}
.aviso-item.novo{background:#FBFCFE}
.aviso-item.novo .aviso-texto{color:var(--tinta);font-weight:500}
.aviso-item small{color:var(--suave);white-space:nowrap}
.diario{display:flex;flex-direction:column}
.diario-item{padding:16px 20px;border-top:1px solid var(--linha)}
.diario-item:first-child{border-top:0}
.diario-item h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14.5px}
.diario-item .meta{font-size:12.5px;color:var(--suave);margin:2px 0 8px}
.diario-item p{white-space:pre-wrap;margin:0 0 10px}
.diario-fotos{display:flex;gap:8px;flex-wrap:wrap}
.diario-fotos img{width:120px;height:90px;object-fit:cover;border-radius:var(--raio-p);border:1px solid var(--linha)}
.usuario .avatar{width:32px;height:32px;border-radius:50%;background:var(--marinho-100);color:var(--marinho-800);display:grid;place-items:center;font-weight:600;font-size:12.5px}
.usuario .nome{line-height:1.2}
.usuario .nome small{display:block;color:var(--suave);font-size:11.5px}
.botao-menu{display:none;background:none;border:0;color:var(--tinta);padding:6px;cursor:pointer}
.conteudo{padding:26px 28px 48px;max-width:1360px;width:100%}

/* ── Cabeçalho de página ───────────────────────────────── */
.voltar{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 12px;padding:5px 10px 5px 6px;border-radius:var(--raio-p);color:var(--suave);font-size:13px;font-weight:500}
.voltar:hover{background:var(--marinho-100);color:var(--marinho-800);text-decoration:none}
.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.cab .sub{color:var(--suave);margin-top:4px;font-size:14px}
.cab .acoes{display:flex;gap:8px;flex-wrap:wrap}

details.encerrados{border-top:1px solid var(--linha)}
details.encerrados summary{padding:11px 20px;cursor:pointer;color:var(--marinho-600);font-size:13.5px;font-weight:500}
details.encerrados summary:hover{background:var(--marinho-50)}
details.encerrados .tabela td{color:var(--suave)}

/* ── Consulta externa ────────────────────────────────── */
.consulta-topo{display:flex;align-items:center;gap:18px;padding:12px 28px;background:var(--marinho-800);color:#C9D6E6;flex-wrap:wrap}
.consulta-topo .marca{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}
.consulta-topo .marca img{width:26px;height:26px}
.consulta-topo .marca b{font-size:18px;font-weight:600}
.consulta-topo .marca em{font-style:normal;font-weight:400;color:#4FD6A0}
.consulta-info{flex:1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}
.consulta-info b{color:#fff}

/* ── Roteiro da obra e indicadores clicáveis ─────────── */
.roteiro{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.roteiro a{display:flex;gap:10px;align-items:flex-start;height:100%;padding:12px 14px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--superficie);color:var(--texto);text-decoration:none}
.roteiro a:hover{border-color:var(--marinho-600);box-shadow:var(--sombra)}
.roteiro .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;background:var(--marinho-100);color:var(--marinho-800)}
.roteiro b{display:block;color:var(--tinta);font-size:14px}
.roteiro small{display:block;color:var(--suave);font-size:12px;line-height:1.35;margin-top:2px}
.roteiro a.feito .n{background:var(--ok);color:#fff}
.roteiro a.atual{border-color:var(--jade-500)}
.roteiro a.atual .n{background:var(--jade-500);color:#fff}
.roteiro a.alerta{border-color:#F1C4BF}
.roteiro a.alerta .n{background:var(--critica);color:#fff}
.roteiro a.inativo{opacity:.55;pointer-events:none}
a.kpi-link{display:block;color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s}
a.kpi-link:hover{border-color:var(--marinho-600);box-shadow:var(--sombra-alta)}
@media (max-width:900px){.roteiro{grid-template-columns:1fr 1fr}}

/* ── Botões ───────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 15px;border-radius:var(--raio-p);border:1px solid transparent;font:inherit;font-weight:500;font-size:13.5px;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:background .12s,border-color .12s}
.btn-primario{background:var(--marinho-800);color:#fff}
.btn-primario:hover{background:var(--marinho-700)}
.btn-destaque{background:var(--jade-500);color:#fff}
.btn-destaque:hover{background:var(--jade-600)}
.btn-sec{background:var(--superficie);color:var(--tinta);border-color:var(--linha-forte)}
.btn-sec:hover{background:var(--marinho-50);border-color:var(--apagado)}
.btn-fantasma{background:none;color:var(--marinho-600)}
.btn-fantasma:hover{background:var(--marinho-50)}
.btn-perigo{background:var(--superficie);color:var(--critica);border-color:#F1C4BF}
.btn-perigo:hover{background:var(--critica-f)}
.btn-p{height:30px;padding:0 11px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-bloco{width:100%}

/* ── Cartões e grades ─────────────────────────────────── */
.cartao{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra)}
.cartao-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--linha)}
.cartao-cab p{margin:2px 0 0;color:var(--suave);font-size:13px}
.cartao-corpo{padding:20px}
.grade{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.pilha>*+*{margin-top:18px}

.kpi{padding:18px 20px}
.kpi .rotulo{font-size:12.5px;color:var(--suave);display:flex;align-items:center;gap:7px}
.kpi .valor{font-size:28px;font-weight:600;color:var(--tinta);margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .nota{font-size:12.5px;color:var(--suave);margin-top:2px}
.kpi.alerta .valor{color:var(--critica)}

/* ── Tabelas ──────────────────────────────────────────── */
.tabela-rolagem{overflow-x:auto}
table.tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.tabela th{text-align:left;font-weight:500;color:var(--suave);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;border-bottom:1px solid var(--linha);background:var(--marinho-50);white-space:nowrap}
.tabela td{padding:11px 16px;border-bottom:1px solid var(--linha);vertical-align:middle}
.tabela tr:last-child td{border-bottom:0}
.tabela tr.clicavel{cursor:pointer}
.tabela tr.clicavel:hover td{background:var(--marinho-50)}
.tabela .num{text-align:right;font-variant-numeric:tabular-nums}
.tabela .fraco{color:var(--suave);font-size:12.5px}
.tabela .acoes{text-align:right;white-space:nowrap}

/* ── Selos ────────────────────────────────────────────── */
.selo{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;background:var(--marinho-100);color:var(--marinho-700);white-space:nowrap}
.selo::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.selo.sem-ponto::before{display:none}
.s-critica{background:var(--critica-f);color:var(--critica)}
.s-alta{background:var(--alta-f);color:var(--alta)}
.s-media{background:var(--media-f);color:var(--media)}
.s-baixa{background:var(--baixa-f);color:var(--baixa)}
.s-ok,.s-pronto,.s-concluida,.s-resolvido{background:var(--ok-f);color:var(--ok)}
.s-erro{background:var(--critica-f);color:var(--critica)}
.s-avencer{background:#E8EFF7;color:var(--marinho-600,#1F4A78)}
.s-cancelada{background:#EEF0F3;color:var(--suave)}
.dica-flutuante{position:fixed;z-index:1000;max-width:280px;padding:7px 10px;border-radius:6px;background:var(--marinho-900,#081B30);color:#fff;font-size:12.5px;line-height:1.35;box-shadow:0 4px 14px rgba(8,27,48,.25);pointer-events:none}
@media print{.dica-flutuante{display:none!important}}
details>summary.btn{list-style:none;cursor:pointer}
details>summary.btn::-webkit-details-marker{display:none}
.faixa-cobranca{display:flex;gap:12px;align-items:center;padding:10px 16px;font-size:13.5px;line-height:1.45}
.faixa-cobranca.vencida{background:var(--media-f);color:var(--tinta);border-bottom:1px solid var(--media)}
.faixa-cobranca.suspensa{background:var(--critica);color:#fff}
.faixa-cobranca.suspensa a{color:#fff;text-decoration:underline}
.somente-leitura main [data-escrita],.somente-leitura main [data-abrir],.somente-leitura main form[method=post]:not([data-livre]){display:none!important}
.s-processando,.s-fila,.s-enviado,.s-executando,.s-pendente,.s-em_analise{background:var(--media-f);color:var(--media)}
.s-aberto{background:var(--alta-f);color:var(--alta)}
.s-aceito,.s-falso_positivo,.s-substituido{background:#EEF0F3;color:var(--suave)}
.formato{display:inline-block;font-family:var(--mono);font-size:11px;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--marinho-800);color:#fff;letter-spacing:.03em}

/* ── Formulários ──────────────────────────────────────── */
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.campo label,.rotulo-campo{font-size:13px;font-weight:500;color:var(--tinta)}
.campo .ajuda{font-size:12.5px;color:var(--suave)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],input[type=tel],select,textarea{width:100%;font:inherit;font-size:14px;color:var(--tinta);background:var(--superficie);border:1px solid var(--linha-forte);border-radius:var(--raio-p);padding:8.5px 11px;transition:border-color .12s,box-shadow .12s}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--marinho-600);box-shadow:0 0 0 3px rgba(31,74,120,.15)}
.linha-campos{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.check{display:flex;align-items:flex-start;gap:9px;font-size:14px;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--marinho-800)}
:focus-visible{outline:2px solid var(--marinho-600);outline-offset:2px}

/* ── Limites do plano (tabela de empresas) ────────────── */
.limites{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:0}
.limites label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--suave);font-weight:500}
.limites label.check{flex-direction:row;align-items:center;padding-bottom:6px;color:var(--texto)}
.limites select,.limites input[type=number]{width:auto;padding:5px 8px;font-size:13px}
.limites input[type=number]{width:84px}

/* ── Ajuda campo a campo ──────────────────────────────── */
.btn-ajuda{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:5px;border-radius:50%;border:1px solid var(--linha-forte);background:var(--superficie);color:var(--suave);font:600 11px/1 var(--fonte);cursor:pointer;vertical-align:1px;padding:0}
.btn-ajuda:hover,.btn-ajuda[aria-expanded=true]{background:var(--marinho-800);border-color:var(--marinho-800);color:#fff}
.balao-ajuda{position:absolute;z-index:200;max-width:320px;padding:11px 13px;border-radius:8px;background:var(--marinho-900);color:#E3EAF3;font-size:12.5px;font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0;box-shadow:var(--sombra-alta);white-space:normal}
.balao-ajuda::before{content:"";position:absolute;top:-5px;left:var(--seta,14px);width:10px;height:10px;background:var(--marinho-900);transform:rotate(45deg)}

/* ── Avisos ───────────────────────────────────────────── */
.aviso{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--raio-p);font-size:13.5px;margin-bottom:16px;border:1px solid}
.aviso-sucesso{background:var(--ok-f);border-color:#B5E4CF;color:#0B5E40}
.aviso-erro{background:var(--critica-f);border-color:#F4C7C2;color:#8A1C13}
.aviso-aviso{background:var(--media-f);border-color:#F0DDA2;color:#6E4D00}
.aviso-base{border-left:4px solid var(--media)}
.cartao-celular{border-left:4px solid var(--media)}
.cartao-celular h2 .ic{color:var(--media);vertical-align:-2px}
.celular-colunas{padding:4px 20px 18px}
.celular-colunas h3{font-size:14px;margin:0 0 6px;color:var(--tinta)}
.celular-colunas ul,.celular-colunas ol{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.celular-colunas li+li{margin-top:6px}
.ajuda-2fa{margin-top:18px;font-size:13px;color:var(--suave)}
.ajuda-2fa p{margin:0 0 8px}
.aviso-base .ic{flex:none;margin-top:2px}
.selo-base{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--media-f);color:#6E4D00;border:1px solid #F0DDA2;font-weight:500}
.reprog-estado{font-weight:400;color:var(--suave)}
.reprog-dica{font-size:12px;color:var(--suave);margin-top:4px}
.campo-reprog.ativa{background:var(--alta-f);border:1px solid #F5C9A6;border-left:4px solid var(--alta);border-radius:var(--raio-p);padding:10px 12px}
.campo-reprog.ativa .reprog-estado{color:var(--alta);font-weight:600}
.campo-reprog.ativa textarea{border-color:var(--alta)}
.aviso-info{background:var(--marinho-50);border-color:var(--marinho-100);color:var(--marinho-700)}
.app-campo{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.app-campo-qr{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none}
.app-campo-qr .qr{width:200px;height:200px;padding:8px;border:1px solid var(--linha);border-radius:var(--raio-p);background:#fff}
.app-campo-qr .qr svg{width:100%;height:100%;display:block}
.app-campo-qr small{color:var(--suave);font-size:12.5px}
.passos-app{flex:1;min-width:240px;margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.lista-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px}
.lista-check li{display:flex;gap:8px;align-items:flex-start}
.lista-check .ic{color:var(--jade-600);margin-top:2px}
.barra-crono{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.barra-crono .acoes{display:flex;gap:8px;flex-wrap:wrap}
.barra-crono form{margin:0}
.menu-exportar{position:relative}
.menu-exportar summary{list-style:none;cursor:pointer}
.menu-exportar summary::-webkit-details-marker{display:none}
.menu-exportar-lista{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:300px;background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra-alta);padding:6px}
.menu-exportar-lista a{display:block;padding:9px 12px;border-radius:var(--raio-p);color:var(--tinta);text-decoration:none}
.menu-exportar-lista a:hover{background:var(--marinho-50);text-decoration:none}
.menu-exportar-lista small{display:block;color:var(--suave);font-size:12px}
.legenda-crono{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 20px 0;font-size:12.5px;color:var(--texto)}
.legenda-crono span{display:inline-flex;align-items:center;gap:6px}
.legenda-crono i{width:14px;height:10px;border-radius:3px;display:inline-block}
.legenda-crono i.base{height:4px;background:#B7C2D0}
.legenda-crono i.hoje{width:0;height:12px;border-left:2px dashed #B42318;border-radius:0}
.legenda-crono i.marco{width:9px;height:9px;background:#5C6B7E;transform:rotate(45deg);border-radius:1px}
.gantt-rolagem{overflow-x:auto;padding:10px 0 4px}
.gantt{display:block;font-family:var(--fonte)}
.gantt .g-mes{font-size:12px;font-weight:600;fill:#2B3A4D}
.gantt .g-dia{font-size:10px;fill:#8A97A8}
.gantt .g-cab{font-size:11px;font-weight:600;fill:#5C6B7E;text-transform:uppercase;letter-spacing:.04em}
.gantt .g-nome{font-size:12.5px;fill:#152233}
.gantt .g-sub{font-size:10.5px;fill:#5C6B7E}
.gantt .g-valor{font-size:11px;fill:#2B3A4D;font-variant-numeric:tabular-nums}
.gantt .g-hoje{font-size:10px;font-weight:600;fill:#fff}
.gantt .g-linha:hover rect:first-of-type{fill:rgba(31,74,120,.06)}
.curva-s{display:block;width:100%;height:auto;font-family:var(--fonte)}
.curva-s .c-eixo{font-size:11px;fill:#5C6B7E}
.curva-s .c-rotulo{font-size:12px;font-weight:600;fill:#152233}
.galeria-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.galeria-fotos a{display:flex;flex-direction:column;gap:5px;color:inherit;text-decoration:none}
.galeria-fotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--raio-p);border:1px solid var(--linha);background:var(--fundo)}
.galeria-fotos .selo{align-self:flex-start}
.galeria-fotos small{font-size:12px;color:var(--suave)}

/* ── Abas ─────────────────────────────────────────────── */
.abas{display:flex;gap:4px;border-bottom:1px solid var(--linha);margin-bottom:20px;overflow-x:auto}
.abas a{padding:10px 14px;color:var(--suave);font-weight:500;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;gap:7px;align-items:center}
.abas a:hover{color:var(--tinta);text-decoration:none}
.abas a.ativo{color:var(--marinho-800);border-bottom-color:var(--jade-500)}
.abas .contagem{font-size:11.5px;background:var(--marinho-100);color:var(--marinho-700);border-radius:999px;padding:0 7px}

/* ── Estados vazios ───────────────────────────────────── */
.vazio{text-align:center;padding:44px 24px;color:var(--suave)}
.vazio .ic{width:38px;height:38px;color:var(--apagado);margin-bottom:10px}
.vazio h3{margin-bottom:6px}
.vazio p{max-width:440px;margin:0 auto 16px}

/* ── Lista de definições ──────────────────────────────── */
dl.dados{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:13.5px}
dl.dados dt{color:var(--suave)}
dl.dados dd{margin:0;color:var(--tinta)}

/* ── Upload ───────────────────────────────────────────── */
.zona-upload{display:block;border:1.5px dashed var(--linha-forte);border-radius:var(--raio);padding:26px;text-align:center;background:var(--marinho-50);cursor:pointer;transition:border-color .12s,background .12s}
.zona-upload:hover,.zona-upload.sobre{border-color:var(--marinho-600);background:var(--marinho-100)}
.zona-upload .ic{width:30px;height:30px;color:var(--marinho-600)}
.zona-upload strong{display:block;color:var(--tinta);margin-top:6px}
.zona-upload small{color:var(--suave)}
.fila-upload{margin-top:14px}
.item-upload{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--linha);font-size:13px}
.barra{grid-column:1/-1;height:5px;background:var(--linha);border-radius:3px;overflow:hidden}
.barra i{display:block;height:100%;width:0;background:var(--jade-500);transition:width .2s}
.item-upload.falhou .barra i{background:var(--critica)}

/* ── Visualizadores ───────────────────────────────────── */
.visor{position:relative;height:calc(100vh - 230px);min-height:460px;background:#0B1826;border-radius:var(--raio);overflow:hidden}
.visor canvas{display:block;width:100%;height:100%;cursor:grab}
.visor canvas:active{cursor:grabbing}
.visor-barra{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:2;flex-wrap:wrap}
.visor-barra button{height:32px;min-width:32px;padding:0 10px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:rgba(8,27,48,.82);color:#DCE6F2;font:inherit;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:6px}
.visor-barra button:hover{background:rgba(22,57,95,.95)}
.visor-barra button.ativo{border-color:var(--jade-500);color:#fff}
.visor-barra select{height:32px;padding:0 28px 0 10px;border-radius:6px;border:1px solid var(--jade-500);background-color:rgba(8,27,48,.9);color:#fff;font:inherit;font-size:12.5px;font-weight:600;width:auto;cursor:pointer}
.visor-coord{position:absolute;bottom:10px;left:12px;font-family:var(--mono);font-size:11.5px;color:#9FB3C8;background:rgba(8,27,48,.7);padding:3px 8px;border-radius:4px}
.visor-legenda{position:absolute;bottom:10px;right:12px;font-size:12px;color:#DCE6F2;background:rgba(8,27,48,.82);padding:8px 10px;border-radius:6px;max-width:260px}
.visor-carregando{position:absolute;inset:0;display:grid;place-items:center;color:#9FB3C8;font-size:14px}
.painel-camadas{max-height:calc(100vh - 230px);overflow-y:auto}
.camada{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;border-bottom:1px solid var(--linha)}
.camada i{width:10px;height:10px;border-radius:2px;flex:none}
.camada span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.camada em{font-style:normal;color:var(--apagado);font-size:11.5px}
.gradiente{height:8px;border-radius:4px;background:linear-gradient(90deg,#2B83BA,#ABDDA4,#FFFFBF,#FDAE61,#D7191C);margin:6px 0 3px}

/* ── Autenticação ─────────────────────────────────────── */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.auth-arte{background:var(--marinho-800);color:#C9D6E6;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-arte .grade-tecnica{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(160deg,#000 20%,transparent 85%)}
.auth-arte>*{position:relative}
.auth-arte .marca{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;align-self:flex-start}
.auth-arte .marca img{width:40px;height:40px}
.auth-arte .marca b{font-size:28px;font-weight:600;letter-spacing:-.02em}
.auth-arte .marca small{display:block;font-size:12px;color:#8FA6C2;letter-spacing:.05em;text-transform:uppercase;margin-top:-2px;white-space:nowrap}
.auth-arte h2{color:#fff;font-size:30px;font-weight:600;line-height:1.2;max-width:460px;letter-spacing:-.015em}
.auth-arte .slogan{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8FA6C2;margin:0 0 14px}
.auth-arte h2 em{font-style:normal;color:#4FD6A0}
.auth-arte ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;max-width:460px}
.auth-arte li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px}
.auth-arte li .ic{color:#4FD6A0;margin-top:2px}
.auth-arte .rodape{font-size:12.5px;color:#7C93AF;display:flex;align-items:center;gap:10px}
.auth-arte .rodape .logo-vita3{height:22px;width:auto;display:block;transform:translateY(-9%)}
.auth-form{display:grid;place-items:center;padding:40px 24px;background:var(--superficie)}
.auth-form .caixa{width:100%;max-width:380px}
.auth-form h1{font-size:24px;margin-bottom:6px}
.auth-form .sub{color:var(--suave);margin-bottom:26px}
.auth-form .seguro{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:22px;color:var(--suave);font-size:12.5px}
.codigo-2fa{font-family:var(--mono);font-size:24px!important;letter-spacing:.4em;text-align:center}

/* ── Conflitos ───────────────────────────────────────── */
.lista-conf{max-height:calc(100vh - 230px);overflow-y:auto}
.item-conf{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;padding:11px 14px;border-bottom:1px solid var(--linha);cursor:pointer;font-size:13px}
.item-conf:hover{background:var(--marinho-50)}
.item-conf.ativo{background:var(--marinho-100);box-shadow:inset 3px 0 0 var(--jade-500)}
.item-conf .n{font-family:var(--mono);color:var(--suave);font-size:12px;padding-top:1px}
.item-conf .t{color:var(--tinta);font-weight:500}
.item-conf .d{grid-column:2/-1;color:var(--suave);font-size:12.5px}
.parecer{white-space:pre-wrap;font-size:14px;line-height:1.6}
.comentario{padding:12px 0;border-bottom:1px solid var(--linha)}
.comentario .quem{font-size:12.5px;color:var(--suave);margin-bottom:3px}
.comentario .quem b{color:var(--tinta);font-weight:600}

.passos{display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.passos li{flex:1;min-width:180px;padding:14px 16px;border:1px solid var(--linha);border-radius:var(--raio-p);background:var(--superficie);font-size:13px}
.passos li b{display:block;color:var(--tinta);margin-bottom:2px}
.passos li.feito{border-color:#B5E4CF;background:var(--ok-f)}

.progresso{height:6px;background:var(--linha);border-radius:3px;overflow:hidden;margin-top:8px}
.progresso i{display:block;height:100%;background:var(--jade-500)}

.modal-fundo{position:fixed;inset:0;background:rgba(8,27,48,.5);display:grid;place-items:center;z-index:100;padding:16px}
.modal{background:var(--superficie);border-radius:var(--raio);box-shadow:var(--sombra-alta);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}

/* ── Responsivo ───────────────────────────────────────── */
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.g-2-1{grid-template-columns:1fr}}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:50;transform:translateX(-100%);transition:transform .2s}
  .lateral.aberta{transform:none;box-shadow:var(--sombra-alta)}
  .botao-menu{display:block}
  .topo{padding:0 16px}
  .conteudo{padding:20px 16px 40px}
  .g2,.g3{grid-template-columns:1fr}
  .usuario .nome,.seletor-empresa{display:none}
  .auth{grid-template-columns:1fr}
  .auth-arte{display:none}
  .visor{height:62vh}
}
@media (max-width:560px){.g4,.g5{grid-template-columns:1fr}}

@media print{
  .lateral,.topo,.nao-imprimir{display:none!important}
  .app{display:block}
  body{background:#fff;font-size:12px}
  .conteudo{padding:0;max-width:none}
  .cartao{box-shadow:none;break-inside:avoid}
}

/* Motor e fila: medidor de ocupação por faixa e barras de tarefas por dia */
.faixa-motor{padding:16px 18px}
.faixa-motor .rotulo{display:flex;align-items:center;gap:6px;color:var(--suave);font-size:13px}
.medidor{display:block;width:150px;margin:6px auto 2px}
.medidor path{fill:none;stroke-width:12;stroke-linecap:round}
.medidor-valor{font-size:20px;font-weight:700;fill:var(--tinta)}
.medidor-rotulo{font-size:9.5px;fill:var(--suave)}
.faixa-espera{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:var(--ok);text-align:center}
.faixa-espera span span{white-space:nowrap}
.faixa-ocupacao{text-align:center;font-size:12.5px}
.faixa-ocupacao span{white-space:nowrap}
.oculto-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.faixa-espera.acima{color:var(--alta)}
.faixas-tendencia{padding:4px 18px 14px;gap:18px}
.faixas-tendencia b{font-size:13px;color:var(--tinta)}
.barras{display:block;width:100%;height:auto;margin-top:6px}
.barras-dia{font-size:9px;fill:var(--apagado)}
.barras-valor{font-size:10px;font-weight:600;fill:var(--texto)}
.barras g:hover path{fill:var(--jade-600)}
/* Laudos da medição */
.lista-laudos{list-style:none;margin:0;padding:0;font-size:13.5px}
.lista-laudos li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:5px 0;border-bottom:1px dashed var(--linha)}
.lista-laudos li:last-child{border-bottom:0}
.lista-laudos a{display:inline-flex;gap:5px;align-items:center;font-weight:600}
/* Dependências da etapa */
.dependencias{display:grid;gap:8px;font-size:13.5px}
.dependencias b{margin-right:6px}
.form-laudo{margin-top:4px}
.link-laudo{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;background:none;border:0;padding:0;color:var(--marinho-600);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.link-laudo:hover{text-decoration:underline}

/* Escolha do perfil da equipe Clash Studio */
.perfil-equipe{border:0;padding:0;margin:4px 0 14px;display:grid;gap:8px}
.perfil-equipe legend{font-weight:600;font-size:13.5px;margin-bottom:6px;color:var(--tinta)}
.perfil-opcao{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linha);border-radius:var(--raio-p);padding:10px 12px;cursor:pointer;font-size:13px;line-height:1.5;color:var(--suave)}
.perfil-opcao input{margin-top:3px}
.perfil-opcao b{color:var(--tinta)}
.perfil-opcao span > b:first-child{display:block}
.perfil-opcao:has(input:checked){border-color:var(--jade-500);background:var(--ok-f)}

/* Chat do site visto pela equipe (Plataforma › Leads) */
.chat-mensagens{max-height:420px;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:8px;background:var(--fundo)}
.chat-msg{max-width:78%;padding:8px 12px;border-radius:12px;line-height:1.5;white-space:pre-wrap;font-size:13.5px;background:#fff;border:1px solid var(--linha)}
.chat-msg .autor{display:block;font-size:11.5px;color:var(--suave);margin-bottom:2px;white-space:normal}
.chat-msg.visitante{align-self:flex-start}
.chat-msg.equipe{align-self:flex-end;background:var(--marinho-800);color:#fff;border-color:var(--marinho-800)}
.chat-msg.equipe .autor{color:#C7D3E0}
.chat-msg.assistente{align-self:flex-end;background:#F2FBF6;border-color:#B5E4CF}
.chat-msg.sistema{align-self:center;background:transparent;border:0;color:var(--suave);font-size:12.5px;text-align:center}
.chat-resposta{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--linha)}
.chat-resposta textarea{flex:1;min-height:44px}

/* Gráficos do painel de indicadores (SVG): grade e eixos discretos, marcas finas, alvo de dica do tamanho da coluna */
.grafico{display:block;width:100%;height:auto;overflow:visible}
.grafico .g-grade{stroke:var(--linha);stroke-width:1}
.grafico .g-base{stroke:var(--linha-forte)}
.grafico .g-eixo{fill:var(--suave);font-size:12.5px;font-family:var(--fonte)}
.grafico .g-alvo{fill:transparent;cursor:default}
.grafico .g-alvo:hover{fill:rgba(14,42,71,.05)}
.g-legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--texto);margin-bottom:6px}
.g-legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
