*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#263e34;font:14px/1.5 'Segoe UI',Arial,sans-serif;--accent:#285d49}a{color:var(--accent)}button,.button{display:inline-block;border:0;border-radius:9px;background:var(--accent);color:white;text-decoration:none;padding:12px 18px;font:600 13px 'Segoe UI',sans-serif;cursor:pointer}button:hover,.button:hover{filter:brightness(.93)}input,select{width:100%;border:1px solid #d9e1d6;padding:12px;border-radius:8px;background:white;color:#304b3c;font:inherit}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #adc7ae;outline-offset:2px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin:15px 0}h1{font-size:36px;letter-spacing:-1.4px;line-height:1.2;margin:10px 0 14px}h2{font-size:24px;letter-spacing:-.6px}h3{margin:0;font-size:16px}p{color:#728173;margin:7px 0 16px}small{color:#7c8b7d}.brand{font-size:27px;font-weight:750;text-decoration:none;letter-spacing:-1px;color:var(--accent)}.brand small{display:block;font-size:9px;letter-spacing:3px;margin:8px 0 0 28px}.eyebrow,.navlabel{font-size:10px;font-weight:700;letter-spacing:2px;color:#849181}aside{position:fixed;inset:0 auto 0 0;width:232px;background:#e9eee5;padding:38px 25px;border-right:1px solid #dce3d7;display:flex;flex-direction:column}.navlabel{margin-top:55px}nav{margin-top:18px}nav a{display:flex;gap:12px;align-items:center;text-decoration:none;padding:13px 12px;margin:6px 0;border-radius:9px;font-weight:600}nav a small{margin-left:auto;font-size:10px;font-weight:400}.active{background:#d9e3d3}.sidebarbottom{margin-top:auto;font-size:11px}.sidebarbottom p{margin-top:16px}.dashboard{margin-left:232px;padding:42px;max-width:1600px}header,.sectiontitle,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.monthform{display:flex;gap:8px}.monthform input{width:150px}.monthform button{white-space:nowrap}.toolbar{margin:28px 0 20px}.toolbar p{font-size:11px;margin:0}.secondary{color:var(--accent);background:white;border:1px solid #dce3d8}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}article,.panel{border:1px solid #e1e7dc;background:white;border-radius:13px;padding:24px}.cards article{min-height:155px}.cards span{font-size:12px}.cards h2{font-size:28px;margin:20px 0 8px;white-space:nowrap}.cards small{font-size:10px}.primary{background:var(--accent);color:white}.primary small{color:#ffffffb0}.mascot{display:flex;gap:17px;align-items:center;background:#edf1e6;border:1px solid #e0e8d7;border-radius:10px;padding:16px 20px;margin:22px 0}.mascot>span{font-size:35px}.mascot strong{font-size:12px}.mascot p{font-size:12px;margin:4px 0 0}.charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.sectiontitle small{font-size:10px}.category{margin-top:19px}.category>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}.track{background:#eff2e9;height:7px;border-radius:10px;overflow:hidden}.track b{display:block;height:100%;background:var(--accent);opacity:.65;border-radius:10px}.legend{display:flex;gap:18px;font-size:11px;margin:24px 0;color:var(--accent)}.legend span+span{color:#9aaa70}.history{height:190px;display:flex;align-items:end;gap:12px;margin-bottom:28px}.bargroup{flex:1;display:flex;align-items:end;justify-content:center;gap:5px;position:relative;margin-bottom:25px}.bar{width:22px;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.bar.expense{background:#c4cf9c}.bargroup small{position:absolute;bottom:-25px;white-space:nowrap;font-size:10px}.contribution{display:flex;justify-content:space-between;margin-top:16px;font-size:13px}.panel{margin:20px 0}.filters{display:flex;gap:10px;margin:24px 0 8px}.filters input{flex:1}.filters select{max-width:220px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#8b9687;padding:15px 10px;border-bottom:1px solid #e9eee5}td{font-size:12px;padding:17px 10px;border-bottom:1px solid #edf1e8}td small{display:block;font-size:10px;margin-top:4px}.pill{background:#eaf2df;padding:5px 9px;border-radius:20px;font-size:10px}.pill.pending{background:#fbf1da;color:#926f1c}.inline{display:inline}.textbutton{background:transparent;color:#8a6658;padding:8px;font-size:11px}.empty{text-align:center;padding:50px 15px;color:#86927e;font-size:13px;white-space:normal}.bottomgrid,.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.bottomgrid{align-items:start}summary{cursor:pointer;font-weight:600;padding:6px 0}details details{margin:20px 0}details h3{margin:20px 0 12px}.audit{border-bottom:1px solid #eef1e8;padding:10px 0;font-size:12px}.audit small{display:block}.trash{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 0;border-top:1px solid #eee;font-size:12px}footer{display:flex;justify-content:space-between;font-size:10px;color:#83907d;margin:25px 0}footer span{max-width:55%}.notice,.alert{padding:16px;border-radius:9px;margin:20px 0;overflow-wrap:anywhere}.notice{background:#e3eedc;color:#335d35}.alert{background:#fff0e8;color:#9a4d30}.preview{background:#f2f5ed;border-radius:10px;padding:16px;margin:20px 0;font-size:12px;max-height:250px;overflow:auto}.preview:empty{display:none}.preview div{display:flex;justify-content:space-between;margin:5px 0}.footnote{font-size:11px}.setup{max-width:780px;margin:45px auto;padding:30px}.setup h1{margin-top:40px}.setup h2{margin-top:30px;font-size:18px}.setup button{margin-top:20px}.code{font-family:monospace;overflow-wrap:anywhere}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.welcome{background:#e3eadd;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.welcome h1{font-size:58px;margin-top:25px}.welcome p{font-size:16px;line-height:1.9}.illustration{font-size:140px;line-height:1.5;color:#80956c}.illustration span{font-size:70px;vertical-align:top;color:#bd8669}.loginform{max-width:470px;width:100%;margin:auto;padding:40px}.loginform h2{font-size:27px}.loginform>p{margin-bottom:30px}.wide{width:100%;margin:15px 0 25px}.loginform details{font-size:12px}.loginform details p{margin-top:15px}@media(max-width:1200px){.dashboard{padding:30px 22px}.cards{grid-template-columns:1fr 1fr}aside{width:205px}.dashboard{margin-left:205px}.charts{grid-template-columns:1fr}.welcome{padding:40px}.welcome h1{font-size:45px}}@media(max-width:700px){aside{position:static;width:100%;padding:20px}.navlabel,.sidebarbottom,.brand small{display:none}nav{display:flex;gap:6px;margin-top:12px}nav a{padding:9px;font-size:12px;flex:1}nav a small{display:none}.dashboard{margin:0;padding:24px 14px}header{align-items:start;flex-direction:column}h1{font-size:30px}.cards{gap:10px}.cards article{padding:18px 12px;min-height:145px}.cards h2{font-size:23px}.cards small{font-size:9px}.toolbar{align-items:start}.toolbar p{max-width:45%}.toolbar .button{font-size:11px;padding:12px}.panel,article{padding:18px}.filters{flex-wrap:wrap}.filters select{max-width:100%;flex:1}.sectiontitle{flex-wrap:wrap;gap:12px}.bottomgrid,.grid2{grid-template-columns:1fr}.login{grid-template-columns:1fr}.welcome{padding:28px}.welcome>div{margin-top:40px}.welcome h1{font-size:38px}.welcome p,.illustration,.welcome>small{display:none}.loginform{padding:30px}.setup{margin:15px auto;padding:20px}.setup h1{font-size:28px}}
