/* Finst — estilos das prévias dos componentes. Valores vêm de tokens.css (var(--…)).
   Ícones: subconjunto de Material Symbols Rounded 400 (Apache 2.0) embutido — o app usa Material Icons Rounded. */
@font-face { font-family: 'Finst Icones'; font-style: normal; font-weight: 400; font-display: block; src: url(data:font/woff2;base64,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) format('woff2'); }


.fn, .fn * { box-sizing: border-box; }
.fn { font-family: var(--font-sans); color: var(--escuro); -webkit-font-smoothing: antialiased; }
.fn-pagina { background: var(--fundo); padding: var(--espaco-16); display: flex; flex-direction: column; gap: var(--espaco-12); min-height: 100%; }
.fn-linha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espaco-8); }
.fn-num { font-variant-numeric: tabular-nums; }

.ico { font-family: 'Finst Icones'; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; font-feature-settings: 'liga'; width: 1em; height: 1em; overflow: hidden; flex: none; -webkit-font-smoothing: antialiased; font-variation-settings: 'FILL' 1; }
.ico.contorno { font-variation-settings: 'FILL' 0; }
.ico.p { font-size: 18px; } .ico.g { font-size: 28px; }

/* Botão — StadiumBorder, padding 14/24, texto 14 w500 caixa alta */
.fn-botao { font: 500 14px/20px var(--font-sans); letter-spacing: .5px; text-transform: uppercase; border: 0; border-radius: var(--raio-pill); padding: var(--espaco-14) var(--espaco-24); display: inline-flex; align-items: center; justify-content: center; gap: var(--espaco-8); cursor: pointer; }
.fn-botao.primario { background: var(--limao); color: var(--escuro-fixo); }
.fn-botao.secundario { background: var(--superficie-2); color: var(--escuro); }
.fn-botao.neutro { background: var(--cinza-botao); color: var(--escuro-fixo); }
.fn-botao.areia { background: var(--areia); color: var(--escuro-fixo); }
.fn-botao.contorno { background: transparent; color: var(--escuro); box-shadow: inset 0 0 0 1.5px var(--escuro); }
.fn-botao.contorno-limao { background: transparent; color: var(--escuro); box-shadow: inset 0 0 0 1.5px var(--limao); }
.fn-botao.perigo { background: var(--vermelho); color: var(--sobre-escuro); }
.fn-botao.sucesso { background: var(--verde); color: var(--sobre-escuro); }
.fn-botao.desabilitado { background: var(--superficie-2); color: var(--cinza); cursor: default; }
.fn-botao.compacto { padding: 10px var(--espaco-16); font-size: 12px; }
.fn-botao.bloco { width: 100%; }
.fn-botao:focus-visible, .fn-seg button:focus-visible, .fn-chip:focus-visible { outline: 2px solid var(--escuro); outline-offset: 2px; }

/* FAB */
.fn-fab { width: 56px; height: 56px; border-radius: var(--raio-pill); background: var(--limao); color: var(--escuro-fixo); display: inline-grid; place-items: center; box-shadow: var(--sombra-fab); border: 0; }
.fn-fab.escuro { background: var(--escuro-fixo); color: var(--sobre-escuro); border-radius: var(--raio-16); }
.fn-fab.mini { width: 40px; height: 40px; }

/* Campo — preenchido superficie-2, raio 14, ícone à esquerda */
.fn-campo { display: flex; align-items: center; gap: var(--espaco-12); background: var(--superficie-2); border-radius: var(--raio-14); padding: var(--espaco-14) var(--espaco-16); font: 400 15px/20px var(--font-sans); color: var(--escuro); }
.fn-campo .ico { color: var(--escuro); font-size: 22px; }
.fn-campo .ph { color: var(--cinza); }
.fn-campo .fim { margin-left: auto; color: var(--cinza); }
.fn-campo.rotulado { flex-wrap: wrap; padding-top: 8px; }
.fn-campo.rotulado .rot { flex-basis: 100%; font: 400 12px/14px var(--font-sans); color: var(--cinza); }
.fn-campo.selecionado { box-shadow: inset 0 0 0 1.5px var(--limao); background: var(--superficie); }

/* Seletor segmentado */
.fn-seg { display: flex; gap: 0; background: var(--superficie-2); border-radius: var(--raio-12); padding: 0; overflow: hidden; }
.fn-seg button { flex: 1; border: 0; background: transparent; font: 500 14px/20px var(--font-sans); color: var(--escuro); padding: 10px var(--espaco-12); display: inline-flex; align-items: center; justify-content: center; gap: var(--espaco-6); border-radius: 0; }
.fn-seg button[aria-pressed="true"] { background: var(--limao); color: var(--escuro-fixo); }
.fn-seg.tipo button[aria-pressed="true"] { background: var(--vermelho); color: var(--sobre-escuro); }
.fn-seg.escuro { border-radius: var(--raio-12); padding: 3px; }
.fn-seg.escuro button { border-radius: var(--raio-10); font-weight: 500; color: var(--cinza); }
.fn-seg.escuro button[aria-pressed="true"] { background: var(--escuro-fixo); color: var(--sobre-escuro); }
.fn-seg.soltos { background: transparent; gap: var(--espaco-8); }
.fn-seg.soltos button { background: var(--superficie-2); border-radius: var(--raio-14); padding: var(--espaco-12); color: var(--escuro); }
.fn-seg.soltos button[aria-pressed="true"] { background: var(--limao); color: var(--escuro-fixo); }

/* Chip */
.fn-chip { display: inline-flex; align-items: center; gap: var(--espaco-4); font: 400 13px/18px var(--font-sans); padding: 5px 10px; border-radius: var(--raio-8); background: var(--superficie-2); color: var(--escuro); border: 0; }
.fn-chip.limao { background: var(--limao-tinta); color: var(--escuro-fixo); }
.fn-chip.borda { background: var(--superficie); box-shadow: inset 0 0 0 1px var(--borda); color: var(--cinza); }

/* Selo / status */
.fn-selo { display: inline-flex; align-items: center; gap: var(--espaco-4); font: 500 12px/16px var(--font-sans); padding: 4px 10px 4px 6px; border-radius: var(--raio-pill); }
.fn-selo .ico { font-size: 16px; }
.fn-selo.saudavel { background: var(--verde-fundo); color: var(--verde); }
.fn-selo.atencao { background: var(--laranja-fundo); color: var(--laranja); }
.fn-selo.critico { background: var(--vermelho-fundo); color: var(--vermelho); }
.fn-contador { display: inline-grid; place-items: center; min-width: 26px; height: 20px; padding: 0 6px; border-radius: var(--raio-6); font: 600 11px/1 var(--font-sans); color: var(--sobre-escuro); }
.fn-contador.verde { background: var(--verde); } .fn-contador.vermelho { background: var(--vermelho); }
.fn-ponto { width: 16px; height: 16px; border-radius: var(--raio-pill); background: var(--vermelho); color: var(--sobre-escuro); font: 600 10px/16px var(--font-sans); text-align: center; display: inline-block; }

/* Card */
.fn-card { background: var(--superficie); border-radius: var(--raio-20); padding: var(--espaco-16); display: flex; flex-direction: column; gap: var(--espaco-8); }
.fn-card.ferramenta { border-radius: var(--raio-16); box-shadow: var(--sombra-card); }
.fn-card.escuro { background: var(--escuro-fixo); color: var(--sobre-escuro); }
.fn-card.aviso { box-shadow: inset 0 0 0 1.5px var(--laranja); }
.fn-card.ok { background: var(--verde-tinta); border-radius: var(--raio-16); box-shadow: inset 0 0 0 1px var(--borda); }
.fn-card .tit { font: 600 15px/20px var(--font-sans); }
.fn-card .sub { font: 400 13px/18px var(--font-sans); color: var(--cinza); }
.fn-rotulo { font: 600 11px/14px var(--font-sans); letter-spacing: 1.2px; text-transform: uppercase; }
.fn-rotulo-secao { font: 500 11px/14px var(--font-sans); letter-spacing: .5px; text-transform: uppercase; color: var(--cinza); }
.fn-titulo-tela { font: 600 17px/22px var(--font-sans); letter-spacing: .5px; text-transform: uppercase; color: var(--escuro); margin: 0; }
.fn-titulo-tela .migalha { color: var(--cinza); font-weight: 400; }
.fn-caixa-ico { width: 40px; height: 40px; border-radius: var(--raio-10); display: inline-grid; place-items: center; flex: none; }
.fn-caixa-ico.limao { background: var(--limao); color: var(--escuro-fixo); }
.fn-caixa-ico.tinta { background: var(--limao-tinta); color: var(--escuro-fixo); }
.fn-caixa-ico.neutro { background: var(--superficie-2); color: var(--escuro); }
.fn-caixa-ico.laranja { background: var(--laranja-fundo); color: var(--laranja); border-radius: var(--raio-pill); }
.fn-caixa-ico.roxo { background: var(--roxo-fundo); color: var(--roxo); }
.fn-caixa-ico.azul { background: var(--azul-fundo); color: var(--azul); border-radius: var(--raio-pill); }
.fn-caixa-ico.vermelho { background: var(--vermelho-fundo); color: var(--vermelho); border-radius: var(--raio-pill); }

/* Card de saldo (hero) */
.fn-saldo { background: var(--limao); color: var(--escuro-fixo); border-radius: var(--raio-20); padding: var(--espaco-20); display: flex; flex-direction: column; gap: var(--espaco-12); }
.fn-saldo .topo { display: flex; justify-content: space-between; align-items: center; }
.fn-saldo .valor { display: flex; align-items: flex-start; gap: 6px; }
.fn-saldo .valor .moeda { font: 500 18px/1 var(--font-sans); padding-top: 10px; }
.fn-saldo .valor .num { font: 500 48px/56px var(--font-sans); letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.fn-saldo .pares { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espaco-8); }
.fn-saldo .par { background: rgba(255, 255, 255, 0.22); border-radius: var(--raio-12); padding: var(--espaco-12); display: flex; flex-direction: column; gap: 4px; }
.fn-saldo .par .v { font: 500 18px/24px var(--font-sans); font-variant-numeric: tabular-nums; }
.fn-saldo .par .v small { font-size: 12px; }
.fn-saldo .par .v.neg { color: var(--vermelho); }

/* Card de destaque (degradê de limão) */
.fn-destaque { border-radius: var(--raio-16); padding: var(--espaco-16); color: var(--escuro-fixo); background: linear-gradient(135deg, var(--limao-destaque-forte), var(--limao-tinta)); display: flex; flex-direction: column; gap: var(--espaco-8); }
.fn-destaque .cab { display: flex; align-items: center; gap: var(--espaco-10); font: 500 14px/20px var(--font-sans); }
.fn-destaque .cab .fn-caixa-ico { width: 32px; height: 32px; background: rgba(255,255,255,.45); color: var(--escuro-fixo); }
.fn-destaque .grande { font: 600 28px/34px var(--font-sans); font-variant-numeric: tabular-nums; }
.fn-destaque .nota { font: 400 13px/18px var(--font-sans); }

/* Item de transação */
.fn-lista { background: var(--superficie); border-radius: var(--raio-20); padding: 4px var(--espaco-16); }
.fn-item { display: flex; align-items: center; gap: var(--espaco-12); padding: var(--espaco-12) 0; border-bottom: 1px solid var(--borda); }
.fn-item:last-child { border-bottom: 0; }
.fn-item .txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fn-item .nome { font: 500 15px/20px var(--font-sans); color: var(--escuro); }
.fn-item .cat { font: 400 12px/16px var(--font-sans); color: var(--cinza); }
.fn-item .valor { font: 500 15px/20px var(--font-sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fn-item .valor.desp { color: var(--vermelho); } .fn-item .valor.rec { color: var(--verde); }

/* Barra de progresso */
.fn-progresso { height: 6px; border-radius: var(--raio-pill); background: var(--superficie-2); overflow: hidden; }
.fn-progresso > i { display: block; height: 100%; border-radius: inherit; background: var(--limao); }
.fn-progresso.neutro > i { background: var(--cinza); }

/* Toggle */
.fn-toggle { width: 52px; height: 32px; border-radius: var(--raio-pill); background: var(--superficie-2); box-shadow: inset 0 0 0 2px var(--borda); position: relative; display: inline-block; flex: none; }
.fn-toggle::after { content: ""; position: absolute; top: 8px; left: 8px; width: 16px; height: 16px; border-radius: var(--raio-pill); background: var(--cinza); }
.fn-toggle.on { background: var(--limao-tinta); box-shadow: none; }
.fn-toggle.on::after { left: 26px; top: 4px; width: 24px; height: 24px; background: var(--limao); }

/* Cabeçalho do app */
.fn-cab { display: flex; align-items: center; gap: var(--espaco-12); padding: var(--espaco-8) var(--espaco-16); background: var(--fundo); }
.fn-avatar { width: 44px; height: 44px; border-radius: var(--raio-pill); background: var(--limao); color: var(--escuro-fixo); display: grid; place-items: center; font: 400 16px/1 var(--font-sans); flex: none; }
.fn-cab .nome { font: 600 15px/20px var(--font-sans); flex: 1; }
.fn-cab .acoes { display: flex; align-items: center; gap: var(--espaco-16); color: var(--escuro); }
.fn-cab .acoes img { height: 24px; display: block; }
.fn-cab .badge { position: relative; }
.fn-cab .badge .fn-ponto { position: absolute; top: -6px; right: -6px; }

/* Barra de navegação */
.fn-nav { position: relative; height: 72px; }
.fn-nav .barra { position: absolute; left: 0; right: 0; bottom: 0; height: 60px; background: var(--escuro-fixo); display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; justify-items: center; }
.fn-nav .barra .ico { color: var(--cinza); }
.fn-nav .barra .ico.ativo { color: var(--limao); }
.fn-nav .fn-fab { position: absolute; left: 50%; top: 0; transform: translateX(-50%); }

/* Snackbar */
.fn-snack { background: var(--limao); color: var(--escuro-fixo); border-radius: var(--raio-20); padding: var(--espaco-14) var(--espaco-16); font: 400 14px/20px var(--font-sans); display: flex; align-items: center; gap: var(--espaco-12); box-shadow: var(--sombra-popup); }
.fn-snack b { margin-left: auto; font-weight: 600; text-transform: uppercase; font-size: 13px; letter-spacing: .5px; }

/* Destaque de palavra (marca-texto limão) */
.fn-marca-texto { background: linear-gradient(transparent 12%, var(--limao) 12%, var(--limao) 88%, transparent 88%); color: var(--escuro-fixo); padding: 0 .12em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
