@font-face{font-family:Atelier;src:local('Georgia')}*{box-sizing:border-box}body{margin:0;background:#f6f3ee;color:#342f2b;font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:1px solid #e0d9d1;border-radius:9px;background:#fff;padding:10px 16px;color:inherit;min-height:44px}button:hover{background:#f1ebe4}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a97150;outline-offset:3px}input,select,textarea{width:100%;min-width:0;border:1px solid #ddd6cd;border-radius:8px;background:#fff;padding:11px 12px;color:#342f2b;min-height:46px;font-size:16px}input:focus,textarea:focus,select:focus{outline:2px solid #b98c71;outline-offset:1px}input::placeholder,textarea::placeholder{color:#a69b91}label{display:block;font-size:13px;font-weight:500;color:#706458}label>input,label>select,label>textarea{display:block;margin-top:7px}label small{display:block;font-size:11px;margin-top:4px;color:#938579}h1,h2,p{margin:0}h1{font-family:Atelier,Georgia,serif;font-size:clamp(32px,3.2vw,46px);line-height:1.13;font-weight:400;letter-spacing:-1.4px}h1 em{font-style:italic;color:#94694f}h2{font-family:Atelier,Georgia,serif;font-size:27px;line-height:1.2;font-weight:400;letter-spacing:-.6px}.top{height:102px;border-bottom:1px solid #e5ded4;display:flex;align-items:center;justify-content:space-between;max-width:1440px;padding:0 46px;margin:auto;gap:20px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}.mark{display:grid;place-items:center;background:#845a43;color:#fff;width:48px;height:51px;font:32px Georgia,serif;border-radius:3px}.brand strong{font-size:25px;font-weight:600;letter-spacing:-1px;display:block}.brand-dot{color:#9a7259}.brand small{display:block;font-size:9px;letter-spacing:1.7px;color:#8c7b6b;margin-top:1px}.top-actions{display:flex;gap:20px;align-items:center}.connection{font-size:12px;color:#58755f}.connection:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;margin-right:7px}.connection.offline{color:#a26745}main{max-width:1440px;margin:auto;padding:34px 46px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#96816e;display:block;margin-bottom:11px}.intro-right{text-align:right;display:grid;gap:17px;justify-items:end}.intro-right>span{font-size:12px;color:#918374}.primary{background:#855b44;border-color:#855b44;color:#fff;font-weight:500;padding:12px 19px;display:flex;gap:22px;justify-content:space-between;align-items:center}.primary:hover{background:#704a36}.quiet{background:transparent;border-color:transparent;font-size:13px;padding:8px 9px}.full{width:100%;margin-top:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.stat{background:#eeeee7;border:1px solid #e2e3d8;border-radius:12px;padding:22px 26px;display:grid;gap:8px}.stat:nth-child(2){background:#f1eae1;border-color:#e9ded1}.stat span{font-size:12px;color:#706d5b}.stat strong{font-family:Atelier,Georgia,serif;font-size:36px;line-height:1.2;font-weight:400;color:#48634d;letter-spacing:-1px;overflow-wrap:anywhere}.stat:nth-child(2) strong{color:#98694d}.stat small{font-size:10px;color:#928677}.stat.result{background:#e1e7dc;border-color:#d6dfce}.card{background:#fffdfa;border:1px solid #e8e0d6;border-radius:12px}.columns{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.entry-card{padding:24px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.section-title .eyebrow{margin-bottom:7px}.round-icon{color:#9c806b;border:1px solid #e5dace;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:21px}.entry-card form>fieldset{border:0;margin:0;padding:0;display:grid;gap:17px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:flex;padding:4px;background:#f2ede7;border-radius:9px;gap:4px}.segmented label{flex:1;text-align:center}.segmented input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.segmented span{display:block;padding:9px 3px;border-radius:6px;font-size:12px}.segmented input:checked+span{background:#fff;color:#815940;box-shadow:0 1px 4px #695b4020}.segmented input:focus-visible+span{outline:2px solid #9e7153}.entry-card details{font-size:12px;color:#8c6d54}.hint{font-size:11px;color:#9b8979;line-height:1.6;margin-top:12px}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.chips button{font-size:11px;padding:5px 8px;min-height:32px}.count{font:12px -apple-system,sans-serif;background:#f0ebe5;vertical-align:middle;padding:4px 9px;border-radius:15px;margin-left:7px;color:#8c7764}.history{padding:24px;min-height:630px}.filters{padding-bottom:16px;border-bottom:1px solid #ece5dc}.filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.filter-row label{font-size:10px}.filter-row input,.filter-row select{font-size:13px;padding:9px 8px;min-height:42px}.filter-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:10px}.text-button{border:0;background:transparent;font-size:11px;min-height:32px;padding:3px 0;color:#936d51}.text-button:last-child{margin-left:auto}.record{display:grid;grid-template-columns:43px minmax(0,1fr) auto;gap:13px;padding:20px 0;border-bottom:1px solid #eee8e0;align-items:start}.date-stamp{display:grid;justify-items:center;border:1px solid #e9e1d5;border-radius:8px;padding:6px 2px;color:#8e775f}.date-stamp strong{font:22px Georgia,serif}.date-stamp small{font-size:9px}.record-name{font-size:14px;font-weight:600;overflow-wrap:anywhere}.record-service{font-size:12px;color:#96816f;margin:3px 0}.record-note{font-size:11px;color:#948c81;overflow-wrap:anywhere;white-space:pre-wrap}.record-amount{font-size:16px;font-weight:500;color:#4d7056;white-space:nowrap;text-align:right}.record-amount.expense{color:#9c7055}.row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px;flex-wrap:wrap}.row-actions button{min-height:32px;padding:2px 5px;font-size:10px;background:transparent;border:0;color:#93816f}.row-actions button:hover{text-decoration:underline}.empty{text-align:center;padding:65px 20px}.empty-symbol{display:block;font:45px Georgia,serif;color:#c0ad94;margin-bottom:15px}.empty h3{font:24px Georgia,serif;font-weight:400;margin:0 0 10px}.empty p{font-size:12px;color:#968574;max-width:280px;margin:auto}.history-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#a29587;margin-top:20px}.settings{margin-top:24px;padding:20px 24px;font-size:13px;color:#786959}.settings summary{font-weight:500}.settings p{margin-top:14px;max-width:780px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.file-button{position:relative;border:1px solid #e0d9d1;border-radius:9px;background:white;padding:10px 16px;min-height:44px;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.settings button{font-size:13px}footer{font-size:10px;letter-spacing:.5px;color:#a18e7b;display:flex;justify-content:space-between;padding:27px 0 35px}.notice{padding:12px 16px;background:#f4e8d8;border:1px solid #e2c7a7;border-radius:8px;margin-bottom:20px;font-size:13px}.form-message{color:#a84d35;font-size:12px;margin-top:10px}.login{max-width:430px;margin:50px auto;padding:36px}.login p{font-size:14px;color:#8c7b69;margin:18px 0 25px}.login form{display:grid;gap:18px}.login small{color:#9b8979;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#394c3b;color:#fff;box-shadow:0 8px 30px #0002;padding:14px 20px;border-radius:10px;max-width:90vw;font-size:13px;z-index:10}#toast button{margin-left:10px;background:transparent;color:white;min-height:30px;padding:2px 10px;border-color:#9ba997}
@media(min-width:1500px){.columns{grid-template-columns:380px minmax(0,1fr)}}@media(max-width:1000px){.top{padding:0 25px}.columns{grid-template-columns:300px minmax(0,1fr);gap:16px}main{padding:26px 25px 0}.entry-card,.history{padding:18px}.record{grid-template-columns:36px minmax(0,1fr);gap:10px}.record-right{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:10px}.row-actions{margin:0}.filter-row{grid-template-columns:1fr 1fr}.filter-row label:last-child{grid-column:1/-1}.stat{padding:20px}.stat strong{font-size:29px}}@media(max-width:720px){.top{height:84px;padding:0 18px}.brand{gap:10px}.mark{width:37px;height:42px;font-size:26px}.brand strong{font-size:22px}.brand small{font-size:7px;letter-spacing:1.1px}.top-actions{gap:3px}.connection{font-size:10px}.quiet{font-size:11px}main{padding:25px 16px 0}.intro{gap:15px;align-items:flex-end;margin-bottom:24px}h1{font-size:32px;letter-spacing:-.9px}.eyebrow{font-size:8px;letter-spacing:1.3px}.intro-right>span{display:none}.intro-right .primary{font-size:0;padding:6px;width:42px;height:42px;justify-content:center}.intro-right .primary:after{content:'＋';font-size:25px}.stats{gap:8px;margin-bottom:18px}.stat{padding:13px 10px;border-radius:9px;gap:8px}.stat span{font-size:10px;min-height:30px}.stat strong{font-size:21px;letter-spacing:-.6px}.stat small{display:none}.columns{display:flex;flex-direction:column;gap:18px}.columns>section{width:100%}.entry-card{order:2;padding:21px}.history{order:1;min-height:0;padding:20px 15px}.section-title{margin-bottom:20px}.filter-row{grid-template-columns:1fr 1fr 1fr}.filter-row label:last-child{grid-column:auto}.filter-row input,.filter-row select{font-size:12px;max-width:100%}.record{grid-template-columns:39px minmax(0,1fr)}.record-right{grid-column:2}.settings{padding:18px;margin-top:18px}.settings-actions>*{width:100%;text-align:center}footer{font-size:9px}footer span{display:none}.login{margin:24px auto;padding:25px}.top .connection{max-width:78px;text-align:right}.login h1{font-size:37px}.entry-card{scroll-margin-top:16px}}
@media(max-width:720px){.stat strong{font-size:18px;letter-spacing:-.6px}.intro-right .primary{gap:0}.record-amount{font-size:15px}}
