.fin-page { padding-top: 2rem; padding-bottom: 4rem; }
.fin-state { max-width: 28rem; margin: 4rem auto; text-align: center; }
.fin-btn { padding: .6rem 1rem; border: 1px solid currentColor; border-radius: .5rem; background: transparent; cursor: pointer; font: inherit; }
.fin-btn--ghost { background: transparent; opacity: .8; border: 0; cursor: pointer; font: inherit; }
.fin-mono, .fin-num, .fin-table td.fin-num { font-variant-numeric: tabular-nums; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.fin-appbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.fin-month { display: flex; align-items: center; gap: .75rem; }
.fin-month button { border: 0; background: transparent; font-size: 1.25rem; cursor: pointer; }
.fin-resumo { margin: 1rem 0 2rem; }
.fin-bar { height: .5rem; border-radius: .25rem; background: var(--accent, #64b5f6); }
.fin-form { display: grid; gap: .5rem; grid-template-columns: repeat(2, 1fr); margin-top: .75rem; }
.fin-form button { grid-column: 1 / -1; }
.fin-table { width: 100%; border-collapse: collapse; }
.fin-table th, .fin-table td { text-align: left; padding: .5rem .4rem; border-bottom: 1px solid rgba(128,128,128,.2); }
.fin-table th.fin-num, .fin-table td.fin-num { text-align: right; }
@media (max-width: 600px){ .fin-form { grid-template-columns: 1fr; } }
.fin-total { font-size: 1.75rem; font-weight: 600; }
.fin-vs { opacity: .7; font-size: .85rem; margin-bottom: 1rem; }
.fin-resumo-row { display: grid; grid-template-columns: 8rem 1fr auto; align-items: center; gap: .75rem; margin: .35rem 0; }
.fin-importar { margin-top: 2rem; }
.fin-imp-form { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.fin-imp-map { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0; font-size: .9rem; }
.fin-imp-review { margin-top: 1rem; }
.fin-imp-actions { display: flex; gap: .5rem; margin-top: .75rem; }
.fin-imp-table tr[data-dup="1"] { opacity: .55; }
