/* ============================================================================
   Contas — folha de estilo única.
   Nada mudou do desenho original: as mesmas cores, tipos e medidas.
   O que entrou foi só o bloco da tela de login, no fim.
   ============================================================================ */
:root{
  --paper:#E9EEEE; --card:#FFFFFF; --ink:#16262C; --ink-2:#5C7079; --line:#CFD9DA;
  --cofre:#0F6E5C; --cofre-2:#E3F0EC; --carimbo:#B4232A; --carimbo-2:#FBE9E7;
  --azul:#2F4F9E; --amarelo:#B98900;
  --sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --disp:'Archivo',var(--sans); --mono:'IBM Plex Mono','SF Mono',ui-monospace,monospace;
  --r:10px; --acc:#0F6E5C;
  --space-1:6px; --space-2:10px; --space-3:14px; --space-4:18px;
  --shadow-soft:0 10px 22px rgba(14,38,36,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.45;
  -webkit-font-smoothing:antialiased;padding:0 0 80px}
[hidden]{display:none!important}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--azul);outline-offset:2px;border-radius:4px}

/* ---- topo ---- */
header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hd{display:flex;align-items:center;gap:14px;padding:12px 0;flex-wrap:wrap}
.nav-mes{display:flex;align-items:center;gap:2px}
.nav-mes button{width:30px;height:30px;border-radius:6px;color:var(--ink-2);font-size:16px;line-height:1}
.nav-mes button:hover{background:var(--paper);color:var(--ink)}
.mes-nome{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-.02em;min-width:150px;text-align:center}
.mes-nome small{display:block;font-family:var(--mono);font-weight:400;font-size:10px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin-top:-2px}
.hd-stats{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.hd-stat{text-align:right}
.hd-stat b{display:block;font-family:var(--mono);font-weight:600;font-size:17px;letter-spacing:-.02em}
.hd-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);max-width:172px;display:block;line-height:1.2}
.falta b{color:var(--carimbo)} .quitado b{color:var(--cofre)}
.gastos b{color:var(--azul)} .desemb b{color:#7A3E9D}

.hd-stats.hd-stats-viagem{margin-left:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;justify-content:stretch}
.hd-stats.hd-stats-viagem .hd-stat{text-align:left;min-width:0;border:1px solid #D8E4E1;background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFA 100%);border-radius:10px;padding:8px 10px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.hd-stats.hd-stats-viagem .hd-stat b{font-size:15px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-stats.hd-stats-viagem .hd-stat span{max-width:none;white-space:normal}
.hd-stats.hd-stats-viagem .hd-stat.viagem-total-geral{grid-column:span 2}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(1) b{color:var(--cofre)}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(2) b{color:var(--azul)}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(3) b{color:#0E6B5A}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(4) b{color:var(--carimbo)}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(5) b{color:#7A3E9D}
.hd-stats.hd-stats-viagem .hd-stat:nth-child(6) b{color:#4C6F67}
body.aba-viagem .mes-nome{text-align:left;min-width:240px}
body.aba-viagem .mes-nome small{margin-top:2px;letter-spacing:.03em;text-transform:none;line-height:1.28}

/* ---- fita de vencimentos ---- */
.fita{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin:14px 0;overflow:hidden}
.app-main{padding-top:14px}
.fita-hd{display:flex;justify-content:space-between;align-items:baseline;padding:11px 14px 9px;border-bottom:1px dashed var(--line)}
.fita-hd h2{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.fita-hd em{font-style:normal;font-size:11px;color:var(--ink-2);line-height:1.45;max-width:52ch;text-align:right}
.dias{display:flex;gap:3px;padding:12px 14px 10px;overflow-x:auto;scrollbar-width:thin}
.dia{flex:1 0 26px;min-width:26px;display:flex;flex-direction:column;align-items:center;gap:5px;
  border:none;padding:4px 0 5px;border-radius:6px;transition:background .12s}
.dia:hover{background:var(--paper)}
.dia[aria-pressed="true"]{background:#DDE6E4;box-shadow:inset 0 0 0 1px var(--cofre)}
.dia .n{font-family:var(--mono);font-size:10px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.dia.hoje .n{color:var(--azul);font-weight:600}
.barras{display:flex;flex-direction:column-reverse;gap:2px;height:44px;justify-content:flex-start;width:100%;padding:0 3px}
.tick{height:5px;border-radius:1.5px;background:var(--cofre);opacity:.85}
.tick.pend{background:transparent;box-shadow:inset 0 0 0 1.25px var(--ink-2)}
.tick.venc{background:var(--carimbo)}
.dia.hoje{position:relative}
.dia.hoje:after{content:"";position:absolute;left:50%;bottom:-1px;width:5px;height:5px;border-radius:50%;background:var(--azul);transform:translateX(-50%)}

.diario-calendario-wrap{padding:12px 12px 14px;overflow:visible}
.diario-cal-semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}
.diario-cal-semana span{display:flex;align-items:center;justify-content:center;height:28px;border:1px solid #DFE8E8;border-radius:8px;background:#F8FBFB;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink-2)}
.diario-calendario{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(88px,105px);gap:8px;min-width:100%;width:100%;overflow:visible}
.diario-calendario .dia{min-width:0;min-height:88px;height:auto;display:grid;grid-template-rows:auto 1fr auto;align-items:start;justify-items:center;padding:8px 7px 8px;position:relative;border:1px solid #DCE6E7;border-radius:10px;background:#F7FAFA;transition:background .12s,border-color .12s,box-shadow .12s;overflow:hidden}
.diario-calendario .dia:hover{background:#EEF6F4;border-color:#C8D7D8}
.diario-calendario .dia.no{color:var(--ink-2);background:#FAFCFC}
.diario-calendario .dia.dia-vazio{pointer-events:none;background:transparent;border:1px solid transparent;box-shadow:none}
.diario-calendario .dia.selected{background:#EDF4FF;border-color:#8EB4EE;box-shadow:0 8px 14px rgba(47,79,158,.12)}
.diario-calendario .dia.is-max{border-color:#B7C9E8;box-shadow:inset 0 0 0 1px #D5E1F3}
.diario-calendario .dia.is-today{border-color:#24A07C;background:#F2FBF7;box-shadow:inset 0 0 0 1px rgba(15,110,92,.16)}
.diario-calendario .dia.is-today.selected{border-color:#1B9271;box-shadow:0 10px 18px rgba(15,110,92,.14), inset 0 0 0 1px rgba(15,110,92,.2)}
.diario-calendario .dia .n{align-self:start;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#FFFFFF;border:1px solid #D7E2E2;color:var(--ink);font-family:var(--mono);font-size:13px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;z-index:2;box-shadow:0 1px 0 rgba(255,255,255,.85) inset}
.diario-calendario .dia.is-today .n{color:#0D7A5D;border-color:#B9DFD3;background:#F7FFFC}
.diario-tag-hoje{position:absolute;top:9px;left:34px;font-size:9px;line-height:1;padding:2px 5px;border-radius:999px;background:#E6F5EF;color:#0F6E5C;font-weight:700;letter-spacing:.02em}
.diario-calendario .badge{position:absolute;top:8px;right:8px;min-width:20px;text-align:center;background:#0F6E5C;color:#fff;border-radius:999px;font-size:10px;line-height:1;padding:4px 6px;font-family:var(--mono);box-shadow:0 1px 2px rgba(22,38,44,.08);z-index:2}
.diario-dia-total{align-self:end;font-family:var(--mono);font-size:11px;color:var(--ink);line-height:1.15;min-height:28px;width:100%;display:block;text-align:center;padding:0 2px;background:transparent;border:none;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;letter-spacing:0;font-variant-numeric:tabular-nums}
.diario-dia-total.is-hidden{display:none}
.diario-calendario .dia.no .diario-dia-total{color:var(--ink-2)}

/* ---- abas ---- */
.abas{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:16px;
  overflow-x:auto;scrollbar-width:none;padding-bottom:0}
.abas::-webkit-scrollbar{display:none}
.aba{padding:8px 14px;font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.01em;
  white-space:nowrap;border-radius:8px 8px 0 0;margin-bottom:-1px;
  background:color-mix(in srgb,var(--t) 11%,#fff);
  color:color-mix(in srgb,var(--t) 78%,var(--ink));
  border-bottom:2px solid transparent;transition:background .12s,color .12s}
.aba:hover{background:color-mix(in srgb,var(--t) 22%,#fff);color:var(--t)}
.aba.on{background:var(--t);color:#fff;border-bottom-color:var(--t)}
.aba.on i{color:#fff;opacity:.72}
.aba i{font-style:normal;font-family:var(--mono);font-size:10px;margin-left:5px;opacity:.6}

/* ---- cartões / tabelas ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px;box-shadow:var(--shadow-soft);overflow:hidden}
.card-hd{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;min-height:46px}
.card-hd h3{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--acc);line-height:1.15}
.card-hd{border-bottom-color:var(--line)}
.card-hd:before{content:"";width:3px;height:13px;border-radius:2px;background:var(--acc);flex:0 0 3px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}

table{width:100%;border-collapse:collapse}
th.ord{cursor:pointer;user-select:none}
th.ord:hover{color:var(--ink)}
th.ord.on{color:var(--acc)}
th{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid #EDF1F1;vertical-align:middle;line-height:1.35}
tbody tr:last-child td{border-bottom:none}
tbody tr:nth-child(even){background:#F4F7F7}
tbody tr:hover{background:#E7EFEE}
tr.lin td:first-child{box-shadow:inset 3px 0 0 var(--c)}
tr.lin:hover{background:color-mix(in srgb,var(--c) 7%,#fff)}
.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.tot td{border-top:1px solid var(--line);font-weight:600;background:#F2F6F5}

.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.15;box-shadow:0 1px 0 rgba(255,255,255,.45) inset}
.pill-cat{background:var(--paper);color:var(--ink-2)}
.st{font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;letter-spacing:.02em;line-height:1.2;box-shadow:0 1px 0 rgba(255,255,255,.35) inset}
.st-pago{background:var(--cofre-2);color:var(--cofre)}
.st-pend{background:var(--paper);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.st-venc{background:var(--carimbo-2);color:var(--carimbo)}
.acao{color:var(--ink-2);font-size:12px;padding:3px 6px;border-radius:5px}
.acao:hover{background:var(--paper);color:var(--ink)}
.acao.del:hover{background:var(--carimbo-2);color:var(--carimbo)}

.btn{background:var(--ink);color:#fff;padding:7px 13px;border-radius:8px;font-size:13px;font-weight:600;min-height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;transition:transform .12s,box-shadow .12s,background .12s,filter .12s;box-shadow:0 1px 0 rgba(255,255,255,.08) inset}
.btn:hover{background:#25404A;filter:saturate(1.02)}
.btn:active{transform:translateY(1px)}
.btn-2{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);padding:6px 11px;border-radius:8px;font-size:12.5px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;transition:transform .12s,box-shadow .12s,background .12s,filter .12s}
.btn-2:hover{background:var(--paper)}
.btn-2:active{transform:translateY(1px)}
.btn-cofre{background:var(--acc);color:#fff}
.btn-cofre:hover{filter:brightness(.9)}
.btn:focus-visible,.btn-2:focus-visible,.btn-cofre:focus-visible,.moedas button:focus-visible,.viagem-rail-moedas button:focus-visible,.viagem-grafico-moedas-botoes button:focus-visible,.aba:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--azul) 18%,#fff)}
.dir{margin-left:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}

/* ---- barras por categoria ---- */
.barra{display:grid;grid-template-columns:98px 1fr 82px;align-items:center;gap:10px;padding:5px 14px}
.barra .lab{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barra .trilho{height:16px;background:var(--paper);border-radius:3px;overflow:hidden;display:flex}
.barra .fill{background:var(--cofre);opacity:.8}
.barra .fill-p{background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,transparent 3px,transparent 6px)}
.barra .v{font-family:var(--mono);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}

/* ---- resumo ---- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
@media(max-width:640px){.kpis{grid-template-columns:1fr 1fr}}
.kpi{background:var(--card);padding:13px 14px;min-height:100px;align-content:start;display:grid;gap:4px}
.kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2);margin-bottom:3px}
.kpi b{font-family:var(--mono);font-size:19px;font-weight:600;letter-spacing:-.03em;line-height:1.12}
.kpi small{font-family:var(--mono);font-size:11px;color:var(--ink-2);display:block;line-height:1.28;margin-top:4px}

/* ---- filtros ---- */
.filtros{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.filtros input,.filtros select{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;min-height:34px;transition:border-color .12s,box-shadow .12s,background .12s}
.filtros input[type=search]{min-width:140px}
.filtros input:hover,.filtros select:hover{border-color:#B7C7C9}
.filtros input:focus,.filtros select:focus{border-color:color-mix(in srgb,var(--cofre) 45%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--cofre) 14%,#fff)}

/* ---- modal ---- */
.mask{position:fixed;inset:0;background:rgba(22,38,44,.42);display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:0}
@media(min-width:640px){.mask{align-items:center;padding:20px}}
.modal{background:var(--card);border-radius:14px 14px 0 0;width:100%;max-width:460px;max-height:92vh;overflow:auto}
@media(min-width:640px){.modal{border-radius:12px}}
.modal h3{font-family:var(--disp);font-size:15px;font-weight:700;letter-spacing:.03em;padding:14px 16px;border-bottom:1px solid var(--line)}
.campos{padding:14px 16px;display:grid;gap:10px}
.campo{display:grid;gap:3px}
.campo label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.campo input,.campo select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--paper);width:100%;min-height:36px;transition:border-color .12s,box-shadow .12s,background .12s}
.campo input:focus,.campo select:focus{background:var(--card)}
.campo input:hover,.campo select:hover{border-color:#B7C7C9}
.campo input:focus,.campo select:focus{border-color:color-mix(in srgb,var(--cofre) 45%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--cofre) 14%,#fff)}
.par{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-pe{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#FAFCFC;position:sticky;bottom:0}
.vazio{padding:34px 16px;text-align:center;color:var(--ink-2);font-size:13.5px}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;
  padding:9px 16px;border-radius:8px;font-size:13px;z-index:60;box-shadow:0 6px 20px rgba(22,38,44,.25)}
.eur{color:var(--azul)}
.ver{font-family:var(--mono);font-size:9.5px;color:var(--ink-2);opacity:.6;letter-spacing:.04em;margin-left:8px}
.moedas{display:flex;gap:2px;background:var(--paper);padding:2px;border-radius:8px;margin-left:10px}
.moedas button{min-width:34px;height:26px;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--ink-2);font-family:var(--mono);transition:transform .12s,background .12s,color .12s,box-shadow .12s}
.moedas button:hover{color:var(--ink);transform:translateY(-1px)}
.moedas button[data-m="BRL"]{color:var(--cofre)}
.moedas button[data-m="USD"]{color:var(--azul)}
.moedas button[data-m="EUR"]{color:#7A3E9D}
.moedas button[data-m="PYG"]{color:#D97706}
.moedas button.on{background:var(--card);box-shadow:0 1px 2px rgba(22,38,44,.14);color:#fff;transform:translateY(-1px)}
.moedas button.on[data-m="BRL"]{background:var(--cofre)}
.moedas button.on[data-m="USD"]{background:var(--azul)}
.moedas button.on[data-m="EUR"]{background:#7A3E9D}
.moedas button.on[data-m="PYG"]{background:#D97706}

/* ---- consistência de subtítulos e blocos roláveis ---- */
.fita-hd h2,
.campo label,
.kpi span,
.viagem-rail-titulo,
.grafico-legend-inline,
.grafico-legenda,
th{font-weight:600}

.dias,
.diario-calendario-wrap,
.viagem-calendar-lista,
.viagem-resumo-lista,
.modal,
.fita,
.abas{scrollbar-color:#B4C5C7 #EAF0F1;scrollbar-width:thin}

@supports selector(::-webkit-scrollbar){
  .dias::-webkit-scrollbar,
  .diario-calendario-wrap::-webkit-scrollbar,
  .viagem-calendar-lista::-webkit-scrollbar,
  .viagem-resumo-lista::-webkit-scrollbar,
  .modal::-webkit-scrollbar,
  .fita::-webkit-scrollbar,
  .abas::-webkit-scrollbar{height:8px;width:8px}
  .dias::-webkit-scrollbar-thumb,
  .diario-calendario-wrap::-webkit-scrollbar-thumb,
  .viagem-calendar-lista::-webkit-scrollbar-thumb,
  .viagem-resumo-lista::-webkit-scrollbar-thumb,
  .modal::-webkit-scrollbar-thumb,
  .fita::-webkit-scrollbar-thumb,
  .abas::-webkit-scrollbar-thumb{background:#B4C5C7;border-radius:99px}
  .dias::-webkit-scrollbar-track,
  .diario-calendario-wrap::-webkit-scrollbar-track,
  .viagem-calendar-lista::-webkit-scrollbar-track,
  .viagem-resumo-lista::-webkit-scrollbar-track,
  .modal::-webkit-scrollbar-track,
  .fita::-webkit-scrollbar-track,
  .abas::-webkit-scrollbar-track{background:#EAF0F1;border-radius:99px}
}

/* ---- celular: a lista do mês vira cartões ---- */
@media(max-width:720px){
  .tmes thead{display:none}
  .tmes tfoot .tot td:nth-child(1){grid-area:1/1/2/2}
  .tmes tbody tr,.tmes tfoot tr{
    display:grid;grid-template-columns:1fr auto auto;gap:3px 8px;
    padding:11px 12px 11px 14px;border-bottom:1px solid #E3EAEA;align-items:center}
  .tmes td{border:none;padding:0}
  .tmes tr.lin td:first-child{box-shadow:none}
  .tmes tr.lin{box-shadow:inset 4px 0 0 var(--c)}
  .tmes tbody td:nth-child(2){grid-area:1/1/2/2;font-size:14.5px;line-height:1.25}
  .tmes tbody td:nth-child(6){grid-area:1/2/2/4;text-align:right;font-size:15px}
  .tmes tbody td:nth-child(1){grid-area:2/1/3/2}
  .tmes tbody td:nth-child(7){grid-area:2/2/3/4;text-align:right}
  .tmes tbody td:nth-child(3){grid-area:3/1/4/2}
  .tmes tbody td:nth-child(4){grid-area:3/2/4/3;text-align:right;font-size:11px}
  .tmes tbody td:nth-child(8){grid-area:3/3/4/4;text-align:right}
  .tmes tbody td:nth-child(5){display:none}          /* estimativa: sai no celular */
  .tmes tbody td:nth-child(1):before{content:"vence "}
  .tmes tfoot td:nth-child(2){display:none}
  .tmes tfoot td:nth-child(3){grid-area:1/2/2/4;text-align:right}
  .dia{min-width:22px;flex-basis:22px}
  .hd-stats{gap:10px;width:100%;justify-content:flex-start}
  .hd-stat{text-align:left}
  .hd-stat b{font-size:15px}
  .hd-stat span{max-width:none;font-size:9px}
  .hd-stats.hd-stats-viagem{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .hd-stats.hd-stats-viagem .hd-stat{padding:8px 9px}
  .hd-stats.hd-stats-viagem .hd-stat.viagem-total-geral{grid-column:1/-1}
  .hd-stats.hd-stats-viagem .hd-stat b{font-size:14px}
  body.aba-viagem .mes-nome{min-width:0;font-size:16px}
  body.aba-viagem .mes-nome small{font-size:9.5px}
  .moedas{margin-left:0;order:3}
  .ver{order:4}
  .hd{gap:9px}
  .mes-nome{min-width:118px;font-size:17px}
  .card-hd{gap:8px}
  .acao{font-size:11px;padding:2px 4px}
  .abas{margin:0 -16px 16px;padding:0 16px}
  .aba{padding:8px 11px;font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- relógio do topo ---- */
.barra-topo{display:flex;align-items:center;gap:10px;padding:6px 16px 5px;
  border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink-2)}
.barra-topo .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
#relogioHora{font-weight:600;color:var(--ink);font-size:12.5px;letter-spacing:-.01em}
.relogio-tz{margin-left:auto;opacity:.6;font-size:10px;letter-spacing:.03em}
@media(max-width:720px){
  .barra-topo{padding:5px 16px 4px;font-size:11px;gap:8px}
  .relogio-tz{display:none}
}

/* ---- barra da viagem: calendário, resumo e moedas ---- */
.viagem-sub{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:8px 14px;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink-2)}
.viagem-sub .mono{font-family:var(--mono);font-size:11px}
.pastilha{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 8px;border-radius:99px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,#fff)}
#selViagem{background:var(--paper);border:1px solid var(--line);border-radius:7px;
  padding:5px 8px;font-size:12.5px;font-weight:500;max-width:190px}
.viagem-topo-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:14px;align-items:start;padding:0 14px 14px}
.viagem-kpi-faixa{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:start;padding:0 14px 14px}
.viagem-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.viagem-calendario-card,.viagem-resumo-card,.viagem-tabela-card,.viagem-moeda-rail{background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFC 100%);border-color:#D8E4E1;box-shadow:0 14px 30px rgba(22,38,44,.05), 0 2px 0 rgba(255,255,255,.9) inset}
.viagem-moeda-rail{display:grid;gap:10px;align-content:start;position:sticky;top:14px}
.viagem-rail-titulo{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.viagem-rail-moedas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.viagem-rail-moedas button{height:42px;border-radius:12px;font-size:18px;font-weight:700;font-family:var(--mono);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:#fff;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.viagem-rail-moedas button[data-m="BRL"]{background:var(--cofre)}
.viagem-rail-moedas button[data-m="USD"]{background:var(--azul)}
.viagem-rail-moedas button[data-m="EUR"]{background:#7A3E9D}
.viagem-rail-moedas button[data-m="PYG"]{background:#D97706}
.viagem-rail-moedas button:hover{transform:translateY(-1px);filter:saturate(1.04)}
.viagem-rail-moedas button.on{transform:translateY(-1px);box-shadow:0 8px 18px rgba(22,38,44,.12), inset 0 0 0 1px rgba(255,255,255,.2)}
.viagem-compare-toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-2);padding-top:2px}
.viagem-compare-toggle input{accent-color:var(--cofre)}
.viagem-calendario-card,.viagem-resumo-card,.viagem-tabela-card{overflow:hidden}
.viagem-calendar-lista{padding:12px;display:grid;gap:10px;max-height:680px;overflow:auto}
.viagem-dia{display:grid;grid-template-columns:84px minmax(0,1.5fr) minmax(132px,.9fr) auto;gap:12px;align-items:center;width:100%;padding:14px 14px 13px;border-radius:18px;border:1px solid #DCE6E4;background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.viagem-dia:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(22,38,44,.08);border-color:#C8DBD6}
.viagem-dia.is-active{border-color:var(--cofre);box-shadow:0 0 0 2px color-mix(in srgb,var(--cofre) 14%,#fff), 0 12px 22px rgba(22,38,44,.08)}
.viagem-dia.is-hoje{border-color:var(--azul);box-shadow:0 0 0 2px color-mix(in srgb,var(--azul) 10%,#fff), 0 14px 26px rgba(47,79,158,.08)}
.viagem-dia-data{display:grid;gap:2px}
.viagem-dia-data strong{font-family:var(--mono);font-size:clamp(16px,1.7vw,19px);color:var(--ink);white-space:nowrap;line-height:1}
.viagem-dia-data span,.viagem-dia-lugar small,.viagem-dia-total small{font-size:10px;color:var(--ink-2)}
.viagem-dia-lugar{display:grid;gap:2px;min-width:0}
.viagem-dia-lugar b{font-size:clamp(13px,1.25vw,15px);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viagem-dia-total{display:grid;justify-items:end;text-align:right;gap:2px}
.viagem-dia-total b{font-family:var(--mono);font-size:clamp(14px,1.45vw,18px);color:var(--cofre);white-space:nowrap}
.viagem-dia-indicadores{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;min-width:90px}
.viagem-indicador{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 58%,#fff);color:var(--c);font-size:10px;font-weight:700;background:color-mix(in srgb,var(--c) 12%,#fff);opacity:.38;box-shadow:0 1px 2px rgba(22,38,44,.04)}
.viagem-indicador.is-on{opacity:1}
.viagem-resumo-dia{padding:14px 14px 15px;display:grid;gap:12px}
.viagem-resumo-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.viagem-resumo-top h3{font-family:var(--disp);font-size:clamp(24px,2.3vw,30px);line-height:1;color:var(--cofre)}
.viagem-resumo-top p{margin-top:4px;font-size:12px;color:var(--ink-2)}
.viagem-resumo-numeros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.viagem-resumo-numeros > div,.viagem-resumo-blocos > div{border:1px solid var(--line);background:#FBFDFC;border-radius:14px;padding:10px 11px;display:grid;gap:4px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.viagem-resumo-numeros span,.viagem-resumo-blocos span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.viagem-resumo-numeros b,.viagem-resumo-blocos b{font-family:var(--mono);font-size:13px;line-height:1.25;color:var(--ink)}
.viagem-resumo-blocos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.viagem-resumo-blocos .viagem-bloco-observacoes{grid-column:1/-1}
.viagem-resumo-indicadores{display:flex;gap:6px;flex-wrap:wrap}
.viagem-resumo-lista{display:grid;gap:7px;max-height:340px;overflow:auto;padding-right:2px}
.viagem-lancamento{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);padding:11px 12px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.viagem-lancamento b{display:block;font-size:12.5px;color:var(--ink)}
.viagem-lancamento small{display:block;font-size:10px;color:var(--ink-2);margin-top:2px}
.viagem-lancamento .mono{font-family:var(--mono);font-size:12px;white-space:nowrap;color:var(--cofre)}
.viagem-lancamento-obs{max-width:240px;white-space:normal}
.viagem-comparacao{display:grid;gap:2px;margin-top:4px;width:100%}
.viagem-moeda-linha{display:flex;justify-content:flex-start;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;line-height:1.15;white-space:nowrap}
.viagem-moeda-linha i{font-style:normal;min-width:16px;text-align:right;opacity:.9}
.viagem-moeda-linha b{font-weight:500}
.moeda-brl{color:var(--cofre)}
.moeda-usd{color:var(--azul)}
.moeda-eur{color:#7A3E9D}
.moeda-pyg{color:#D97706}
.viagem-moeda-linha.is-selected{font-weight:700}
.viagem-valor{display:grid;gap:3px;justify-items:center;text-align:center}
.viagem-valor b{display:block;font-family:var(--mono);font-size:clamp(15px,1.35vw,18px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.viagem-valor small{display:block;font-size:10px;color:var(--ink-2);line-height:1.25}
.viagem-vazio-dia{padding:18px}
.viagem-grafico-card{margin:0 14px 14px}
.viagem-grafico-card,.diario-hero,.mes-resumo{border-color:#D7E3E0;box-shadow:0 12px 24px rgba(14,38,36,.06)}
.viagem-grafico-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.viagem-grafico-hd h3{line-height:1.1}
.viagem-grafico-hd p{margin-top:7px;font-size:12.5px;color:var(--ink-2)}
.viagem-grafico-moedas{display:flex;justify-content:flex-end}
.viagem-grafico-moedas-botoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.viagem-grafico-moedas-botoes button{width:42px;height:38px;border-radius:12px;font-size:18px;font-weight:700;font-family:var(--mono);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:#fff;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.viagem-grafico-moedas-botoes button[data-m="BRL"]{background:var(--cofre)}
.viagem-grafico-moedas-botoes button[data-m="USD"]{background:var(--azul)}
.viagem-grafico-moedas-botoes button[data-m="EUR"]{background:#7A3E9D}
.viagem-grafico-moedas-botoes button[data-m="PYG"]{background:#D97706}
.viagem-grafico-moedas-botoes button:hover{transform:translateY(-1px);filter:saturate(1.04)}
.viagem-grafico-moedas-botoes button.on{transform:translateY(-1px);box-shadow:0 8px 18px rgba(22,38,44,.12), inset 0 0 0 1px rgba(255,255,255,.2)}
.viagem-grafico-card .grafico-diario{padding:8px 14px 4px}
.viagem-grafico-card .grafico-diario svg.diario-evolucao{max-height:none}
.viagem-grafico-legenda{display:flex;justify-content:flex-end;padding:0 14px 4px}
.viagem-grafico-legenda span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2)}
.viagem-grafico-legenda i{display:inline-block;width:20px;height:2px;background:#4C6F67;opacity:.85;border-radius:99px}
.viagem-grafico-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:4px 14px 14px}
.viagem-grafico-kpi{border:1px solid var(--line);border-radius:12px;background:#FBFDFC;box-shadow:0 1px 0 rgba(255,255,255,.9) inset;padding:11px 12px;display:grid;gap:6px;align-content:space-between;min-height:84px}
.viagem-grafico-kpi span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.viagem-grafico-kpi b{font-family:var(--mono);font-size:13px;line-height:1.3;color:var(--ink);white-space:normal;word-break:break-word}
.viagem-secundaria{padding:0 14px 14px}
.viagem-kpi-faixa-pro{padding-top:12px}
.viagem-kpis-executivo{grid-template-columns:repeat(4,minmax(0,1fr));background:var(--line)}
.viagem-kpi-plus{min-height:108px}
.viagem-categorias-card{margin:0 14px 14px}
.viagem-categorias-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.viagem-categoria-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);padding:11px 12px;display:grid;gap:5px;min-height:124px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.viagem-categoria-card b{font-family:var(--mono);font-size:15px;color:var(--ink);line-height:1.2}
.viagem-categoria-card small{font-size:10px;color:var(--ink-2)}
.viagem-cat-top{display:flex;align-items:center;gap:6px;min-width:0}
.viagem-cat-top h4{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viagem-cat-icone{font-size:15px}
.viagem-cat-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--ink-2)}
.viagem-analitico-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;padding:0 14px 14px;align-items:start}
.viagem-chart-card{margin:0}
.viagem-chart-body{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;padding:12px 14px 14px}
.viagem-pizza{width:100%;max-width:140px;height:auto}
.viagem-chart-legend{display:grid;gap:6px}
.viagem-chart-legend div{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;font-size:11px}
.viagem-chart-legend i{width:10px;height:10px;border-radius:50%}
.viagem-chart-legend b{font-family:var(--mono);font-size:11px}
.viagem-line-wrap{padding:12px 14px 14px}
.viagem-line{display:block;width:100%;height:auto;max-height:260px}
.viagem-lateral-card{margin:0}
.viagem-lateral-grid{padding:12px 14px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.viagem-lateral-grid > div{border:1px solid var(--line);border-radius:12px;background:#FBFDFC;padding:9px 10px;display:grid;gap:3px}
.viagem-lateral-grid > div.full{grid-column:1/-1}
.viagem-lateral-grid span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}
.viagem-lateral-grid b{font-family:var(--mono);font-size:12px;color:var(--ink)}
.viagem-resumo-operacional{margin:0 14px 14px}
.viagem-op-grid{padding:12px 14px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.viagem-op-grid > div{border:1px solid var(--line);border-radius:12px;background:#FBFDFC;padding:10px 11px;display:grid;gap:4px}
.viagem-op-grid > div.full{grid-column:1/-1}
.viagem-op-grid span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.viagem-op-grid b{font-family:var(--mono);font-size:13px;color:var(--ink)}
.viagem-barra-cat{padding:7px 14px}
.viagem-barra-cat .lab{display:grid;gap:1px}
.viagem-barra-cat .lab b{font-size:12.5px;font-weight:600;color:var(--ink)}
.viagem-barra-cat .lab small{font-size:11px;color:var(--ink-2)}
.viagem-barra-cat .lab,.viagem-barra-cat .v{min-width:0}
.viagem-barra-cat .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.viagem-dia-bar{border:none;background:linear-gradient(180deg,var(--cofre) 0%,color-mix(in srgb,var(--cofre) 72%,#fff) 100%);opacity:.82;border-radius:10px 10px 0 0;min-height:0;transition:opacity .12s,filter .12s,transform .12s;animation:viagemBarRise .55s cubic-bezier(.25,.9,.3,1) both}
.viagem-dia-bar:hover{opacity:1;filter:brightness(.97);transform:translateY(-1px)}
.viagem-dia-bar.is-max{background:linear-gradient(180deg,var(--azul) 0%,color-mix(in srgb,var(--azul) 74%,#fff) 100%);opacity:.96}
@keyframes viagemBarRise{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
@media(max-width:720px){
  #selViagem{max-width:130px}
  .viagem-sub{gap:7px;padding:8px 12px}
  .viagem-grafico-card{margin-left:12px;margin-right:12px}
  .viagem-grafico-hd{display:grid;gap:10px}
  .viagem-grafico-moedas{justify-content:flex-start}
  .viagem-grafico-moedas-botoes{gap:7px}
  .viagem-grafico-moedas-botoes button{width:39px;height:35px;font-size:17px}
  .viagem-grafico-card .grafico-diario{padding:6px 12px 3px}
  .viagem-grafico-legenda{padding:0 12px 6px;justify-content:flex-start}
  .viagem-grafico-resumo{grid-template-columns:1fr;padding:4px 12px 12px}
  .viagem-topo-grid,.viagem-kpi-faixa{grid-template-columns:1fr;padding-left:12px;padding-right:12px}
  .viagem-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viagem-kpis-executivo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viagem-categorias-card{margin-left:12px;margin-right:12px}
  .viagem-categorias-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .viagem-analitico-grid{grid-template-columns:1fr;padding-left:12px;padding-right:12px}
  .viagem-chart-body{grid-template-columns:1fr}
  .viagem-chart-legend div{grid-template-columns:12px 1fr auto}
  .viagem-op-grid{grid-template-columns:1fr}
  .viagem-resumo-operacional{margin-left:12px;margin-right:12px}
  .viagem-moeda-rail{position:static}
  .viagem-resumo-blocos{grid-template-columns:1fr}
  .viagem-dia{grid-template-columns:62px minmax(0,1fr);grid-template-areas:'data total' 'lugar lugar' 'ind ind'}
  .viagem-dia-data{grid-area:data}
  .viagem-dia-lugar{grid-area:lugar}
  .viagem-dia-total{grid-area:total}
  .viagem-dia-indicadores{grid-area:ind;justify-content:flex-start}
  .viagem-resumo-numeros{grid-template-columns:1fr}
  .viagem-resumo-top h3{font-size:21px}
  .viagem-rail-moedas{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:1040px){
  .viagem-grafico-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viagem-topo-grid,.viagem-kpi-faixa{grid-template-columns:1fr}
  .viagem-kpis-executivo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .viagem-categorias-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .viagem-analitico-grid{grid-template-columns:1fr 1fr}
  .viagem-lateral-card{grid-column:1/-1}
  .viagem-moeda-rail{position:static}
}

/* ---- tela de entrada (usa os mesmos tokens do app) ---- */
#login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}
#app{min-height:100dvh;align-content:start}
.login-card{width:100%;max-width:380px;margin:0}
.login-topo{padding:22px 16px 4px;text-align:center}
.login-topo h1{font-family:var(--disp);font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.login-topo p{font-size:13.5px;color:var(--ink-2);margin-top:5px}
.login-erro{background:var(--carimbo-2);color:var(--carimbo);font-size:12.5px;padding:8px 10px;border-radius:7px}
.login-links{display:flex;justify-content:space-between;gap:10px;margin-top:2px}
.lnk{font-size:12.5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;padding:4px 0}
.lnk:hover{color:var(--cofre)}
#carregando{padding:60px 16px;text-align:center;color:var(--ink-2);font-size:13.5px}
@media(max-width:720px){
  .app-main{padding-top:10px}
}

.diario-resumo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line)}
.diario-resumo-grid .kpi{min-height:106px}
.mes-dashboard{display:grid;gap:14px}
.mes-resumo{border-color:#D9E7E3;box-shadow:0 10px 24px rgba(15,110,92,.06)}
.mes-resumo-kpis .kpi{min-height:98px}
.kpi b.kpi-multi{display:block;font-size:16px;line-height:1.2}
.kpi strong{display:block;font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:-.01em}
.kpi em{display:block;font-style:normal;color:var(--ink-2);font-size:11.5px;margin-top:4px}
.meta-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--ink-2)}
.meta-linha .pill-cat{font-size:10px}
.grafico-diario{padding:14px}
.grafico-diario{background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFA 100%);border-top:1px solid #E5EEEC;border-bottom:1px solid #E5EEEC}
.grafico-diario svg{display:block;width:100%;height:auto}
.grafico-diario svg.diario-evolucao{max-height:236px}
.grafico-diario svg.diario-evolucao text{paint-order:stroke;stroke:#F7FAF9;stroke-width:1.8px;letter-spacing:.01em}
.grafico-legenda{display:flex;justify-content:space-between;gap:12px;row-gap:8px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--ink-2)}
.grafico-legenda b{font-family:var(--mono);font-size:12.5px;color:var(--ink)}
.diario-dashboard{display:grid;gap:14px}
.diario-hero{border-color:#D9E7E3;box-shadow:0 12px 28px rgba(15,110,92,.08)}
.diario-hero .card-hd h3{color:var(--cofre)}
.diario-hero-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1px;background:var(--line)}
.diario-hero-total,.diario-hero-side{background:var(--card)}
.diario-hero-total{padding:22px 18px;display:grid;gap:8px;align-content:center}
.diario-hero-total span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.diario-hero-total b{font-family:var(--mono);font-size:38px;letter-spacing:-.05em;line-height:1;color:var(--cofre)}
.diario-hero-total small{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.diario-hero-side{display:grid;grid-template-columns:repeat(3,1fr)}
.diario-stat{padding:16px 18px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:4px}
.diario-stat span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.diario-stat b{font-family:var(--mono);font-size:18px;letter-spacing:-.03em}
.diario-stat small{font-size:12px;color:var(--ink-2)}
.diario-stat-full{grid-column:1/-1}
.diario-pills{display:flex;gap:6px;flex-wrap:wrap}
.diario-grid-top{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(280px,.68fr);gap:22px;align-items:start}
.diario-grid-top > .card{height:auto;min-height:0;overflow:visible}
.diario-calendario-card{overflow:visible}
.diario-calendar-help{padding:0 14px 4px;font-size:12px;color:var(--ink-2)}
.diario-calendar-help{line-height:1.45}
.diario-dia-card .vazio{padding:30px 18px;text-align:left}
.diario-dia-card .card-hd h3{padding-right:6px;line-height:1.25}
.diario-dia-resumo-v2{padding:12px 14px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.diario-dia-sec{border:1px solid var(--line);background:#FBFDFC;border-radius:12px;padding:10px 11px;display:grid;gap:4px}
.diario-dia-sec span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.diario-dia-sec b{font-family:var(--mono);font-size:13px;color:var(--ink);line-height:1.3}
.diario-dia-sec small{font-size:11px;color:var(--ink-2)}
.diario-dia-sec.full{grid-column:1/-1}
.diario-dia-sec.total b{font-size:26px;line-height:1;color:var(--cofre);letter-spacing:-.02em}
.diario-vazio-dia p{margin-top:8px}
.grafico-cabecalho{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;padding:14px 14px 0}
.grafico-cabecalho p{max-width:620px;font-size:12.5px;color:var(--ink-2);line-height:1.45}
.grafico-legend-inline{display:flex;gap:14px;row-gap:7px;flex-wrap:wrap;font-size:11px;color:var(--ink-2)}
.grafico-legend-inline span{display:flex;align-items:center;gap:6px}
.grafico-legend-inline i{display:inline-block;width:22px;height:3px;border-radius:99px;background:#D84315;box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
.grafico-legend-inline i.dot{width:8px;height:8px;border-radius:50%;background:#0F6E5C}
.grafico-legend-inline i.bar{width:12px;height:8px;border-radius:3px;background:#D84315;opacity:.84}
.grafico-legend-inline i.avg{background:#0F6E5C;border-radius:0;opacity:.9}
.grafico-legend-inline i.limit{background:#2F4F9E;border-radius:0;opacity:.9}
.diario-resumo-mensal .kpi{min-height:112px}
.diario-graficos-mes{align-items:start}
.fluxo-alerta{margin-top:8px;font-size:11px;color:var(--ink-2)}
.fluxo-resumo b{font-size:11.5px}
.fluxo-intel-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fluxo-intel-item{border:1px solid var(--line);border-radius:10px;background:#FBFDFC;padding:10px 11px;display:grid;gap:4px}
.fluxo-intel-item span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.fluxo-intel-item b{font-family:var(--mono);font-size:14px;color:var(--ink);line-height:1.3}
.fluxo-intel-item small{font-size:11px;color:var(--ink-2);line-height:1.35}
.fluxo-status.ok{border-color:#CDE6D6;background:#F3FBF6}
.fluxo-status.warn{border-color:#E7DDBA;background:#FEFCF3}
.fluxo-status.danger{border-color:#E6C4C4;background:#FFF7F7}
.fluxo-status.neutral{border-color:#DCE6EA;background:#F8FBFC}
.fluxo-intel-resumo{grid-column:1/-1}
.fluxo-intel-resumo ul{margin:0;padding-left:16px;display:grid;gap:4px}
.fluxo-intel-resumo li{font-size:12px;color:var(--ink);line-height:1.35}
.fluxo-bar-group .fluxo-guide{stroke:#8EA3AA;stroke-width:1;stroke-dasharray:2 4;opacity:0;transition:opacity .2s ease}
.fluxo-bar-group .fluxo-bar{transition:filter .2s ease,opacity .2s ease;transform-box:fill-box;transform-origin:50% 100%;animation:fluxoBarGrow .65s cubic-bezier(.25,.9,.3,1) both}
.fluxo-bar-group:hover .fluxo-guide,.fluxo-bar-group.is-active .fluxo-guide{opacity:.65}
.fluxo-bar-group:hover .fluxo-bar,.fluxo-bar-group.is-active .fluxo-bar{filter:brightness(.86)}
.fluxo-bar-group.is-peak .fluxo-guide{stroke:#6E8B97}
@keyframes fluxoBarGrow{
  from{transform:scaleY(.03)}
  to{transform:scaleY(1)}
}
.diario-categorias-mes{padding:8px 0 12px}
.diario-barra-cat .lab{display:grid;gap:1px}
.diario-barra-cat .lab b{font-size:12.5px;font-weight:600;color:var(--ink)}
.diario-barra-cat .lab small{font-size:11px;color:var(--ink-2)}
.diario-grafico-soma{padding:0 14px 12px;font-size:11px;color:var(--ink-2)}
.diario-grafico-soma b{font-family:var(--mono);font-size:12px;color:var(--ink)}
.diario-gasto-dia-wrap{padding:10px 14px}
.diario-gasto-dia-bars{display:flex;gap:2px;align-items:flex-end;height:140px}
.diario-dia-bar{flex:1;border:none;background:var(--cofre);opacity:.75;border-radius:2px 2px 0 0;min-height:0;transition:opacity .12s,filter .12s}
.diario-dia-bar:hover{opacity:1;filter:brightness(.95)}
.diario-dia-bar.zero{background:transparent;box-shadow:inset 0 0 0 1px #D7E2E0;opacity:1;height:0!important}
.diario-dia-bar.is-max{background:var(--azul);opacity:.92}
.diario-dia-bar.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--cofre) 45%,#fff)}
.diario-gasto-dia-labels{display:flex;gap:2px;margin-top:4px}
.diario-dia-col-label{font-family:var(--mono);font-size:9px;line-height:1;color:var(--ink-2)}
.diario-gasto-dia-labels .diario-dia-col-label{flex:1;text-align:center}
.diario-gasto-dia-meta{padding-top:8px;font-size:10px;color:var(--ink-2);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}

.diario-pagamento-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px 14px}
.diario-pagamento-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);padding:12px 12px;display:grid;gap:6px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.diario-pagamento-card span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.diario-pagamento-card b{font-family:var(--mono);font-size:15px;color:var(--ink);line-height:1.2;font-weight:600}
.diario-pagamento-card small{font-size:11px;color:var(--ink-2)}
.diario-pagamento-card .bar{width:100%;height:4px;background:#D7E2E0;border-radius:2px;margin-top:4px;overflow:hidden}
.diario-pagamento-card .fill{height:100%;border-radius:2px;background:var(--cofre);transition:width .35s cubic-bezier(.25,.9,.3,1)}
.diario-pagamento-card.pix .fill{background:var(--azul)}
.diario-pagamento-card.dinheiro .fill{background:var(--carimbo)}
.diario-pagamento-mes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px 14px}
.diario-pagamento-mes-card{border:1px solid #D7E2E0;border-radius:12px;background:#F8FBFA;padding:12px 12px;display:grid;gap:6px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.diario-pagamento-mes-card span{font-size:9px;letter-spacing:.10em;text-transform:uppercase;color:var(--ink-2)}
.diario-pagamento-mes-card b{font-family:var(--mono);font-size:14px;color:var(--ink);line-height:1.2;font-weight:600}
.diario-pagamento-mes-card small{font-size:10px;color:var(--ink-2)}

/* ---- insights / inteligência financeira ---- */
.insights-dashboard{display:grid;gap:14px}
.insights-hero{border-color:#D9E7E3;box-shadow:0 12px 28px rgba(14,38,36,.07)}
.insights-hero .kpis{grid-template-columns:repeat(4,minmax(0,1fr));background:var(--line)}
.insights-hero .kpi{min-height:108px}
.insights-resumo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1px;background:var(--line)}
.insights-resumo-texto,.insights-spark-card{background:var(--card)}
.insights-resumo-texto{padding:16px 18px;display:grid;gap:10px}
.insights-resumo-texto p{font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.insights-resumo-texto b{color:var(--ink)}
.insights-moedas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 18px 16px;background:var(--card);border-top:1px solid var(--line)}
.insight-moeda{border:1px solid var(--line);border-radius:12px;background:#FBFDFC;padding:10px 11px;display:grid;gap:4px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.insight-moeda span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.insight-moeda b{font-family:var(--mono);font-size:13px;line-height:1.25;color:var(--ink)}
.insight-moeda small{font-size:10px;color:var(--ink-2);line-height:1.25}
.insights-spark-card{padding:16px 18px;display:grid;gap:8px;align-content:start}
.insights-spark-title{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--acc)}
.insights-sparkline{display:block;width:100%;height:auto;min-height:110px;background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFA 100%);border:1px solid #E4EEEC;border-radius:12px;padding:8px}
.insights-spark-legend{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.insights-grid{align-items:start}
.insights-blocos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px 14px}
.insights-line{border:1px solid var(--line);border-radius:12px;background:#FBFDFC;padding:10px 11px;display:grid;gap:4px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.insights-line span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.insights-line b{font-family:var(--mono);font-size:13px;line-height:1.25;color:var(--ink)}
.insights-lista{padding:12px 14px 14px;display:grid;gap:8px}
.insight-alerta{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff 0%,#FBFDFC 100%);padding:10px 11px;display:grid;gap:4px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset}
.insight-alerta span,.insight-alerta small{font-size:11px;color:var(--ink-2);line-height:1.35}
.insight-alerta b{font-family:var(--mono);font-size:13px;color:var(--ink)}
.insights-subtitle{padding:0 14px 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.insights-bar-list{padding:0 0 12px}
.insights-barra .lab b{display:block;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insights-barra .lab small{display:block;font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insights-barra .v{font-family:var(--mono);font-size:12px;white-space:nowrap}
.insights-exportacoes{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px 4px}
.insights-exportacoes .btn,.insights-exportacoes .btn-2{min-width:132px}
.insights-hero .pill{align-self:start}

@media(max-width:1040px){
  .insights-resumo{grid-template-columns:1fr}
  .insights-hero .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insights-moedas{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  .insights-hero .kpis{grid-template-columns:1fr}
  .insights-moedas{grid-template-columns:1fr}
  .insights-blocos{grid-template-columns:1fr}
  .insights-exportacoes .btn,.insights-exportacoes .btn-2{min-width:0;flex:1}
}

@media(max-width:980px){
  .diario-hero-body{grid-template-columns:1fr}
  .diario-hero-side{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:1100px){
  .diario-grid-top{grid-template-columns:1fr}
}
@media(max-width:720px){
  .fita-hd{flex-direction:column;align-items:flex-start;gap:6px}
  .fita-hd em{text-align:left;max-width:none}
  .diario-hero-total b{font-size:32px}
  .diario-hero-side{grid-template-columns:1fr}
  .diario-stat{border-left:none}
  .diario-stat{padding:14px 16px}
  .diario-grid-top .diario-dia-card{order:-1}
  .grafico-cabecalho{padding-top:12px}
  .diario-resumo-grid,.diario-resumo-mensal{grid-template-columns:1fr}
  .mes-resumo-kpis{grid-template-columns:1fr}
  .diario-calendario-wrap{padding:10px 10px 12px;overflow-x:auto}
  .diario-cal-semana,.diario-calendario{min-width:620px}
  .diario-cal-semana{gap:5px}
  .diario-cal-semana span{height:24px;font-size:9px}
  .diario-calendario{grid-template-columns:repeat(7,minmax(84px,1fr));grid-auto-rows:minmax(78px,92px);gap:5px}
  .diario-calendario .dia{min-height:78px;padding:6px 6px}
  .diario-calendario .dia .n{min-width:22px;height:22px;font-size:12px;padding:0 5px}
  .diario-tag-hoje{top:8px;left:31px;font-size:8px;padding:2px 4px}
  .diario-calendario .badge{top:6px;right:6px;padding:3px 5px}
  .diario-dia-total{font-size:10px;min-height:20px;line-height:1.08;padding:0 1px}
  .diario-dia-resumo-v2{grid-template-columns:1fr}
  .diario-dia-sec.total b{font-size:23px}
  .grafico-legenda{font-size:10px;gap:10px}
  .grafico-cabecalho p{font-size:12px}
  .grafico-diario svg.diario-evolucao{max-height:220px}
  .fluxo-intel-grid{grid-template-columns:1fr}
  .fluxo-intel-item b{font-size:13px}
  .diario-gasto-dia-bars{height:122px}
  .diario-gasto-dia-meta{font-size:9px}
  .diario-gasto-dia-labels .diario-dia-col-label{font-size:8px}
  .grafico-legend-inline{gap:10px}
  .aba{padding:8px 10px;font-size:12px}
}
@media(max-width:1024px) and (min-width:721px){
  .diario-calendario{gap:6px}
  .diario-calendario .dia{min-height:86px;padding:7px 6px}
  .diario-calendario .dia .n{min-width:23px;height:23px;font-size:12.5px}
  .diario-tag-hoje{top:8px;left:32px}
  .diario-calendario .badge{padding:2px 5px;font-size:9.5px}
  .diario-dia-total{font-size:10px;min-height:20px;padding:0 1px}
}

@media(max-width:460px){
  .diario-dia-total.is-hidden{display:none}
}
