:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242d3b;background:#f5f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .16s,border-color .16s,transform .16s}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}.shell{max-width:1180px;margin:auto;padding:0 25px 80px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9ed}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:16px;letter-spacing:-.4px}.brand small{font-size:12px;color:#87909f;display:block;margin-top:3px}.brand-icon{width:40px;height:40px;border-radius:13px;background:#1e3046;color:white;display:grid;place-items:center;font-size:25px}.top-actions{display:flex;align-items:center;gap:12px}.user-pill{border:1px solid #e0e4e9;background:#fff;color:#6b7889;padding:8px 12px;border-radius:100px;font-size:12px}.icon-button{background:white;border:1px solid #e2e7ec;color:#536477;width:38px;height:38px;border-radius:11px;font-size:24px}.page{padding-top:37px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:#8796a6;font-size:10px;letter-spacing:2.1px;font-weight:800;margin-bottom:9px}h1{margin:0;letter-spacing:-1.6px;font-size:clamp(26px,4vw,39px);font-weight:760}h2{margin:0;font-size:20px;letter-spacing:-.5px}.subtitle{font-size:13px;color:#8a94a3;margin:7px 0 0}.outline-button,.primary-button{border-radius:12px;padding:12px 17px;font-weight:680;font-size:13px;display:inline-flex;align-items:center;gap:10px;justify-content:center}.outline-button{background:white;border:1px solid #dde4e9;color:#2a3849}.outline-button:hover{background:#f5f9fb}.primary-button{background:#203b53;color:#fff;border:1px solid #203b53}.primary-button:hover{background:#2d4e69}.button-icon{font-size:18px;color:#70899e}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.summary-card{min-height:165px;padding:25px 25px 19px;border:1px solid #e4e8ec;border-radius:18px;background:white;box-shadow:0 8px 26px #1c2d4506}.summary-label{font-size:11px;font-weight:800;letter-spacing:1.25px;display:flex;align-items:center;gap:8px;color:#576678}.label-sub{letter-spacing:0;font-weight:500;color:#8792a0;margin-left:3px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot-green{background:#36a887}.dot-red{background:#df827e}.dot-blue{background:#7094bd}.summary-value{font-size:clamp(22px,3.25vw,33px);font-weight:760;letter-spacing:-1.1px;margin-top:21px;white-space:nowrap}.summary-caption{font-size:11px;color:#919baa;margin-top:9px}.income-card .summary-value{color:#21836b}.expense-card .summary-value{color:#c65a61}.balance-card{background:#22394e;color:white;border-color:#22394e}.balance-card .summary-label,.balance-card .label-sub,.balance-card .summary-caption{color:#b5c6d3}.paper{background:white;border:1px solid #e6eaf0;border-radius:18px;padding:27px;box-shadow:0 8px 28px #1e354008}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:24px}.list-meta{display:flex;justify-content:space-between;border-top:1px solid #eef0f2;border-bottom:1px solid #eef0f2;padding:13px 0;font-size:11px;color:#909ba7}.date-divider{padding:19px 0 9px;font-size:12px;color:#78879a;font-weight:750;display:flex;justify-content:space-between;gap:14px}.date-divider .date-total{font-weight:550;color:#9da6b1}.tx-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #f1f2f4}.tx-item:last-child{border:0}.tx-left{display:flex;align-items:center;gap:13px;min-width:0}.tx-icon{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#edf6f2;color:#25957a;font-size:20px}.tx-icon.out{background:#fbf0ef;color:#d67870}.tx-main{min-width:0}.tx-name{font-weight:710;font-size:13px}.tx-detail{font-size:11px;color:#939da9;margin-top:5px;white-space:normal;overflow-wrap:anywhere}.tx-right{display:flex;align-items:center;gap:12px}.tx-amount{font-weight:750;font-size:14px;white-space:nowrap}.positive{color:#208d72}.negative{color:#c75c64}.delete-btn{border:0;background:transparent;color:#adb5bf;font-size:20px;padding:4px 8px}.delete-btn:hover{color:#ba5050}.empty{padding:60px 10px;text-align:center;color:#929ca8;font-size:14px}.empty strong{display:block;font-size:15px;color:#56687a;margin-bottom:7px}.controls{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:18px}.control-group{flex:1;min-width:130px}.control-group label{margin-top:0}.stats-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.figure{background:#fff;border:1px solid #e7eaed;border-radius:15px;padding:20px}.figure span{font-size:12px;color:#8793a0;display:block}.figure strong{display:block;font-size:23px;margin-top:12px;letter-spacing:-.7px}.stats-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.stats-grid .paper{min-height:355px}.sub-paper{margin-top:18px}.category-list{margin-top:21px}.catline{margin:15px 0}.cat-top{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:12px}.cat-top b{font-size:12px;white-space:nowrap}.bar{background:#eef1f4;height:8px;margin-top:9px;border-radius:50px;overflow:hidden}.fill{height:100%;background:#7898b2;border-radius:50px}.chart{display:flex;align-items:end;gap:8px;height:195px;padding-top:24px;border-bottom:1px solid #e8edf1;margin-top:12px}.chartcol{background:#789ab7;min-width:7px;flex:1;border-radius:5px 5px 0 0}.chart-labels{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#9ba5b0;margin-top:9px;overflow:hidden}.chart-labels span{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input,select,textarea{width:100%;border:1px solid #dce3e9;background:#fff;color:#2a3644;padding:12px 13px;border-radius:11px;outline:0}input:focus,select:focus,textarea:focus{border-color:#7498b2;box-shadow:0 0 0 3px #7498b21e}textarea{resize:vertical}label{display:block;font-size:12px;color:#657487;font-weight:620;margin:17px 0 7px}.optional{color:#a1aab5;font-weight:400}.hidden{display:none!important}.alert{background:#fff0ef;color:#b74f4f;border:1px solid #f2c8c6;padding:13px 17px;border-radius:12px;margin-top:15px;font-size:13px}.overlay{position:fixed;inset:0;background:#172432b9;z-index:30;display:grid;place-items:center;padding:20px;overflow-y:auto}.dialog{background:white;width:min(100%,470px);max-height:92vh;overflow-y:auto;border-radius:21px;padding:28px;box-shadow:0 30px 80px #101c2d44}.small-dialog{max-width:390px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.close-btn{background:#f3f5f7;border:0;border-radius:10px;color:#718091;width:34px;height:34px;font-size:22px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#eff2f5;border-radius:12px}.segmented button{background:transparent;border:0;border-radius:9px;color:#74808d;padding:12px;font-weight:700}.segmented button.active{background:white;color:#243f55;box-shadow:0 1px 6px #253e551a}.field-row{display:flex;gap:9px}.square-button{width:43px;flex-shrink:0;border-radius:10px;border:1px solid #dde5e9;background:#f6f8fa;color:#294659;font-size:22px}.full-width{width:100%;margin-top:23px}.amount-input{font-weight:700;font-size:23px;letter-spacing:-.5px}

/* v0.3 Nothing-inspired, entirely local font rendering: no external CDN or font asset. */
:root{font-family:"Arial", "Helvetica Neue", sans-serif;color:#161616;background:#f4f4f1;font-synthesis:none;color-scheme:light}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:#f4f4f1;min-width:280px}
button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}
:focus-visible{outline:3px solid #ef4e3d;outline-offset:2px}
.shell{max-width:1120px;padding-bottom:90px}
.topbar{border-bottom:1px solid #d7d7d2;height:83px}
.brand-icon{width:39px;height:39px;border-radius:50%;background:#161616;color:#fff;display:flex;justify-content:center;align-items:center;gap:3px;font-size:7px;line-height:1}
.brand-icon span{font-size:12px}.brand-name{font-family:"Arial Black",Arial,sans-serif;font-size:14px;letter-spacing:1.1px!important;font-weight:900}.brand-dot{color:#f04c39}
.brand small{font-size:11px;color:#787874}.user-pill{border-radius:99px;border-color:#d8d8d4;color:#545450}
.icon-button{border-color:#d8d8d4;color:#111}.page{padding-top:35px}
.eyebrow{color:#777772;letter-spacing:2.4px;font-size:10px}
h1,h2{color:#151515}h1{font-family:"Arial Black",Arial,sans-serif;font-weight:900;letter-spacing:-1.4px}
h2{font-family:"Arial Black",Arial,sans-serif;letter-spacing:-.55px}
/* A dot-mask on visible titles evokes Nothing's dot matrix without claiming its proprietary font. */
.dot-type{background-image:radial-gradient(circle,#171717 1.35px,transparent 1.65px);background-size:4px 4px;background-position:0 0;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.subtitle{color:#777773}.outline-button,.primary-button{border-radius:11px;font-weight:750;min-height:44px}
.outline-button{border-color:#cfcfca;background:#fff;color:#151515}.outline-button:hover{background:#eeeeeb}
.primary-button{background:#171717;border-color:#171717;color:#fff}.primary-button:hover{background:#333}
.button-icon{color:#f04c39}.summary-grid{gap:12px;margin-bottom:23px}
.summary-card{background:#fff;border-color:#dcdcd7;border-radius:12px;box-shadow:none;min-width:0}
.summary-label{color:#545450;letter-spacing:1.8px;font-family:"Arial Black",Arial,sans-serif;font-size:12px}
.label-sub{font-family:Arial,sans-serif;font-size:11px}.summary-value{letter-spacing:-1.6px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-family:"Arial Black",Arial,sans-serif;font-weight:900}
.summary-caption{color:#85857e}.dot{border-radius:2px;width:7px;height:7px}
.dot-green{background:#111}.dot-red{background:#f04c39}.dot-blue{background:#fff}
.income-card .summary-value{color:#111}.expense-card .summary-value{color:#ec4f3d}
.balance-card{background:#191919;border-color:#191919;color:#fff}.balance-card .summary-label,.balance-card .label-sub,.balance-card .summary-caption{color:#c5c5c5}
.balance-card .summary-value{color:#fff}.paper{border-color:#e0e0dc;box-shadow:none;border-radius:13px}
.list-meta{border-color:#ecece7;color:#81817d}.date-divider{color:#62625e}.date-divider .date-total{color:#888883}
.tx-item{min-height:66px;border-bottom-color:#eaeae5}.tx-icon{border-radius:11px;background:#eee;color:#101010}.tx-icon.out{background:#fff1ee;color:#e24d3c}
.tx-name{color:#1b1b1b}.tx-detail{color:#858581}.positive{color:#1b1b1b}.negative{color:#e04938}.delete-btn{min-width:40px;min-height:44px;color:#858581}
.figure{border-radius:11px;border-color:#deded9}.figure strong{font-family:"Arial Black",Arial,sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fill,.chartcol{background:#ef4d3d}.bar{background:#ededeb}
input,select,textarea{border-color:#d0d0cb;border-radius:9px;min-height:46px}input:focus,select:focus,textarea:focus{border-color:#f04c39;box-shadow:0 0 0 3px #ef4e3d1a}
.alert{border-color:#eec9c1;color:#a63023}.overlay{background:#121212b9}.dialog{border-radius:16px}.close-btn{background:#eee;color:#111;min-width:44px;min-height:44px}.segmented{background:#eee}.segmented button{min-height:46px}.segmented button.active{color:#171717;box-shadow:none}.square-button{min-width:46px;min-height:46px;background:#f8f8f6;border-color:#d0d0cb;color:#171717}
.mobile-nav{display:none}
@media(max-width:840px){
 .shell{padding:0 18px 110px}.topbar{height:70px}.page{padding-top:25px}.summary-card{padding:21px 18px;min-height:146px}.summary-value{font-size:clamp(19px,3.5vw,29px);white-space:normal}.paper{padding:19px}.stats-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 body{font-size:14px}.shell{padding:0 12px calc(100px + env(safe-area-inset-bottom,0px))}
 .topbar{height:65px;gap:8px}.brand{gap:9px;min-width:0}.brand-icon{width:33px;height:33px;flex-shrink:0}.brand-name{font-size:11px;letter-spacing:.5px!important}.brand small{font-size:10px;white-space:nowrap}.top-actions{gap:5px}.user-pill{font-size:10px;padding:6px 8px;max-width:113px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:none}
 .page{padding-top:20px}.heading{gap:10px;margin-bottom:17px;align-items:end}.heading h1{font-size:clamp(23px,6.7vw,32px);line-height:1.2}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:7px}.subtitle{font-size:11px;line-height:1.45}.heading .outline-button{min-height:44px;font-size:11px;padding:8px 10px;gap:5px}.heading .outline-button .button-icon{display:none}
 .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
 .summary-card{min-height:114px;padding:14px 12px;border-radius:11px}
 .summary-label{font-size:10px;letter-spacing:1px;gap:5px;flex-wrap:wrap}.label-sub{font-size:10px;margin-left:0}.summary-value{font-size:clamp(17px,5vw,25px);line-height:1.16;letter-spacing:-1px;margin-top:12px}.summary-caption{font-size:10px;margin-top:6px;line-height:1.3}
 .balance-card{grid-column:1/-1;min-height:101px}.balance-card .summary-value{font-size:clamp(25px,7vw,35px);margin-top:10px}
 .paper{padding:14px;border-radius:12px}.section-head{padding-bottom:15px;align-items:center}.section-head h2{font-size:17px}.section-head .primary-button{display:none}
 .list-meta{font-size:10px;padding:11px 0;gap:9px}.date-divider{font-size:11px;padding:16px 0 8px}.date-divider .date-total{font-size:10px;text-align:right}
 .tx-item{gap:5px;padding:9px 0;min-height:65px}.tx-left{gap:8px;min-width:0;flex:1}.tx-icon{width:33px;height:33px;border-radius:9px;font-size:17px}.tx-name{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.tx-detail{font-size:10px;margin-top:4px}.tx-right{gap:0;flex-shrink:0}.tx-amount{font-size:12px;max-width:118px;text-align:right;white-space:normal}.delete-btn{font-size:21px;min-width:32px;width:32px;padding:0 4px}
 .stats-figures{gap:7px;margin-bottom:12px}.figure{padding:12px 9px;min-width:0}.figure span{font-size:10px}.figure strong{font-size:clamp(13px,3.6vw,19px);margin-top:9px}.stats-grid{gap:12px}.sub-paper{margin-top:12px}.controls{gap:9px}.control-group{min-width:calc(50% - 5px)}.controls>.primary-button{width:100%}.control-group label{font-size:11px}.chart{height:170px;gap:4px}.chart-labels{gap:2px}.cat-top{font-size:11px}.cat-top b{font-size:11px}
 .mobile-nav{position:fixed;display:flex;z-index:20;bottom:0;left:0;right:0;align-items:center;justify-content:space-around;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#fafaf8;border-top:1px solid #d9d9d3;box-shadow:0 -5px 22px #1111110a}
 .nav-link{border:0;background:transparent;color:#777;display:flex;flex:1;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:700;min-height:54px;justify-content:center}.nav-link.active{color:#121212}.nav-symbol{font-size:24px;line-height:26px}.nav-add{flex:none;display:grid;place-items:center;background:#ee4d3d;border:0;color:white;width:55px;height:55px;border-radius:16px;font-size:33px;font-weight:300;box-shadow:0 5px 14px #ef4d3d33;margin:0 18px}
 .overlay{align-items:end;padding:0}.dialog,.small-dialog{width:100%;max-width:none;max-height:min(94dvh,900px);border-radius:20px 20px 0 0;padding:20px 17px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -15px 60px #0003;overscroll-behavior:contain}.dialog-header{margin-bottom:18px}.dialog h2{font-size:20px}.dialog label{margin:12px 0 6px}.dialog .full-width{min-height:52px;margin-top:18px}.amount-input{font-size:24px}
}
@media(max-width:350px){.brand small{display:none}.user-pill{max-width:88px}.summary-card{padding:11px 9px}.summary-label{font-size:9px}.summary-value{font-size:16px}.tx-amount{max-width:91px;font-size:11px}.tx-icon{display:none}.heading h1{font-size:22px}.heading .outline-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v0.4 — two-column Nothing-inspired dark summary. Mobile-first, no remote fonts. */
:root{color-scheme:dark;color:#efefef;background:#080808;font-family:Arial,"Helvetica Neue",sans-serif}
body{background:#080808;color:#efefef}
.topbar{border-bottom-color:#2b2b2b}.brand-icon{background:#303030}.brand small,.user-pill{color:#9b9b9b}.user-pill{background:#1c1c1c;border-color:#323232}
.icon-button,.outline-button{background:#222;color:#f5f5f5;border-color:#424242}.outline-button:hover{background:#343434}
.eyebrow,.subtitle{color:#999}h1,h2{color:#f8f8f8}
.dot-type{background-image:radial-gradient(circle,#f2f2f2 1.35px,transparent 1.65px)}
.paper,.figure{background:#202020;border-color:#343434;color:#f5f5f5}
.list-meta,.tx-item{border-color:#3b3b3b}.date-divider{color:#cecece}.date-divider .date-total,.tx-detail{color:#929292}
.tx-name,.positive,.figure strong{color:#f5f5f5}.tx-icon{background:#363636;color:#f5f5f5}.tx-icon.out{background:#3a2828;color:#ff6868}.negative{color:#ff5656}
.delete-btn{color:#aaa}.delete-btn:hover{color:#ff6767}.empty,.empty strong{color:#ccc}
.controls label,.dialog label{color:#bcbcbc}.figure span,.cat-top,.chart-labels{color:#ccc}.bar{background:#383838}
input,select,textarea{background:#262626;color:#f7f7f7;border-color:#555}input:focus,select:focus,textarea:focus{border-color:#ff5751}
.primary-button{background:#f04b42;color:#fff;border-color:#f04b42}.primary-button:hover{background:#d83b35}
.mobile-nav{background:#141414;border-color:#333;box-shadow:none}.nav-link{color:#999}.nav-link.active{color:#fff}
.dialog{background:#222;color:#f3f3f3}.close-btn,.square-button{background:#393939;color:#fff;border-color:#555}.segmented{background:#333}.segmented button{color:#bbb}.segmented button.active{background:#555;color:white}
.overview-card{display:grid;grid-template-columns:1fr 1.08fr;gap:0;background:#262626;border:1px solid #333;border-radius:16px;padding:27px 29px;margin-bottom:0;min-width:0}
.overview-left{padding:0 28px 0 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.overview-right{border-left:1px solid #777;padding:0 0 0 28px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.overview-label{font-size:clamp(11px,1.6vw,17px);letter-spacing:.3px;color:#ddd;font-weight:500;line-height:1.3}
.overview-number{font-size:clamp(25px,3.3vw,45px);font-weight:800;letter-spacing:-1.2px;line-height:1.2;margin-top:9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.overview-rule{border-top:1px solid #575757;margin:19px 0 17px}
.overview-negative{color:#ff4c4c!important}
.overview-current{font-size:clamp(25px,3.3vw,45px)}
.overview-previous{border-top:1px solid #595959;margin-top:20px;padding-top:5px}
.previous-month{display:flex;justify-content:space-between;gap:9px;align-items:baseline;padding:8px 0;border-bottom:1px solid #424242;color:#969696;font-size:clamp(10px,1.25vw,14px);font-variant-numeric:tabular-nums}
.previous-month:last-child{border-bottom:0;padding-bottom:0}
.previous-month span:last-child{text-align:right;white-space:nowrap}
.balance-note{margin:9px 0 22px;color:#777;font-size:11px;line-height:1.4}
@media(max-width:600px){
 .overview-card{border-radius:12px;padding:15px 12px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
 .overview-left{padding-right:12px}.overview-right{padding-left:12px}
 .overview-label{font-size:clamp(9px,2.5vw,12px);letter-spacing:0}
 .overview-number{font-size:clamp(19px,5.1vw,27px);letter-spacing:-.7px;margin-top:9px}
 .overview-current{font-size:clamp(18px,4.8vw,26px)}
 .overview-rule{margin:18px 0 17px}
 .overview-previous{margin-top:16px;padding-top:3px}
 .previous-month{font-size:clamp(9px,2.4vw,11px);gap:4px;padding:7px 0}
 .previous-month span:first-child{overflow:hidden;text-overflow:ellipsis}
 .balance-note{font-size:10px;margin:8px 2px 16px}
}
@media(max-width:350px){.overview-card{padding:12px 9px}.overview-left{padding-right:8px}.overview-right{padding-left:8px}.overview-number{font-size:18px}.overview-current{font-size:17px}.previous-month{font-size:9px}}

/* v0.5 — readable headings and searchable taxonomy */
.plain-title{background:none!important;background-image:none!important;color:#f8f8f8!important;-webkit-text-fill-color:#f8f8f8!important;font-family:Arial,"Helvetica Neue",sans-serif!important;letter-spacing:-.8px;font-weight:700}
.autocomplete{position:relative;min-width:0}
.autocomplete input{width:100%}
.suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:215px;overflow:auto;overscroll-behavior:contain;z-index:12;background:#303030;border:1px solid #5d5d5d;border-radius:11px;box-shadow:0 15px 32px #0009}
.suggestion-item{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid #484848;border-radius:0;text-align:left;padding:11px 13px;background:transparent;color:white;font-size:14px}
.suggestion-item:hover,.suggestion-item:focus{background:#494949;outline:none}
.suggestion-create{padding:12px 13px;color:#e6ad9f;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.category-hint{font-size:11px;color:#9c9c9c;line-height:1.4;margin:6px 2px 9px}
