:root{--bg:#f6f7f9;--fg:#1b1f24;--muted:#6b7280;--card:#fff;--accent:#0f766e;--line:#e2e5ea;--err:#b91c1c;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg:#14171a;--fg:#e8eaed;--muted:#9aa1ab;--card:#1d2125;--accent:#2dd4bf;--line:#2c3238;--err:#f87171}}*{box-sizing:border-box}body{margin:0;font:16px/1.4 system-ui,sans-serif;background:var(--bg);color:var(--fg)}.muted{color:var(--muted)}.error{color:var(--err)}.center{text-align:center;margin-top:4rem}button{font:inherit;padding:.6rem 1rem;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;min-height:44px}button:disabled{opacity:.6}button.link{background:none;color:var(--accent);padding:.4rem .6rem}input,select{font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);min-height:44px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem;width:100%;max-width:380px;display:grid;gap:1rem}.card h1{margin:0;font-size:1.4rem}.card label{display:grid;gap:.3rem;font-size:.9rem}.ok{color:var(--accent)}.neg{color:var(--err)}.small{font-size:.9rem;margin:.25rem 0}.accounts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.account{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem}.account.inactive{opacity:.65}.account header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.account h3{margin:0;font-size:1.05rem}.account header strong{font-size:1.2rem;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.inline-form{display:grid;gap:.6rem;margin-top:.5rem}.inline-form label{display:grid;gap:.3rem;font-size:.9rem}.snaps{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.25rem;font-size:.9rem}.snaps li{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.check{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.check input{min-height:auto}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;padding-bottom:64px}.topbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 16px;background:var(--card);border-bottom:1px solid var(--line)}.topbar strong{flex:1}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid var(--line);overflow-x:auto}.nav a{flex:1 0 auto;padding:.9rem .8rem;text-align:center;color:var(--muted);text-decoration:none;font-size:.85rem}.nav a.active{color:var(--accent);font-weight:600}.content{padding:16px;max-width:1100px;width:100%}@media (min-width: 800px){.shell{grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;padding-bottom:0}.topbar{grid-column:1 / -1}.nav{position:static;flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:.5rem 0}.nav a{text-align:left;padding:.7rem 1rem;font-size:1rem}}.dropzone{display:grid;gap:.4rem;place-items:center;text-align:center;padding:2.5rem 1rem;border:2px dashed var(--line);border-radius:12px;background:var(--card);cursor:pointer}.dropzone.over{border-color:var(--accent)}.files{list-style:none;padding:0;display:grid;gap:.5rem}.files li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem}.confirm-bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0;padding:.6rem .8rem;background:var(--card);border:1px solid var(--line);border-radius:8px}.filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.chip{background:var(--card);color:var(--fg);border:1px solid var(--line);padding:.3rem .7rem;min-height:36px;border-radius:999px;font-size:.9rem}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.table-wrap{overflow-x:auto}table.preview{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--card)}.preview th,.preview td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.preview .num{text-align:right;white-space:nowrap}.preview td:first-child{white-space:nowrap}.preview tr.o-duplicate,.preview tr.o-skipped{opacity:.6}.small-inline{font-size:.8rem}.tag{display:inline-block;font-size:.75rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--line);margin:0 .25rem .15rem 0;white-space:nowrap}.t-new{border-color:var(--accent);color:var(--accent)}.t-review{border-color:var(--err);color:var(--err)}.card.wide{max-width:none}.inbox{display:grid;gap:10px}.inbox-item .desc{overflow-wrap:anywhere}.inbox-item p.desc{margin:.25rem 0}.inbox-form{display:grid;gap:.4rem;margin-top:.5rem}.inbox-form .check.inline{margin-top:0;font-size:.9rem}@media (min-width: 800px){.inbox-form{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center}.inbox-form .actions{margin-top:0}}@media (max-width: 700px){table.preview thead{display:none}table.preview,.preview tbody,.preview tr,.preview td{display:block;width:100%}.preview tr{border-bottom:1px solid var(--line);padding:.4rem 0}.preview td{border:0;padding:.1rem .5rem;text-align:left!important}.preview td:before{content:attr(data-label) ": ";color:var(--muted);font-size:.8rem}.preview td.desc:before{content:none}}.month-nav{display:flex;align-items:center;gap:.5rem}.month-nav h2{margin:0;text-transform:capitalize;min-width:10rem;text-align:center}.month-nav button{font-size:1.4rem;padding:.2rem .6rem}.tx-filters{margin-top:.75rem}.tx-filters input[type=search]{flex:1 1 12rem}.tx{padding:0}.tx.open{border-color:var(--accent)}.tx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;color:inherit;border:0;text-align:left;font:inherit;cursor:pointer;min-height:auto}.tx-head>strong{white-space:nowrap}.tx-main{display:grid;gap:.2rem;min-width:0}.tx-main .desc{overflow-wrap:anywhere}.editor{padding:0 1rem 1rem}.split-row{display:grid;grid-template-columns:7rem 1fr auto;gap:.4rem;align-items:center}.link.danger{color:var(--err)}table.budget tr.section th{background:var(--bg);padding-top:.9rem}.budget .group-row td{font-weight:600}.budget .child-row td:first-child{padding-left:1.4rem}.budget tr.total td{font-weight:700;border-top:2px solid var(--line)}.budget-input{width:7.5rem;text-align:right;min-height:32px;padding:.2rem .4rem}table.budget.year td:nth-child(n+5),table.budget.year th:nth-child(n+5){font-size:.8rem}.actions a.link{padding:.4rem .6rem;color:var(--accent);align-self:center;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;margin:1rem 0}.stat{display:grid;gap:.1rem}.stat strong{font-size:1.25rem}.bars{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.6rem}.bar-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.95rem}.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:.2rem}.bar>span{display:block;height:100%;background:var(--accent)}.bar.income>span{background:var(--muted);opacity:.55}.year-bars{gap:.4rem}.year-bars .bar{height:5px;margin-top:.15rem}
