/* Pauta — pessoal, direto: tons neutros (grafite e pedra), sem cor chamativa.
   Uma coluna estreita; menu no topo (computador) ou embaixo (celular). */
:root {
  --fundo: #f6f5f2;
  --cartao: #ffffff;
  --texto: #1d1d1f;
  --suave: #75757c;
  --linha: #ebe9e4;
  --destaque: #2f2e2b;
  --destaque-claro: #ebe9e3;
  --sobre-destaque: #ffffff;
  --verde: #4a8a64;
  --vermelho: #bd5a52;
  --amarelo: #a8823e;
  --campo: #f6f5f2;
  --raio: 16px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #121212;
    --cartao: #1c1c1e;
    --texto: #f2f2f4;
    --suave: #9a9aa2;
    --linha: #2c2c30;
    --destaque: #e6e3dc;
    --destaque-claro: #2a2926;
    --sobre-destaque: #161616;
    --verde: #7cbf95;
    --vermelho: #e08b83;
    --amarelo: #d4b173;
    --campo: #242427;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 16px/1.5 "Segoe UI", system-ui, -apple-system, Roboto, sans-serif; }
[hidden] { display: none !important; }
a { color: var(--texto); }
h1, h2, h3 { margin: 0; line-height: 1.2; }
h1 { font-size: 1.7rem; letter-spacing: -.02em; }
h2 { font-size: 1rem; }
small { color: var(--suave); }
.ic { width: 22px; height: 22px; flex: none; }
.ic-p { width: 16px; height: 16px; flex: none; }
.so-leitor, .pular { position: absolute; left: -9999px; }
.pular:focus { left: 12px; top: 12px; z-index: 99; background: var(--cartao); padding: 8px 12px; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--destaque) 50%, transparent); outline-offset: 2px; }

/* ---------- Topo / menu ---------- */
.topo {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between;
  padding: 10px max(16px, calc((100vw - 960px) / 2)); background: color-mix(in srgb, var(--fundo) 88%, transparent);
  backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha);
}
.marca { font-weight: 800; font-size: 1.2rem; letter-spacing: -.03em; color: var(--texto); text-decoration: none; }
.marca::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; background: var(--destaque); margin-right: 8px; vertical-align: 1px; }
.marca.grande { font-size: 2rem; text-align: center; margin: 0 0 8px; }
.menu { display: flex; align-items: center; gap: 4px; }
.menu-item {
  display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 10px; color: var(--suave);
  text-decoration: none; font-weight: 600; font-size: 15px;
}
.menu-item:hover { color: var(--texto); background: var(--linha); }
.menu-item.ativo { color: var(--texto); background: var(--cartao); box-shadow: 0 0 0 1px var(--linha); }
.menu-item .ic { width: 19px; height: 19px; }
.menu-mais {
  display: grid; place-items: center; width: 40px; height: 40px; margin: 0 6px; border-radius: 12px; border: 0;
  background: var(--destaque); color: var(--sobre-destaque); cursor: pointer;
}
.menu-mais:hover { filter: brightness(1.07); }

.conteudo { max-width: 640px; margin: 0 auto; padding: 24px 16px 60px; }
.conteudo.largo { max-width: 960px; }

/* ---------- Blocos ---------- */
.cabeca { margin-bottom: 20px; }
.cabeca.linha { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.data-topo { margin: 0 0 2px; color: var(--suave); font-weight: 600; font-size: 14px; }
.bloco { background: var(--cartao); border-radius: var(--raio); padding: 18px; border: 1px solid var(--linha); }
.bloco + .bloco, .proximo + .bloco, .faixa + .bloco, .acoes-duplas + .bloco, .bloco + .sair { margin-top: 14px; }
.bloco > h2 { margin-bottom: 10px; display: flex; justify-content: space-between; align-items: baseline; }
.h2-extra { font-weight: 600; color: var(--suave); font-size: 14px; }
.bloco-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.dia { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--suave); margin: 14px 0 2px; }
.dia:first-of-type { margin-top: 4px; }
.vazio { color: var(--suave); margin: 2px 0; }
.nota { color: var(--suave); font-size: 13.5px; margin: 8px 0; }
.suave { color: var(--suave); margin: 0 0 14px; }
.rotulo { margin: 0; font-size: 13px; font-weight: 600; color: var(--suave); }
.verde { color: var(--verde); } .vermelho { color: var(--vermelho); } .amarelo { color: var(--amarelo); }
.erro { color: var(--vermelho); background: color-mix(in srgb, var(--vermelho) 10%, transparent); padding: 10px 12px; border-radius: 10px; margin: 0; }
.ok { color: var(--verde); background: color-mix(in srgb, var(--verde) 10%, transparent); padding: 10px 12px; border-radius: 10px; margin: 0; }
.voltar { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--suave); margin-bottom: 6px; }

.faixa {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--destaque-claro);
  color: var(--texto); font-weight: 600; text-decoration: none; margin-bottom: 14px;
}
.faixa span { flex: 1; }

/* próximo compromisso */
.proximo {
  width: 100%; display: flex; flex-direction: column; gap: 2px; text-align: left; font: inherit; cursor: pointer;
  background: var(--texto); color: var(--fundo); border: 0; border-radius: var(--raio); padding: 16px 18px;
  border-left: 6px solid var(--c);
}
.proximo-quando { font-size: 14px; font-weight: 700; color: var(--c); filter: brightness(1.25); }
.proximo-titulo { font-size: 1.2rem; font-weight: 700; }
.proximo-local { font-size: 14px; opacity: .7; }

/* ---------- Listas ---------- */
.lista, .lista-simples, .lista-cat, .barras { list-style: none; margin: 0; padding: 0; }
.item, .conta { display: flex; align-items: center; gap: 6px; }
.item + .item, .conta + .conta { border-top: 1px solid var(--linha); }
.item-corpo, .conta-corpo {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; text-align: left; background: none; border: 0;
  padding: 10px 4px; font: inherit; color: inherit; cursor: pointer; border-radius: 10px;
}
.item-corpo:hover, .conta-corpo:hover { background: var(--campo); }
.item-hora {
  flex: none; width: 64px; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--texto);
  border-left: 3px solid var(--c); padding-left: 9px;
}
.item-texto, .conta-texto { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.item-titulo, .conta-desc { font-weight: 500; overflow-wrap: anywhere; }
.item-meta, .conta-meta { font-size: 13px; color: var(--suave); }
.item.feito .item-titulo { text-decoration: line-through; color: var(--suave); }
.marcar {
  flex: none; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--linha); background: none;
  color: transparent; cursor: pointer; display: grid; place-items: center; padding: 0;
}
.marcar:hover { border-color: var(--verde); color: color-mix(in srgb, var(--verde) 50%, transparent); }
.marcar .ic { width: 16px; height: 16px; }
.marcar[aria-pressed=true] { background: var(--verde); border-color: var(--verde); color: var(--cartao); }
.conta-cat { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.conta-valor { flex: none; font-weight: 600; font-variant-numeric: tabular-nums; }
.conta-valor.receita { color: var(--verde); }
.conta.paga .conta-desc, .conta.paga .conta-valor:not(.receita) { color: var(--suave); }
.conta.atrasada .conta-meta { color: var(--vermelho); font-weight: 600; }

/* ---------- Botões e campos ---------- */
.botao, .botao-sec, .botao-texto {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-weight: 600; font-size: 15px;
  border-radius: 12px; padding: 10px 18px; min-height: 44px; cursor: pointer; border: 0; text-decoration: none;
}
.botao { background: var(--destaque); color: var(--sobre-destaque); }
.botao:hover { filter: brightness(1.06); }
.botao-sec { background: var(--cartao); color: var(--texto); box-shadow: inset 0 0 0 1px var(--linha); }
.botao-sec:hover { box-shadow: inset 0 0 0 1px var(--suave); }
.botao-texto { background: none; color: var(--texto); text-decoration: underline; text-underline-offset: 3px; padding: 6px 4px; min-height: 0; }
.perigo { color: var(--vermelho) !important; }
.largo { width: 100%; }
.botao-icone {
  display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; border: 0; background: none;
  color: var(--texto); cursor: pointer; text-decoration: none;
}
.botao-icone:hover { background: var(--linha); }
.espaco { flex: 1; }
.acoes { display: flex; gap: 8px; }
.linha-botoes { display: flex; gap: 8px; flex-wrap: wrap; }

.campo { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; color: var(--suave); flex: 1; min-width: 0; }
.campo.curto { flex: 0 0 120px; }
input, select, textarea {
  font: inherit; font-size: 16px; color: var(--texto); background: var(--campo); border: 1.5px solid transparent;
  border-radius: 11px; padding: 10px 12px; width: 100%; min-height: 44px;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--destaque); background: var(--cartao); }
input[type=color] { padding: 3px; width: 40px; min-height: 40px; flex: none; }
.campo-grande { font-size: 18px; font-weight: 600; padding: 12px 14px; }
.linha-campos { display: flex; gap: 10px; flex-wrap: wrap; }
.linha-campos > .campo { flex: 1 1 140px; }
.linha-campos > .campo.curto { flex: 0 0 120px; }
.alinhar-base { align-items: flex-end; }
.pilha { display: flex; flex-direction: column; gap: 14px; }
.pilha > .botao, .pilha > .botao-sec { align-self: flex-start; }

/* Rádios/caixas escondidos (o visual é o span ao lado): presos dentro do rótulo. */
.chave, .alternador label, .chip, .tipo-chip { position: relative; }
.chave input, .alternador input, .chip input, .tipo-chip input { position: absolute; opacity: 0; left: 0; top: 0; margin: 0; width: 1px; height: 1px; pointer-events: none; }

.chave { display: flex; align-items: center; gap: 10px; cursor: pointer; min-height: 44px; }
.chave-trilho { flex: none; width: 44px; height: 26px; border-radius: 99px; background: var(--linha); position: relative; transition: background .15s; }
.chave-trilho::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .15s; }
.chave input:checked + .chave-trilho { background: var(--destaque); }
.chave input:checked + .chave-trilho::after { background: var(--sobre-destaque); }
.chave input:checked + .chave-trilho::after { transform: translateX(18px); }
.chave input:focus-visible + .chave-trilho { outline: 3px solid color-mix(in srgb, var(--destaque) 50%, transparent); }

.alternador { display: flex; background: var(--campo); border-radius: 12px; padding: 3px; }
.alternador label { flex: 1; }
.alternador span { display: block; text-align: center; padding: 8px 14px; border-radius: 9px; font-weight: 600; color: var(--suave); cursor: pointer; }
.alternador input:checked + span { background: var(--cartao); color: var(--texto); box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.alternador input:focus-visible + span { outline: 2px solid var(--destaque); }

.chips, .tipos, .atalhos { display: flex; flex-wrap: wrap; gap: 6px; }
.chip span, .tipo-chip span {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 99px; font-size: 14px; font-weight: 600;
  background: var(--campo); color: var(--suave); cursor: pointer; user-select: none;
}
.chip input:checked + span { background: var(--texto); color: var(--fundo); }
.tipo-chip span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.tipo-chip input:checked + span { background: color-mix(in srgb, var(--c) 16%, transparent); color: var(--texto); box-shadow: inset 0 0 0 1.5px var(--c); }
.chip input:focus-visible + span, .tipo-chip input:focus-visible + span { outline: 2px solid var(--destaque); outline-offset: 2px; }
.chip-botao { font: inherit; font-size: 14px; font-weight: 600; min-width: 44px; padding: 6px 10px; border-radius: 99px; border: 0; background: var(--campo); color: var(--suave); cursor: pointer; }
.chip-botao:hover { color: var(--texto); }

/* ---------- Toast ---------- */
.toast {
  position: fixed; top: 14px; left: 50%; transform: translateX(-50%); z-index: 60; max-width: min(520px, calc(100% - 32px));
  background: var(--texto); color: var(--fundo); padding: 11px 10px 11px 16px; border-radius: 12px; display: flex; gap: 10px;
  align-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.2); animation: entra .2s ease-out; font-size: 15px;
}
.toast button { background: none; border: 0; color: inherit; cursor: pointer; opacity: .6; display: grid; }
.toast-erro { background: var(--vermelho); color: #fff; }
@keyframes entra { from { opacity: 0; transform: translate(-50%, -8px); } }

/* ---------- Agenda ---------- */
.navega-mes { display: flex; align-items: center; gap: 2px; }
.navega-mes h1 { min-width: 190px; text-align: center; font-size: 1.45rem; }
.ano { color: var(--suave); font-weight: 500; }
.vista-mes { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.calendario { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.cal-cabeca, .cal-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-cabeca span { padding: 8px 0; text-align: center; font-size: 12px; font-weight: 700; color: var(--suave); }
.cal-dia {
  min-height: 92px; padding: 5px; border-top: 1px solid var(--linha); text-decoration: none; color: var(--texto);
  display: flex; flex-direction: column; gap: 3px; min-width: 0;
}
.cal-dia + .cal-dia { border-left: 1px solid var(--linha); }
.cal-dia:hover { background: var(--campo); }
.cal-dia.fora { opacity: .35; }
.cal-num { font-size: 13px; font-weight: 600; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; }
.cal-dia.feriado .cal-num { color: var(--vermelho); }
.cal-dia.hoje .cal-num { background: var(--destaque); color: var(--sobre-destaque); }
.cal-dia.escolhido { box-shadow: inset 0 0 0 2px var(--texto); }
.cal-itens { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cal-item { font-size: 11.5px; padding: 1px 5px; border-radius: 5px; background: color-mix(in srgb, var(--c) 15%, transparent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-mais { font-size: 11px; color: var(--suave); padding-left: 4px; }
.cal-pontos { display: none; }
.dia-escolhido { position: sticky; top: 76px; background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px; }
.dia-escolhido h2 { margin-bottom: 8px; font-size: 1.1rem; }
.dia-escolhido .lista { margin-bottom: 12px; }
.dia-escolhido .vazio { margin-bottom: 12px; }
.feriado-aviso { color: var(--vermelho); font-size: 14px; margin: -4px 0 8px; }

/* ---------- Prazos ---------- */
.calc { display: flex; flex-direction: column; gap: 12px; }
.resultado { text-align: center; }
.data-grande { font-size: 2.6rem; font-weight: 800; letter-spacing: -.03em; margin: 2px 0; }
.pulados { text-align: left; margin-top: 14px; font-size: 14px; }
.pulados summary { cursor: pointer; color: var(--suave); font-weight: 600; }
.pulados ul { padding-left: 18px; margin: 6px 0; }

/* ---------- Dinheiro ---------- */
.saldo { text-align: center; padding: 8px 0 18px; }
.saldo-valor { font-size: 2.6rem; font-weight: 800; letter-spacing: -.03em; margin: 0; font-variant-numeric: tabular-nums; }
.saldo-valor.negativo { color: var(--vermelho); }
.saldo-linha { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; color: var(--suave); font-size: 14.5px; margin-top: 4px; }
.saldo-linha b { color: var(--texto); font-variant-numeric: tabular-nums; }
.ponto { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; background: currentColor; }
.saldo-pendente { margin: 10px auto 0; display: inline-block; font-size: 14px; background: var(--cartao); border: 1px solid var(--linha); padding: 5px 12px; border-radius: 99px; }
.saldo-pendente b { color: var(--vermelho); }
.acoes-duplas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.filtros { display: flex; gap: 2px; }
.filtro { display: inline-flex; align-items: center; gap: 4px; font-size: 13.5px; font-weight: 600; padding: 5px 10px; border-radius: 99px; text-decoration: none; color: var(--suave); }
.filtro.ativo { background: var(--texto); color: var(--fundo); }
.barras li + li { margin-top: 8px; }
.barras a { display: block; text-decoration: none; color: inherit; padding: 4px; border-radius: 8px; }
.barras a:hover { background: var(--campo); }
.barra-rotulo { display: flex; justify-content: space-between; gap: 8px; font-size: 14.5px; }
.barra-rotulo b { font-weight: 600; font-variant-numeric: tabular-nums; }
.barra-trilho { display: block; height: 6px; border-radius: 99px; background: var(--campo); margin-top: 5px; overflow: hidden; }
.barra-cheia { display: block; height: 100%; border-radius: 99px; background: var(--c); }
.barras small { font-size: 12px; font-weight: 600; }

/* ---------- Ajustes ---------- */
.dobra summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; }
.dobra summary::-webkit-details-marker { display: none; }
.dobra summary h2 { flex: 1; }
.dobra summary::after { content: "›"; font-size: 22px; line-height: 1; color: var(--suave); transition: transform .15s; }
.dobra[open] summary::after { transform: rotate(90deg); }
.dobra[open] summary { margin-bottom: 12px; }
.estado { font-size: 12.5px; font-weight: 700; padding: 2px 9px; border-radius: 99px; background: var(--campo); color: var(--suave); }
.estado.ok { background: color-mix(in srgb, var(--verde) 14%, transparent); color: var(--verde); padding: 2px 9px; }
.estado.pendente { background: var(--destaque-claro); color: var(--texto); }
.passos { margin: 0 0 14px; padding-left: 20px; font-size: 14.5px; }
.passos li + li { margin-top: 4px; }
.ajuda { font-size: 14px; margin-top: 4px; }
.ajuda summary { cursor: pointer; color: var(--suave); }
.ajuda p { margin: 6px 0 0; }
.lista-simples li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--linha); font-size: 14.5px; }
.lista-simples form { margin: 0; }
.lista-simples:first-child li:first-child { border-top: 0; }
.form-cat { display: flex; gap: 6px; align-items: center; margin: 5px 0; }
.form-cat input[name=nome] { flex: 1.5; }
.form-cat input[name=limite] { flex: 1; }
.form-cat select { flex: 0 0 96px; }
.form-cat.nova { border-top: 1px solid var(--linha); padding-top: 12px; margin-top: 12px; }
.sair { text-align: center; }

/* ---------- Janelas ---------- */
.folha-fundo {
  position: fixed; inset: 0; background: rgba(0, 0, 0, .35); z-index: 50; display: flex; align-items: center;
  justify-content: center; padding: 16px;
}
.folha {
  background: var(--cartao); width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 20px;
  padding: 18px 20px; box-shadow: 0 20px 60px rgba(0,0,0,.25); display: flex; flex-direction: column; gap: 14px;
  animation: sobe .18s ease-out;
}
@keyframes sobe { from { transform: translateY(12px); opacity: 0; } }
.folha h2 { font-size: 1.15rem; }
.folha-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.folha-topo .alternador { flex: 0 1 240px; }
.folha fieldset { border: 0; padding: 0; margin: 0; }
.folha legend { font-size: 13px; font-weight: 600; color: var(--suave); margin-bottom: 7px; }
.folha-acoes { display: flex; align-items: center; gap: 8px; }
.folha-acoes .botao { min-width: 120px; }
.mais-opcoes summary { cursor: pointer; font-weight: 600; color: var(--suave); font-size: 14.5px; }
.mais-opcoes[open] { display: flex; flex-direction: column; gap: 12px; }
.mais-opcoes[open] summary { margin-bottom: 2px; }
.valor-grande { display: flex; align-items: baseline; gap: 8px; border-bottom: 2px solid var(--linha); padding: 4px 2px; }
.valor-grande:focus-within { border-color: var(--destaque); }
.valor-grande span { font-size: 22px; font-weight: 700; color: var(--suave); }
.valor-grande input { font-size: 36px; font-weight: 800; background: none; border: 0; padding: 0; min-height: 0; letter-spacing: -.02em; }
.folha-rapida { width: min(400px, 100%); gap: 6px; padding: 10px; }
.rapido-op {
  display: flex; align-items: center; gap: 14px; padding: 13px 14px; border-radius: 12px; border: 0; background: none;
  font: inherit; color: var(--texto); text-align: left; cursor: pointer; text-decoration: none;
}
.rapido-op:hover { background: var(--campo); }
.rapido-op .ic { width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: var(--destaque-claro); color: var(--texto); }
.rapido-op span { display: flex; flex-direction: column; }
.rapido-op small { font-size: 13px; }

/* ---------- Entrar ---------- */
.tela-entrar { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.entrar { width: min(360px, 100%); display: flex; flex-direction: column; gap: 14px; }

/* ---------- Celular ---------- */
@media (max-width: 860px) {
  .vista-mes { grid-template-columns: 1fr; }
  .dia-escolhido { position: static; }
}
@media (max-width: 700px) {
  .topo { position: static; justify-content: center; border: 0; background: none; backdrop-filter: none; padding-top: 14px; }
  .menu {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; justify-content: space-around; gap: 0;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); background: var(--cartao); border-top: 1px solid var(--linha);
  }
  .menu-item { flex-direction: column; gap: 2px; font-size: 11px; padding: 6px 0; flex: 1; background: none !important; box-shadow: none !important; }
  .menu-item.ativo { color: var(--texto); }
  .menu-item:not(.ativo) { opacity: .6; }
  .menu-mais { width: 48px; height: 48px; border-radius: 16px; margin: 0 4px; }
  .conteudo { padding: 8px 16px calc(96px + env(safe-area-inset-bottom)); }
  h1 { font-size: 1.5rem; }
  .navega-mes h1 { min-width: 0; font-size: 1.25rem; }
  .cal-dia { min-height: 50px; align-items: center; padding: 4px 0; }
  .cal-itens { display: none; }
  .cal-pontos { display: flex; gap: 2px; }
  .cal-pontos i { width: 5px; height: 5px; border-radius: 50%; background: var(--c); }
  .bloco, .dia-escolhido { padding: 14px; }
  .saldo-valor, .data-grande { font-size: 2.2rem; }
  .folha-fundo { align-items: flex-end; padding: 0; }
  .folha { border-radius: 20px 20px 0 0; max-height: 92vh; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); }
  .form-cat { flex-wrap: wrap; }
  .form-cat input[name=nome] { flex: 1 1 60%; }
}
