/* Painel de gestão: claro, sóbrio, com a identidade da LP (marinho, areia, nude). */
:root{
  color-scheme:light;
  --noite:#0b1220;--marinho:#10294a;--areia:#b7a381;--nude:#d8bea6;--vinho:#4e1c10;--papel:#f4eee9;
  --fundo:#f6f3ef;--cartao:#ffffff;--linha:#e7e1d9;--linha-forte:#d6cec3;
  --tinta:#16191f;--tinta-2:#4a4e56;--tinta-3:#676b73;
  --bom:#0ca30c;--bom-texto:#006300;--alerta:#fab219;--alerta-texto:#8a5a00;--critico:#d03b3b;
  --serie-1:#2a6db5;--serie-2:#c4643a;
  --display:"Italiana","Didot",Georgia,serif;--texto:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --raio:14px;--sombra:0 1px 2px rgba(16,41,74,.06),0 8px 24px -12px rgba(16,41,74,.18);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--texto);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--marinho)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--serie-1);outline-offset:2px;border-radius:6px}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.2}
.carregando{padding:40px;color:var(--tinta-3)}
.sr{position:absolute;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.mudo{color:var(--tinta-3)}
.pequeno{font-size:13px}

/* ---------- login ---------- */
.login{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 80% at 50% 0%,#16233b 0%,var(--noite) 60%)}
.login-caixa{width:min(400px,100%);background:var(--cartao);border-radius:20px;padding:40px 36px 32px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.login-caixa img{display:block;width:72px;height:auto;margin:0 auto 18px}
.login-caixa h1{font-family:var(--display);font-weight:400;font-size:32px;text-align:center;letter-spacing:.01em}
.login-caixa p.sub{text-align:center;color:var(--tinta-3);margin:6px 0 26px;font-size:14px}
.login-caixa .botao{width:100%;justify-content:center;margin-top:8px}
.login-rodape{margin-top:20px;text-align:center;font-size:13px}

/* ---------- estrutura ---------- */
.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100svh}
.lateral{position:sticky;top:0;height:100svh;background:var(--noite);color:rgba(244,238,233,.78);display:flex;flex-direction:column;padding:22px 14px;gap:18px}
.lateral-topo{display:flex;align-items:center;gap:12px;padding:0 8px}
.lateral-topo img{width:40px;height:auto}
.lateral-topo strong{display:block;color:var(--papel);font-weight:400;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1.35}
.menu{display:grid;gap:2px;overflow:auto}
.menu a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;text-decoration:none;color:inherit;font-size:14.5px}
.menu a svg{width:18px;height:18px;flex:none;opacity:.8}
.menu a:hover{background:rgba(244,238,233,.06);color:var(--papel)}
.menu a[aria-current="page"]{background:rgba(183,163,129,.16);color:var(--papel);box-shadow:inset 3px 0 0 var(--areia)}
.menu .sep{height:1px;background:rgba(244,238,233,.08);margin:8px 6px}
.menu .so-celular{display:none}
.lateral-pe{margin-top:auto;padding:12px 8px 0;border-top:1px solid rgba(244,238,233,.08);font-size:13px}
.lateral-pe strong{display:block;color:var(--papel);font-weight:500}
.lateral-pe button{background:none;border:0;padding:0;color:var(--nude);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.menu-botao{display:none}
.conteudo{min-width:0;padding:28px clamp(16px,3vw,40px) 64px}
.cabeca{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.cabeca h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,38px);letter-spacing:.01em}
.cabeca .migalha{display:block;font-size:13px;color:var(--tinta-3);margin-bottom:4px}
.cabeca .migalha a{color:inherit}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---------- componentes ---------- */
.botao{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 16px;border-radius:10px;border:1px solid var(--marinho);background:var(--marinho);color:#fff;font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.botao:hover{background:#173a66}
.botao svg{width:16px;height:16px}
.botao.sec{background:var(--cartao);color:var(--marinho);border-color:var(--linha-forte)}
.botao.sec:hover{border-color:var(--marinho)}
.botao.fantasma{background:none;border-color:transparent;color:var(--marinho);padding-inline:10px}
.botao.fantasma:hover{background:rgba(16,41,74,.06)}
.botao.perigo{background:var(--cartao);color:var(--critico);border-color:#f0c9c9}
.botao.perigo:hover{border-color:var(--critico)}
.botao.wa{background:#1f7a4d;border-color:#1f7a4d}
.botao.mini{min-height:30px;padding:4px 10px;font-size:13px;border-radius:8px}
.botao[disabled]{opacity:.5;cursor:not-allowed}
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;box-shadow:var(--sombra)}
.cartao>h2,.cartao-cabeca h2{font-size:16px;font-weight:500}
.cartao-cabeca{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cartao-cabeca p{margin:2px 0 0;font-size:13px;color:var(--tinta-3)}
.grade{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.grade>*{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-lado{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.vazio{padding:18px;text-align:center;color:var(--tinta-3);font-size:14px;border:1px dashed var(--linha-forte);border-radius:12px}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.tile{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px;box-shadow:var(--sombra)}
.tile span{display:block;font-size:13px;color:var(--tinta-2)}
.tile strong{display:block;font-size:26px;font-weight:500;margin-top:6px;letter-spacing:-.01em}
.tile small{display:block;margin-top:4px;color:var(--tinta-3);font-size:12.5px}
.tile.destaque{background:var(--marinho);border-color:var(--marinho);color:#fff}
.tile.destaque span,.tile.destaque small{color:rgba(255,255,255,.75)}

.tabela-envolve{overflow-x:auto;border:1px solid var(--linha);border-radius:12px;background:var(--cartao)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:500;color:var(--tinta-2);font-size:12.5px;letter-spacing:.02em;padding:10px 12px;border-bottom:1px solid var(--linha);background:#faf8f5;white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--linha);vertical-align:top}
tr:last-child td{border-bottom:0}
td.dir,th.dir{text-align:right}
tbody tr.clicavel{cursor:pointer}
tbody tr.clicavel:hover{background:#faf8f5}
td .sub{display:block;font-size:12.5px;color:var(--tinta-3)}
tfoot td{font-weight:500;background:#faf8f5}

.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12.5px;background:#f1ede7;color:var(--tinta-2);white-space:nowrap;border:1px solid transparent}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}
.chip.sem-ponto::before{display:none}
.chip.bom{background:#e7f4e7;color:var(--bom-texto)}
.chip.alerta{background:#fdf3dc;color:var(--alerta-texto)}
.chip.critico{background:#fbe7e7;color:#a32222}
.chip.azul{background:#e6eef8;color:#1f4f86}
.chip.areia{background:#f3ece1;color:#7a6440}
.etapa-contato{background:#eef0f4;color:#40495a}
.etapa-agendada,.etapa-consultada{background:#e6eef8;color:#1f4f86}
.etapa-preparo{background:#fdf3dc;color:var(--alerta-texto)}
.etapa-proposta{background:#f3ece1;color:#7a6440}
.etapa-fechado,.etapa-operado{background:#e7f4e7;color:var(--bom-texto)}
.etapa-alta{background:#eceaf6;color:#4b3f8f}
.etapa-perdido{background:#fbe7e7;color:#a32222}

.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px}
.filtros .campo{margin:0}
.filtros input[type=search]{min-width:280px}
.filtros select,.filtros input{width:auto;max-width:100%}
.filtros form{margin:0}

/* formulários */
.form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px;align-items:start}
.campo{display:grid;gap:6px;grid-column:span 6;margin:0;align-content:start}
.campo.meia{grid-column:span 3}
.campo.terco{grid-column:span 2}
.campo>label,.campo>span.rot{font-size:13px;font-weight:500;color:var(--tinta-2)}
.campo .ajuda{font-size:12.5px;color:var(--tinta-3)}
.campo:has(> [required])>label::after,.campo:has(> .senha-caixa [required])>label::after{content:' *';color:var(--critico)}
.senha-caixa{position:relative}
.senha-caixa input{padding-right:84px}
.ver-senha{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--marinho);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px}
input.moeda{text-align:right}
.aviso-item{font-size:12.5px;color:var(--alerta-texto);margin-top:4px}
.passos-iniciais{border-color:var(--areia);background:#fffdf9}
.passos-iniciais li{align-items:flex-start}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=time],select,textarea{
  width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--linha-forte);border-radius:10px;background:#fff;font-size:14.5px}
textarea{min-height:90px;resize:vertical;line-height:1.5}
textarea.grande{min-height:360px;font-family:ui-monospace,Consolas,monospace;font-size:13px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(42,109,181,.35);outline-offset:0;border-color:var(--serie-1)}
.marcar{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.marcar input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--marinho);flex:none}
.erro-form{grid-column:1/-1;background:#fbe7e7;color:#8f1d1d;border-radius:10px;padding:10px 12px;font-size:14px}
.erro-form:empty{display:none}

/* modal */
dialog.modal{border:0;padding:0;border-radius:18px;width:min(720px,calc(100vw - 24px));max-height:calc(100svh - 32px);box-shadow:0 30px 80px -20px rgba(11,18,32,.5);color:inherit}
dialog.modal.largo{width:min(980px,calc(100vw - 24px))}
dialog.modal::backdrop{background:rgba(11,18,32,.5)}
.modal-cabeca{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--linha);position:sticky;top:0;background:#fff;z-index:2}
.modal-cabeca h2{font-size:18px;font-weight:500}
.modal-corpo{padding:20px 22px}
.modal-pe{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--linha);position:sticky;bottom:0;background:#fff}
.fechar{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--tinta-3);padding:4px 8px;border-radius:8px}
.fechar:hover{background:#f1ede7}

/* avisos e dica */
.avisos{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:1000}
.aviso{background:var(--noite);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--sombra);font-size:14px;max-width:360px;animation:sobe .25s ease}
.aviso.erro{background:#8f1d1d}
@keyframes sobe{from{transform:translateY(8px);opacity:0}}
.dica{position:fixed;z-index:1001;pointer-events:none;background:#fff;border:1px solid var(--linha-forte);border-radius:10px;padding:8px 12px;font-size:13px;box-shadow:var(--sombra);min-width:140px;max-width:min(380px,92vw)}
.dica .linha-dica span{min-width:0}
.dica strong{display:block;margin-bottom:4px;font-weight:500}
.dica .linha-dica{display:flex;align-items:center;gap:8px;justify-content:space-between}
.dica .linha-dica i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* ficha e jornada */
.ficha-topo{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.ficha-dados{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px;color:var(--tinta-2);margin-top:8px}
.ficha-dados b{font-weight:500;color:var(--tinta)}
.jornada{border:1px solid var(--linha);border-radius:12px;padding:16px;display:grid;gap:14px}
.jornada+.jornada{margin-top:12px}
.jornada-topo{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.jornada-topo h3{font-size:16px;font-weight:500}
.passos{display:flex;gap:4px;flex-wrap:wrap}
.passos span{font-size:12px;padding:3px 9px;border-radius:999px;background:#f1ede7;color:var(--tinta-3)}
.passos span.feito{background:#e6eef8;color:#1f4f86}
.passos span.atual{background:var(--marinho);color:#fff}
.passos span.perdido{background:#fbe7e7;color:#a32222}
.checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px}
.info-lista{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13.5px;color:var(--tinta-2)}
.info-lista b{font-weight:500;color:var(--tinta)}
.linha-tempo{list-style:none;margin:0;padding:0;display:grid;gap:0}
.linha-tempo li{position:relative;padding:0 0 14px 22px;font-size:14px}
.linha-tempo li::before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--areia)}
.linha-tempo li::after{content:"";position:absolute;left:7.5px;top:18px;bottom:0;width:1px;background:var(--linha)}
.linha-tempo li:last-child::after{display:none}
.linha-tempo small{display:block;color:var(--tinta-3);font-size:12.5px}
.linha-tempo li.nota::before{background:var(--serie-1)}
.lista-simples{list-style:none;margin:0;padding:0}
.lista-simples li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linha);font-size:14px}
.lista-simples li:last-child{border-bottom:0}
.lista-simples .principal{min-width:0}
.lista-simples .principal a{font-weight:500;text-decoration:none}
.lista-simples .principal small{display:block;color:var(--tinta-3);font-size:12.5px}

/* funil */
.funil{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start}
.coluna{background:#efeae3;border-radius:14px;padding:12px;min-height:200px;display:grid;gap:10px;align-content:start}
.coluna.alvo{outline:2px dashed var(--serie-1);outline-offset:-4px}
.coluna-cabeca{display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 4px}
.coluna-cabeca h2{font-size:14px;font-weight:500}
.coluna-cabeca small{color:var(--tinta-3);font-size:12.5px}
.card{position:relative;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px;display:grid;gap:6px;box-shadow:0 1px 2px rgba(16,41,74,.05);cursor:grab}
.card:active{cursor:grabbing}
.card a{font-weight:500;text-decoration:none;color:var(--tinta)}
.card small{color:var(--tinta-3);font-size:12.5px}
.card select{min-height:32px;padding:4px 8px;font-size:13px}
.card.arrastando{opacity:.5}

/* agenda */
.dia{margin-bottom:18px}
.dia h2{font-size:14px;font-weight:500;color:var(--tinta-2);margin:0 0 8px}
.dia.hoje h2{color:var(--marinho)}
.evento{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:8px}
.evento{border-left:4px solid var(--linha-forte)}
.evento.i-excelente{border-left-color:#8f7444;background:#fbf7ef}
.evento.i-otimo{border-left-color:var(--areia)}
.evento .estrela{display:inline-flex;vertical-align:-2px;margin-right:6px;color:#8f7444}
.evento .estrela svg{width:15px;height:15px;fill:currentColor}
.evento .hora{font-weight:500;font-size:15px}
.evento .hora small{display:block;font-weight:400;color:var(--tinta-3);font-size:12px}
.evento.cancelado{opacity:.55}
.evento.cancelado .titulo-ev{text-decoration:line-through}
.evento .titulo-ev{font-weight:500}
.evento .meta{font-size:13px;color:var(--tinta-3)}
.evento .acoes{justify-content:flex-end}

/* calendário do mês: um só cartão, linhas finas entre os dias, etiquetas com a cor do tipo */
.calendario{container-type:inline-size;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:auto;gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);margin-bottom:14px}
.cal-semana{background:#fbfaf8;font-size:11px;font-weight:500;color:var(--tinta-3);text-transform:uppercase;letter-spacing:.14em;padding:11px 12px}
.cal-dia{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:122px;padding:8px 8px 10px;background:#fff;cursor:pointer;transition:background .15s}
.cal-dia:hover{background:#fbfaf8}
.cal-dia.fim-de-semana .cal-num{color:var(--tinta-3)}
.cal-dia.fora{background:#fcfbf9;cursor:default}
.cal-dia.fora .cal-num{color:#c9c2b8}
.cal-num{display:inline-grid;place-items:center;width:28px;height:28px;margin-bottom:2px;padding:0;border:0;background:none;border-radius:50%;font:inherit;font-size:13.5px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--tinta);cursor:pointer}
button.cal-num:hover{background:var(--fundo)}
.cal-num:focus-visible,.cal-ev:focus-visible{outline:2px solid var(--serie-1);outline-offset:1px}
.cal-dia.hoje .cal-num{background:var(--marinho);color:#fff}
.cal-ev{display:grid;gap:1px;width:100%;min-width:0;padding:5px 8px 6px;border:0;border-radius:8px;background:#f4f2ee;color:var(--tinta);font:inherit;text-align:left;cursor:pointer;transition:filter .15s}
.cal-ev:hover{filter:brightness(.97)}
.ev-nome{display:flex;align-items:center;gap:5px;min-width:0;font-size:12.5px;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-hora{font-size:11.5px;line-height:1.2;color:var(--tinta-3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev svg{flex:none;width:11px;height:11px;fill:currentColor;stroke-width:1.2}
.cal-ev.i-excelente{background:#8f7444;color:#fff}.cal-ev.i-excelente .ev-hora{color:rgba(255,255,255,.8)}
.cal-ev.i-otimo{background:#f4ecdc;color:#5c4a26}.cal-ev.i-otimo .ev-hora{color:#8a7550}
.cal-ev.feito{opacity:.55}
.cal-pontos{display:none}
.legenda-agenda{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--tinta-3);margin:0 0 24px}
.legenda-agenda i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px}
.legenda-agenda b{font-weight:500;color:var(--tinta-2)}
.legenda-agenda svg{width:12px;height:12px;fill:#8f7444;color:#8f7444;vertical-align:-1px;margin-right:6px}
.filtros .periodo svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px;fill:currentColor}
.lista-mes{display:none}
.lista-mes>h2{font-size:15px;font-weight:500;margin:0 0 10px}
.dia.destaque{animation:destaque 1.6s ease-out}
@keyframes destaque{0%{background:#eef2f8;box-shadow:0 0 0 8px #eef2f8;border-radius:10px}100%{background:transparent;box-shadow:0 0 0 8px transparent}}

/* propostas */
.itens-proposta td input{min-height:36px}
.itens-proposta td.valor{width:150px}
.itens-proposta td.terc{width:120px;text-align:center}
.totais{display:grid;gap:6px;justify-content:end;text-align:right;font-size:14px;margin-top:14px}
.totais div{display:flex;gap:24px;justify-content:space-between;min-width:280px}
.totais .total{font-size:20px;font-weight:600;color:var(--marinho);border-top:1px solid var(--linha);padding-top:8px}

/* gráficos (HTML) */
.col-grafico{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;height:calc(var(--h) + 26px);margin-top:6px}
.col-eixo{position:relative;height:var(--h);min-width:52px}
.col-eixo span{position:absolute;right:0;transform:translateY(50%);font-size:11.5px;color:var(--tinta-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.col-area{position:relative;height:var(--h)}
.col-grade{position:absolute;left:0;right:0;height:1px;background:#ece8e1}
.col-grade.base{background:#cfc8bd}
.col-grupos{position:absolute;inset:0;display:flex;align-items:stretch}
.col-grupo{flex:1;min-width:0;position:relative;display:flex;justify-content:center;align-items:flex-end;border-radius:6px}
.col-grupo:hover,.col-grupo:focus-visible{background:rgba(16,41,74,.04)}
.col-barras{display:flex;gap:2px;align-items:flex-end;height:100%}
.col-barras i{display:block;width:clamp(6px,1.6vw,24px);border-radius:4px 4px 0 0;min-height:0}
.col-rotulo{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:11.5px;color:var(--tinta-3);white-space:nowrap}
.barras{display:grid;gap:10px}
.barra-linha{display:grid;grid-template-columns:minmax(110px,32%) minmax(0,1fr);gap:12px;align-items:center;border-radius:8px;padding:2px 4px}
.barra-linha:hover,.barra-linha:focus-visible{background:rgba(16,41,74,.04)}
.barra-rotulo{font-size:13.5px;color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barra-trilho{display:flex;align-items:center;gap:8px;min-width:0}
.barra-trilho i{display:block;height:18px;border-radius:0 4px 4px 0;flex:none}
.barra-trilho b{font-weight:500;font-size:13px;white-space:nowrap}
.barra-trilho b .mudo{font-weight:400}
/* gráficos */
.grafico{width:100%;overflow:visible}
.grafico text{font-family:var(--texto);font-size:12px;fill:var(--tinta-3)}
.grafico .valor-rotulo{fill:var(--tinta-2);font-size:12px}
.grafico .grade-linha{stroke:#ece8e1;stroke-width:1}
.grafico .base{stroke:#cfc8bd;stroke-width:1}
.grafico .alvo-hover{fill:transparent;cursor:default}
.grafico .alvo-hover:hover,.grafico .alvo-hover:focus{fill:rgba(16,41,74,.04);outline:none}
.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--tinta-2);margin:4px 0 8px}
.legenda span{display:inline-flex;align-items:center;gap:6px}
.legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}
details.tabela-dados{margin-top:8px;font-size:13px}
details.tabela-dados summary{cursor:pointer;color:var(--tinta-2)}
details.tabela-dados table{margin-top:8px}
.periodo{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.periodo button,.periodo a{border:1px solid var(--linha-forte);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;text-decoration:none;color:var(--tinta)}
.periodo button[aria-pressed="true"],.periodo a[aria-current="true"]{background:var(--marinho);border-color:var(--marinho);color:#fff}
.secao-rel{margin-top:28px}
.secao-rel>h2{font-family:var(--display);font-weight:400;font-size:28px;margin-bottom:14px}

/* ---------- impressão ---------- */
.barra-impressao{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:var(--noite);color:#fff}
.barra-impressao span{font-size:14px;opacity:.8}
.folhas{padding:28px 12px 60px;display:grid;justify-items:center;background:#e9e4dd;min-height:100svh}
.folha{width:210mm;min-height:297mm;background:#fff;padding:16mm 18mm 18mm;box-shadow:0 10px 30px -10px rgba(0,0,0,.25);color:#1b1d22;font-size:10.5pt;line-height:1.55;display:flex;flex-direction:column}
.timbre{display:flex;justify-content:center;padding-bottom:8mm;border-bottom:1px solid var(--areia);margin-bottom:9mm}
.timbre img{width:118mm;height:auto}
.rodape-folha{margin-top:auto;padding-top:6mm;border-top:1px solid var(--areia);display:flex;justify-content:space-between;gap:8mm;font-size:8pt;color:#4a4f58;line-height:1.45}
.rodape-folha b{color:var(--marinho);font-weight:600}
.doc h1{font-family:var(--display);font-weight:400;font-size:24pt;color:var(--marinho);margin:0 0 2mm;letter-spacing:.01em}
.doc h2{font-size:10.5pt;font-weight:600;color:var(--marinho);margin:6mm 0 2mm;letter-spacing:.02em}
.doc p{margin:0 0 3mm}
.doc ul{margin:0 0 3mm;padding-left:5mm}
.doc li{margin-bottom:1.2mm}
.doc .rotulo-doc{font-size:8pt;letter-spacing:.24em;text-transform:uppercase;color:var(--areia);margin-bottom:2mm}
.doc .meta-doc{display:flex;gap:8mm;flex-wrap:wrap;font-size:9pt;color:#4a4f58;margin-bottom:7mm}
.doc table{font-size:10pt;margin:2mm 0 4mm}
.doc th{background:none;border-bottom:1px solid var(--areia);color:var(--marinho);font-size:8.5pt;letter-spacing:.08em;text-transform:uppercase;padding:2mm 2mm}
.doc td{padding:2.4mm 2mm;border-bottom:1px solid #ece6dc}
.doc td small{display:block;color:#5d626b;font-size:8.5pt}
.doc .total-doc{display:flex;justify-content:flex-end;gap:10mm;align-items:baseline;margin:2mm 0 6mm}
.doc .total-doc span{font-size:11pt;font-weight:500;color:var(--marinho)}
.doc .total-doc strong{font-family:var(--texto);font-weight:600;font-size:20pt;color:var(--marinho);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.doc .caixa-doc{border:1px solid #e3dbcf;border-radius:3mm;padding:4mm 5mm;margin:3mm 0 4mm;background:#fbf9f6}
.doc .assinaturas{display:grid;grid-template-columns:repeat(auto-fit,minmax(55mm,1fr));gap:10mm 12mm;margin-top:14mm}
.doc .assinaturas div{border-top:1px solid #1b1d22;padding-top:2mm;font-size:9pt;text-align:center}
.doc .assinaturas small{display:block;color:#5d626b}
.doc .em-branco{display:inline-block;min-width:40mm;border-bottom:1px solid #9aa0a8}

@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff}
  .barra-impressao,.avisos,.dica,.lateral,.cabeca .acoes,.filtros{display:none!important}
  .app{display:block}
  .conteudo{padding:0}
  .cartao,.tile{box-shadow:none;break-inside:avoid}
  .folhas{padding:0;background:#fff;display:block}
  .folha{box-shadow:none;width:auto;min-height:297mm;page-break-after:always;break-after:page}
  .folha:last-child{page-break-after:auto;break-after:auto}
  .doc tr,.doc .assinaturas{break-inside:avoid}
}

/* ---------- celular ---------- */
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .lateral{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px}
  .lateral-topo strong{display:none}
  .menu-botao{display:inline-flex;background:none;border:1px solid rgba(244,238,233,.25);color:var(--papel);border-radius:10px;padding:6px 12px;cursor:pointer}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--noite);padding:8px 12px 14px;box-shadow:0 20px 30px -10px rgba(0,0,0,.4)}
  .lateral.aberta .menu{display:grid}
  .lateral-pe{display:none}
  .menu .so-celular{display:flex}
  .g2,.g3,.g-lado{grid-template-columns:minmax(0,1fr)}
  .campo.meia,.campo.terco{grid-column:span 6}
  .evento{grid-template-columns:52px minmax(0,1fr)}
  .evento .acoes{grid-column:1/-1;justify-content:flex-start}
  .calendario{border-radius:12px}
  .cal-semana{padding:8px 0;text-align:center;font-size:10px;letter-spacing:.04em}
  .cal-dia{min-height:58px;padding:6px 2px;align-items:center;gap:3px}
  .cal-num{width:26px;height:26px;font-size:13px;margin:0}
  .cal-ev{display:none}
  .lista-mes{display:block}
  .cal-pontos{display:flex;gap:3px;justify-content:center}
  .cal-pontos i{width:5px;height:5px;border-radius:50%;background:#bdb5a8}
  .cal-pontos i.i-excelente{background:#8f7444}.cal-pontos i.i-otimo{background:#b7a381}
  .filtros input[type=search]{min-width:0;width:100%}
  .folha{width:100%;min-height:auto;padding:8mm}
}
@media (hover:none){.so-mouse{display:none}}
/* Colunas estreitas: a etiqueta mostra só o nome (a hora está na dica). */
@container (max-width:820px){.cal-ev{padding:4px 6px 5px}.ev-nome{font-size:12px}.ev-hora{font-size:11px}.ev-fim{display:none}}
.estrela-inicio{display:inline-flex;vertical-align:-2px;margin-right:4px;color:#8f7444}.estrela-inicio svg{width:14px;height:14px;fill:currentColor}
