:root{--bg:#f6f7f9;--card:#fff;--text:#1f1f1f;--muted:#5f6368;--primary:#0b57d0;--primary-pressed:#0842a0;--danger:#c5221f;--ok:#137333;--radius:14px;--shadow:0 1px 3px #3c40431f;--safe-bottom:max(12px, env(safe-area-inset-bottom));--safe-top:max(8px, env(safe-area-inset-top))}*{box-sizing:border-box}.material-symbols-rounded{vertical-align:middle;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Rounded,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}html,body{background:var(--bg);color:var(--text);min-height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{padding-bottom:calc(78px + var(--safe-bottom));padding-top:var(--safe-top)}.appbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f6f7f9eb;border-bottom:1px solid #e8eaed;padding:12px 16px 10px;position:sticky;top:0}.appbar h1{margin:0;font-size:1.05rem;font-weight:600}.appbar p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.wrap{max-width:560px;margin:0 auto;padding:12px 16px 24px}.grid-nav{grid-template-columns:1fr 1fr;gap:12px;display:grid}.nav-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;appearance:none;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e8eaed;flex-direction:column;align-items:flex-start;gap:6px;min-height:96px;padding:14px 14px 16px;text-decoration:none;display:flex}.nav-card:active{transform:scale(.98)}.nav-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.icon-nav-card{color:var(--primary);font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;margin-bottom:2px;font-size:28px}.nav-card strong{margin-bottom:0;font-size:.95rem;display:block}.nav-card-desc{color:var(--muted);font-size:.78rem;line-height:1.25}label{color:#3c4043;margin:12px 0 6px;font-size:.8rem;font-weight:600;display:block}input,select,textarea{background:#fff;border:1px solid #dadce0;border-radius:12px;width:100%;padding:12px 14px;font-size:16px}textarea{resize:vertical;min-height:80px}.btn{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:14px;padding:12px 16px;font-size:1rem;font-weight:600;display:inline-flex}.btn:active{background:var(--primary-pressed)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-loading{pointer-events:none;gap:10px}.btn.btn-loading:disabled{opacity:1}.btn-loading .btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite btnSpin}.btn-secondary.btn-loading .btn-spinner{border-color:#0b57d033;border-top-color:var(--primary)}@keyframes btnSpin{to{transform:rotate(360deg)}}.screen-loading{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px;font-size:.9rem;font-weight:500;display:flex}.screen-spinner{border:3px solid #0b57d01f;border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:.75s linear infinite btnSpin}.card>.screen-loading{padding:20px 12px}.home-resumo-loading{color:var(--muted);background:#ffffffd9;border:1px dashed #c9daf8;border-radius:12px;flex-direction:row;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;margin:0;padding:18px 12px;font-size:.88rem;font-weight:600;display:flex}.home-resumo-loading .screen-spinner{border-width:2px;width:28px;height:28px}#cardResumoStats.is-loading-stats .stat-block{display:none!important}.btn-secondary{color:var(--primary);background:#e8f0fe}.btn-danger{color:var(--danger);background:#fce8e6}.btn-ghost{color:var(--primary);background:0 0;border:1px solid #dadce0}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e8eaed;margin-bottom:12px;padding:14px}.card h3{margin:0 0 6px;font-size:.95rem}.card small{color:var(--muted)}.card-resumo{background:linear-gradient(165deg,#fff 0%,#f5f8ff 55%,#fff 100%);border:1px solid #dfe8f8;padding:16px;position:relative;overflow:hidden;box-shadow:0 1px 2px #3c40430f,0 4px 16px #0b57d012}.card-resumo:before{content:"";background:linear-gradient(180deg, var(--primary), #7cacf8);border-radius:var(--radius) 0 0 var(--radius);width:4px;position:absolute;top:0;bottom:0;left:0}.card-resumo-head{align-items:flex-start;gap:12px;margin-bottom:14px}.card-resumo-brand{flex:1;align-items:flex-start;gap:12px;min-width:0;padding-left:8px;display:flex}.card-resumo-icon{color:var(--primary);font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;flex-shrink:0;margin-top:2px;font-size:34px}.card-resumo-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:700}.card-resumo-title{letter-spacing:-.03em;color:var(--text);margin:4px 0 0;font-size:1.15rem;font-weight:700;line-height:1.2}.card-resumo-stats{grid-template-columns:1fr 1fr;gap:10px;padding-left:8px;display:grid}.stat-block{background:#ffffffeb;border:1px solid #e8eaed;border-radius:12px;min-width:0;padding:12px 12px 14px}.stat-block-saldo{background:linear-gradient(135deg,#e8f0fe 0%,#fff 72%);border-color:#c9daf8;grid-column:1/-1;padding-top:14px;padding-bottom:16px}.stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.65rem;font-weight:700;display:block}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;word-break:break-word;font-size:1rem;font-weight:700;line-height:1.25;display:block}.stat-receita{color:var(--ok)}.stat-despesa{color:var(--danger)}.stat-saldo.stat-saldo-positive{color:var(--ok)}.stat-saldo.stat-saldo-negative{color:var(--danger)}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{color:#3c4043;background:#e8eaed;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-block}.pill-ok{color:var(--ok);background:#e6f4ea}.pill-warn{color:#b06000;background:#fef7e0}.pill-info{color:var(--primary);background:#e8f0fe}.form-error{color:var(--danger);background:#fce8e6;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:.9rem}.card-banner-err{background:#fce8e6;border:1px solid #f5c2c0;margin-bottom:12px}.line-item-row{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.line-item-row .btn-remove{width:auto;min-height:36px;margin:0;padding:0 10px;font-size:.82rem}.bottom-nav a{flex:1;justify-content:center;text-decoration:none;display:flex}.bottom-nav .nav-tab{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-height:48px;padding:6px 4px;display:flex}.bottom-nav .nav-tab.active{color:var(--primary);background:#e8f0fe}.bottom-nav{z-index:30;padding:8px 8px var(--safe-bottom);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-top:1px solid #e8eaed;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:52px;font-size:inherit;font-weight:inherit;color:#5f6368;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-family:inherit;display:flex}.bottom-nav .icon-nav{color:inherit;font-size:22px}.bottom-nav .bottom-nav-label{color:inherit;font-size:.7rem;font-weight:600;line-height:1.15}.bottom-nav button.active{color:var(--primary);background:#e8f0fe}.bottom-nav button.active .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.bottom-nav button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.toast{top:calc(52px + var(--safe-top));z-index:100;color:#fff;background:#323232;border-radius:12px;max-width:92%;padding:12px 16px;font-size:.88rem;display:none;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.toast.show{display:block}.toast.err{background:#8b1d10}.toast.ok{background:#137333}.loading-bar{background:linear-gradient(90deg,#0b57d0,#7cacf8,#0b57d0) 0 0/200% 100%;width:100%;height:3px;animation:1.2s linear infinite slide;display:none}.loading-bar.on{display:block}@keyframes slide{0%{background-position:0 0}to{background-position:200% 0}}.hidden{display:none!important}.muted{color:var(--muted);font-size:.85rem}.stack-btns .btn{margin-top:10px}.grid-nav-home{grid-template-columns:1fr 1fr}.report-card-accent{background:linear-gradient(#fafbff 0%,#fff 100%);border-color:#d3e3fd}.report-section-title{color:var(--text);margin:0 0 12px;font-size:1rem;font-weight:700}.report-block-heading{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin:16px 0 10px;font-size:.85rem;font-weight:700}.report-totals-row{margin-bottom:12px;font-size:.82rem;line-height:1.5}.report-totals-row strong{color:var(--text);font-weight:700}.report-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -2px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:.82rem}.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8eaed;padding:8px 10px}.report-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.report-table td.num,.report-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table tbody tr:last-child td{border-bottom:none}.report-month-card{margin-bottom:12px}.report-month-title{color:var(--primary);margin:0 0 10px;font-size:1rem;font-weight:700}.report-footnote{font-size:.78rem}@media (width>=600px){.grid-nav{grid-template-columns:repeat(3,1fr)}.grid-nav-home{grid-template-columns:1fr 1fr}}
