*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f7f5;--card:#ffffff;--text:#1a1a1a;--muted:#6b6b6b;--accent:#0d6e4f;--danger:#b3261e;--border:#e2e2de}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Heebo,Arial,sans-serif;min-height:100dvh}main{max-width:560px;margin:0 auto;padding:1.25rem 1.25rem 5.5rem}.bottom-nav{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:space-around;background:var(--card);border-top:1px solid var(--border);padding:.4rem 0 max(.4rem,env(safe-area-inset-bottom));z-index:10}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.7rem;color:var(--muted);text-decoration:none;min-width:64px}.bottom-nav a.active{color:var(--accent);font-weight:600}.bottom-nav .icon{font-size:1.2rem}.big-number{font-size:2rem;font-weight:700}.sub-number{color:var(--muted);font-size:.9rem}.bar-row{display:flex;align-items:center;gap:.6rem;padding-block:.35rem;font-size:.9rem}.bar-row .bar-label{flex:0 0 33%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .bar-track{flex:1 1;height:10px;background:var(--bg);border-radius:5px;overflow:hidden}.bar-row .bar-fill{height:100%;background:var(--accent);border-radius:5px}.bar-row .bar-amount{flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tx-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-block:.55rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.tx-row:last-child{border-bottom:none}.tx-main{min-width:0}.tx-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-meta{color:var(--muted);font-size:.78rem}.tx-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.tx-amount.income{color:var(--accent)}select,textarea{width:100%;padding:.65rem .75rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--card);font-family:inherit}.amount-input{font-size:1.8rem;font-weight:700;text-align:center}.month-nav{display:flex;justify-content:space-between;align-items:center;margin-block:.5rem}.month-nav button{width:auto;margin:0;padding:.35rem .9rem}.pill{display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;font-size:.72rem;color:var(--muted);-webkit-margin-end:.25rem;margin-inline-end:.25rem}.success{color:var(--accent);margin-top:.75rem;font-size:.9rem}button.danger{background:var(--danger)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-block:1rem}h1{font-size:1.4rem}label{display:block;font-size:.9rem;color:var(--muted);margin-block:.75rem .25rem}input{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px}button,input{width:100%;font-size:1rem}button{margin-top:1rem;padding:.7rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}button.secondary{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:400}.error{color:var(--danger);margin-top:.75rem;font-size:.9rem}.topbar{justify-content:space-between;align-items:center;padding-block:.5rem}.topbar,.topbar .actions{display:flex;gap:.5rem}.topbar button{width:auto;margin:0;padding:.4rem .8rem;font-size:.85rem}.status-row{display:flex;justify-content:space-between;padding-block:.4rem;border-bottom:1px solid var(--border)}.status-row:last-child{border-bottom:none}.ok{color:var(--accent)}.down,.ok{font-weight:600}.down{color:var(--danger)}