@font-face{font-family:Rethink;src:url("rethink-sans-latin-ext.woff2") format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113}
@font-face{font-family:Rethink;src:url("rethink-sans-latin.woff2") format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:light;--ink:#1f2923;--muted:#536358;--line:#dce6df;--paper:#fff;--surface:#f8faf8;--accent:#3d7f58;--dark:#2f7045;--sage:#e7f2e9;--sage-line:#c8dfcf;--warning:#84511d;--warning-bg:#fbf1df;--error:#9f392d;--error-bg:#fbebe8;font:16px Rethink,system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--surface);color:var(--ink);margin:0;min-height:100vh}
.top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:var(--paper);border-bottom:1px solid var(--line);min-height:64px}
.brand{display:flex;align-items:center;gap:10px;line-height:1.12}
.brand img{object-fit:contain;border-radius:6px}
.brand b{font-size:16px;letter-spacing:.08em}
.brand small{display:block;color:var(--muted);margin-top:3px}
main{max-width:620px;margin:0 auto;padding:24px 18px 106px}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(28px,8vw,40px);line-height:1.03;letter-spacing:-.045em;margin:5px 0 10px}
h2{font-size:19px;letter-spacing:-.02em}
h3{font-size:16px}
p{line-height:1.42}
.eyebrow{font-weight:750;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dark)}
.muted,small{color:var(--muted)}
.stack{display:grid;gap:13px}
.card{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:15px}
.hero{padding:19px;background:#eef6ef;border-color:var(--sage-line)}
.row,.section{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wrap{flex-wrap:wrap}
.gap{margin-top:17px}
.divider{border:0;border-top:1px solid var(--line);margin:0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stats b{display:block;font-size:27px;line-height:1}
.stats small{display:block;margin-top:6px}
.badge{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 8px;border-radius:6px;background:#edf1ee;color:#425448;font-size:11px;font-weight:750;white-space:nowrap}
.badge.online,.badge.synced{color:var(--dark);background:var(--sage)}
.badge.waiting{color:var(--warning);background:var(--warning-bg)}
.badge.error{color:var(--error);background:var(--error-bg)}
.badge.dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
button,.button{font:inherit;font-weight:700;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;min-height:44px;padding:9px 12px;cursor:pointer;text-decoration:none}
button.primary,.button.primary{background:var(--accent);color:#fff;border-color:#36754f}
button.secondary{background:var(--sage);color:var(--dark);border-color:var(--sage-line)}
button.link{border-color:transparent;color:var(--dark);padding:7px;background:transparent}
button:disabled{opacity:.55;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.full{width:100%;justify-self:stretch}
.expense{width:100%;text-align:left}
.expense small{display:block;margin-top:4px}
.amount{white-space:nowrap}
nav{position:fixed;z-index:2;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--paper);border-top:1px solid var(--line);padding:7px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom))}
nav button{min-width:0;min-height:49px;max-width:145px;flex:1;background:none;border:0;font-size:11px;color:var(--muted);display:grid;justify-items:center;gap:3px;border-radius:8px;padding:6px 2px}
nav button[aria-current=page]{background:var(--sage);color:var(--dark)}
nav svg{width:19px;height:19px}
.field{display:grid;gap:5px}
label{display:grid;gap:5px;font-weight:700;font-size:14px}
input,textarea,select{font:inherit;font-weight:500;min-height:45px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);min-width:0;width:100%}
textarea{resize:vertical;min-height:80px}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.notice{padding:12px;border-radius:8px;background:var(--warning-bg);color:#67401b;font-size:14px}
#notice{position:fixed;bottom:79px;left:16px;right:16px;z-index:4;border-radius:9px;background:#263d2e;color:#fff;padding:12px}
ul{padding-left:20px}
summary{cursor:pointer;font-weight:750;color:var(--dark)}
.history p{margin:7px 0}
.empty{padding:20px;border:1px dashed #bdd1c2;border-radius:10px;color:var(--muted)}
