:root { --paper:#f7f5ef; --line:#e4dfd4; }
html {scroll-behavior:smooth} body{margin:0} button,input{font:inherit} button{cursor:pointer} :focus-visible{outline:2px solid var(--brand);outline-offset:4px} .desk-brand{display:none}.demo-banner{max-width:1120px;margin:0 auto;padding:20px 24px 12px;display:flex;justify-content:space-between;color:var(--ink-2);font-size:11px;letter-spacing:1px;border-bottom:1px solid var(--line)}
#app{margin:0 auto;padding-top:12px}.ledger-summary{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--paper-raised);margin-top:16px}.ledger-summary .hero{padding:0 0 22px;border:0}.hero-label{display:flex;justify-content:space-between;align-items:center}.quiet-tag{font:11px var(--f-body);color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:20px}.hero-amount{letter-spacing:-2px}.summary-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:20px;margin-top:22px;gap:10px}.summary-facts span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.summary-facts b{font-size:20px;font-weight:500}.summary-facts small{font-size:12px}.budget-advice{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 0 0}.quick-entry{background:#eceee6;border:1px solid #dfe2d6;border-radius:14px;padding:22px;margin:20px 0 28px}.quick-entry label{display:block;font-family:var(--f-title);font-size:19px;margin-bottom:16px}.quick-entry label span{float:right;font-family:var(--f-body);font-size:11px;color:var(--muted);margin-top:6px}.quick-entry>div{display:flex;background:var(--paper-raised);border:1px solid #d6d9ce;border-radius:8px;overflow:hidden}.quick-entry input{min-width:0;width:100%;padding:14px 12px;border:0;background:transparent;font-size:16px}.quick-entry button{border:0;background:transparent;color:var(--brand);white-space:nowrap;padding:12px}.quick-entry small{display:block;margin-top:12px;font-size:11px;color:var(--muted)}.records-title{display:flex;justify-content:space-between;align-items:center}.records-title h2{font:22px var(--f-title);margin:0}.records-title>span{font-size:11px;color:var(--muted)}.day-card{border-bottom:1px solid var(--line);padding-bottom:8px}.tx{border-radius:8px;transition:background .15s}.tx:hover{background:#eeebe3}.tx-ico{background:#eeeae1!important;border-radius:12px!important}.tx-amt{font-weight:500}.tabbar{backdrop-filter:blur(16px)}.fab{box-shadow:0 8px 24px #a64b3c30}.topbar{gap:8px}.today-row{border:0}
@media(min-width:1000px){body{padding-left:230px}.desk-brand{display:block;position:fixed;left:0;top:0;bottom:0;width:230px;border-right:1px solid var(--line);padding:48px 28px;box-sizing:border-box;background:#efede5}.seal{background:var(--brand);color:#fff6e6;width:42px;height:46px;display:grid;place-items:center;border-radius:6px;font:28px var(--f-title);transform:rotate(-3deg)}.desk-brand h1{font:30px var(--f-title);letter-spacing:4px;margin:18px 0 8px}.desk-brand p{font:12px var(--f-title);color:var(--muted)}.edition{position:absolute;bottom:32px;font-size:10px;color:var(--muted);line-height:2;letter-spacing:1px}.demo-banner{margin:0 40px;padding:24px 0 16px;max-width:none}#app{max-width:1120px;padding:22px 40px 100px;box-sizing:border-box}.tabbar{left:20px;top:230px;bottom:auto;transform:none;width:190px;display:flex;flex-direction:column;gap:10px;background:transparent;border:0;padding:0}.tabbar>button{width:100%;flex-direction:row;justify-content:flex-start;gap:15px;padding:16px 20px;border-radius:8px;font-size:14px}.tabbar>button.on{background:#e5dfd2}.tabbar>button.on:before{display:none}.fab{right:36px;left:auto;bottom:30px;transform:none}.no-tabbar .tabbar{display:flex}body[data-view=ledger] #app{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(340px,1.1fr);gap:0 36px;align-items:start}body[data-view=ledger] .topbar{grid-column:1/-1}body[data-view=ledger] .ledger-summary{grid-column:1;grid-row:2}body[data-view=ledger] .quick-entry{grid-column:1;grid-row:3}body[data-view=ledger] .ledger-records{grid-column:2;grid-row:2/5;padding-top:24px}.hero-amount{font-size:52px}.spacer{height:0}.sheet,.imp-sheet{max-width:520px!important}.summary-facts b{font-size:18px}}
@media(max-width:440px){.demo-banner{font-size:9px;padding:14px 20px}.demo-banner span:first-child{display:none}.ledger-summary{padding:20px}.hero-amount{font-size:44px}.quick-entry{padding:16px}.quick-entry label span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
#sheet-root:not(:empty),#voice-root:not(:empty){z-index:1000}
@media(min-width:700px){.vr-card{max-width:480px;margin:auto}}
@media(min-width:1000px){.tabbar{right:auto;margin:0;max-width:none}.overview-column{grid-column:1;grid-row:2}body[data-view=ledger] .ledger-records{grid-row:2;grid-column:2}.quick-entry{margin-bottom:0}body[data-view=ledger] .ledger-summary{margin-top:16px}}
/* Refined ledger: quiet date groups, consistent line icons and aligned amounts. */
.ledger-records{margin-top:30px}.records-title{margin-bottom:18px}.records-title h2{font-size:21px}.ledger-records>.seg.wide{width:fit-content;display:flex;gap:3px;background:#eae6dd;border:0;border-radius:8px;padding:3px;margin:0 0 22px!important}.ledger-records>.seg.wide button{flex:none;min-width:84px;border:0;border-radius:6px;padding:7px 14px;font-size:12px;color:var(--ink-2);background:transparent}.ledger-records>.seg.wide button.on{background:#fffdf8;color:var(--ink);box-shadow:0 1px 3px #302e2910}.day-card{margin:0 0 22px;padding:0;border:0;background:transparent}.day-head{display:flex;align-items:baseline;gap:8px;border:0;padding:0 2px 10px;font-size:11px}.day-date{font-size:13px;font-weight:500;color:var(--ink)}.day-week{font-size:11px;color:#969087}.day-sum{margin-left:auto;font-size:12px;font-weight:400;color:var(--ink-2)}.day-sum small{font-size:10px;margin-right:5px;color:#969087}.day-card .tx-list{padding:0;margin:0;background:#fffcf7;border:1px solid #e7e1d6;border-radius:12px;overflow:hidden}.day-card .tx{display:flex;align-items:center;gap:13px;min-height:78px;padding:16px 18px;margin:0;border:0;border-bottom:1px solid #eee9e0;border-radius:0;box-sizing:border-box;cursor:pointer}.day-card .tx:last-child{border-bottom:0}.day-card .tx:hover{background:#f3f0e8}.tx .tx-ico{width:38px;height:38px;flex:none;border-radius:11px!important;background:#eeeae1!important;color:#7c725e}.tx .tx-ico.in{background:#e9eee7!important;color:#526c5a}.tx-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.tx .tx-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;line-height:1.3}.tx .tx-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx .tx-sub{font-size:11px;color:#969087;line-height:1.4}.tx .tx-amt{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.4px;white-space:nowrap;font-variant-numeric:tabular-nums}.tx-sign{font-weight:400;color:#9b9589;margin-right:3px}.tx-amt.in .tx-sign{color:var(--income)}
@media(min-width:1000px){.ledger-records{margin-top:0}body[data-view=ledger] .ledger-records{padding-top:20px}}
@media(max-width:440px){.day-card .tx{padding:14px;gap:11px;min-height:74px}.day-sum small{display:none}.tx .tx-amt{font-size:17px}.records-title>span{font-size:10px}}
