@font-face{font-family:Outfit;src:url('fonts/Outfit.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('fonts/PlusJakartaSans.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--bg:#f7f8fc;--card:#fff;--text:#172033;--muted:#526077;--border:#e1e6ef;--primary:#4338ca;--mint:#0f766e;--soft:#efedff;--mintbg:#e4f5ed;--danger:#b42338;--shadow:0 3px 18px #17203304;color-scheme:light}[data-theme=dark]{--bg:#101322;--card:#1b2033;--text:#f1f5f9;--muted:#b1bcd0;--border:#35415b;--primary:#a5b4fc;--mint:#5eead4;--soft:#292b4b;--mintbg:#183a38;--danger:#fda4af;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Plus Jakarta Sans',system-ui,sans-serif;line-height:1.5;font-variant-numeric:tabular-nums}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Outfit,system-ui,sans-serif}h1{font-size:27px;letter-spacing:-1px;font-weight:800}h2{font-size:17px;font-weight:750;letter-spacing:-.35px}h3{font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button,a{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:9px 14px;font-weight:600}button:hover{border-color:var(--primary);color:var(--primary)}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .primary{color:#101322}.primary:hover{filter:brightness(.94);color:white}[data-theme=dark] .primary:hover{color:#101322}.quiet{border:0;background:transparent;color:var(--muted)}.text-btn{padding:0;min-height:44px;border:0;color:var(--primary);background:none;font-size:12px}.danger{color:var(--danger)}input,select,textarea{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:11px 12px;min-height:44px;max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary)}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:500}textarea{resize:vertical}small,.muted{color:var(--muted)}small{font-size:11px}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;width:224px;top:0;bottom:0;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 20px;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:800;letter-spacing:-1.6px;padding:0 12px}.logo{display:inline-grid;place-items:center;background:var(--primary);color:#fff;width:35px;height:35px;border-radius:11px;font-size:25px;letter-spacing:-5px;padding-right:5px;transform:rotate(-6deg)}.brand-sub{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);padding:12px 12px 30px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted);padding:0 14px 12px}nav{display:grid;gap:5px}nav button{display:flex;align-items:center;gap:13px;text-align:left;border:0;background:transparent;color:var(--muted);font-weight:500;padding:12px 15px}nav button.active{background:var(--soft);color:var(--primary);font-weight:700}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar-bottom{margin-top:auto;padding-top:28px}.note-box{padding:16px 12px;border-radius:12px;background:var(--bg);font-size:11px;color:var(--muted)}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);margin-top:20px;padding:20px 8px 0}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--primary);font-weight:700}.main{grid-column:2;min-width:0}.topbar{height:69px;border-bottom:1px solid var(--border);background:var(--card);padding:0 36px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.topbar .right{display:flex;gap:12px;align-items:center}.dot{width:6px;height:6px;background:var(--mint);border-radius:50%;display:inline-block;margin-right:5px}.content{max-width:1530px;margin:auto;padding:29px 36px 36px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:700;color:var(--mint);letter-spacing:1.3px;text-transform:uppercase;margin-bottom:6px}.subtitle{font-size:12px;color:var(--muted);margin-top:5px}.controls{display:flex;gap:8px;align-items:center}.controls input{width:155px}.icon-btn{padding:10px;display:grid;place-items:center;min-width:44px}.card{background:var(--card);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow);padding:21px;min-width:0}.quick{padding:20px 22px;margin-bottom:20px}.quick-title{display:flex;align-items:center;gap:9px;margin-bottom:13px;font-size:13px;font-weight:700}.quick-title .spark{color:var(--primary)}.quick-row{display:flex;gap:10px}.quick-row input{flex:1;min-width:0;background:var(--bg);border-color:transparent;font-size:13px;padding:14px 16px}.quick-row button{padding:12px 22px}.quick-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.quick-bottom small{font-size:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat{padding:20px}.stat-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.stat-icon{display:grid;place-items:center;width:29px;height:29px;background:var(--soft);color:var(--primary);border-radius:8px}.stat:first-child{background:var(--primary);color:white;border-color:var(--primary)}.stat:first-child .stat-head,.stat:first-child small{color:#e0e1ff}.stat:first-child .stat-icon{background:#ffffff1c;color:#fff}.stat:first-child .big{color:#fff}[data-theme=dark] .stat:first-child{background:#25234b;border-color:#4a467a}.big{font-size:clamp(21px,2.25vw,31px);font-weight:700;letter-spacing:-1px;margin:12px 0 7px;line-height:1.2}.stat small{font-size:10px}.stat-foot{border-top:1px solid #ffffff26;margin-top:14px;padding-top:12px;font-size:10px}.grid-chart{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:20px;margin-bottom:20px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}.card-title .muted{font-size:10px}.chart{height:222px;display:flex;align-items:stretch;gap:4px;padding:15px 0 0;position:relative}.chart-wrap{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px}.axis{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:var(--muted);padding:15px 0 22px}.plot{border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent,transparent calc(25% - 1px),var(--border) 25%);display:flex;align-items:flex-end;justify-content:space-around;width:100%;height:190px;gap:4px}.day-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative;flex:1;max-width:25px;border:0;padding:0;min-width:0;min-height:0;background:transparent;border-radius:3px 3px 0 0}.day-col:hover{background:var(--soft)}.stack{width:100%;min-height:1px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:3px 3px 0 0}.segment{display:block;width:100%}.day-label{position:absolute;bottom:-21px;font-size:8px;color:var(--muted);width:100%;text-align:center}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:9px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.ranking{display:grid;gap:17px;margin-top:24px}.rank-top{display:flex;justify-content:space-between;font-size:11px;gap:8px}.bar{height:6px;background:var(--bg);border-radius:10px;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--primary);border-radius:10px}.rank-bottom{font-size:9px;color:var(--muted);margin-top:4px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.grid-three{display:grid;grid-template-columns:1.1fr .9fr 1.2fr;gap:20px}.account-row,.transaction-row,.bill-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.account-row:last-child,.transaction-row:last-child,.bill-row:last-child{border-bottom:0}.account-icon{background:var(--soft);color:var(--primary);display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;font-size:13px;font-weight:700;border-radius:10px}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:12px;font-weight:600}.row-main small{font-size:10px}.row-amount{font-size:12px;font-weight:650;white-space:nowrap}.pill{display:inline-flex;gap:5px;align-items:center;padding:3px 8px;border-radius:5px;background:var(--mintbg);color:var(--mint);font-size:9px;font-weight:600}.pill.warn{background:#fff2d8;color:#865100}[data-theme=dark] .pill.warn{background:#463619;color:#ffd48c}.pill.danger{background:#fce8ed;color:#9f1239}.budget-item{margin:18px 0 5px}.budget-item .bar{height:7px}.goal-hero{background:var(--mintbg);border-radius:11px;padding:16px;margin-top:15px}.empty{padding:30px 10px;text-align:center;color:var(--muted);font-size:12px}.empty strong{display:block;color:var(--text);font-size:13px;margin-bottom:7px}.banner{border:1px solid var(--border);background:var(--soft);color:var(--text);padding:12px 16px;border-radius:10px;font-size:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.banner button{flex-shrink:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.filters input{flex:1;min-width:130px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}th,td{padding:14px 12px;border-bottom:1px solid var(--border)}td.note{white-space:normal;min-width:170px;max-width:300px}dialog{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:0;width:min(660px,calc(100% - 28px));max-height:90vh;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10132288;backdrop-filter:blur(3px)}.modal-head{padding:22px 24px 12px;display:flex;align-items:center;justify-content:space-between}.modal-body{padding:8px 24px 24px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin-top:16px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.hint{font-size:11px;color:var(--muted);margin-top:8px}.error{color:var(--danger);font-size:12px;margin:10px 0}.form-grid label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}.form-grid input[type=checkbox]{min-height:20px;width:18px}.notice{padding:12px;background:var(--bg);border-radius:10px;font-size:12px;color:var(--muted);margin-top:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .card{display:grid;align-content:start;gap:14px}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-intro{background:#26215f;color:white;padding:9vw;display:flex;flex-direction:column;justify-content:center}.auth-intro h1{font-size:clamp(32px,4vw,55px);line-height:1.2;margin:35px 0 22px;letter-spacing:-2px}.auth-intro p{color:#cbc8ee;max-width:410px;line-height:1.8}.auth-box{padding:7vw;display:flex;flex-direction:column;justify-content:center;max-width:650px}.auth-box form{display:grid;gap:15px;margin-top:22px}.auth-box h2{font-size:25px}.auth-box details{margin-top:25px;color:var(--muted);font-size:12px}.auth-box summary{cursor:pointer;min-height:44px}.auth-box .brand{padding:0}.auth-box button{width:100%}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--card);border-radius:12px;z-index:99;padding:13px 18px;box-shadow:0 8px 40px #0003;display:none;max-width:calc(100% - 24px);font-size:12px}#toast.show{display:flex;gap:12px;align-items:center}#toast button{background:none;color:inherit;border-color:currentColor;min-height:32px;font-size:11px;padding:4px 9px}.bottomnav{display:none}.list-page{display:grid;gap:16px}.big-number{font-size:28px;font-weight:700;margin:10px 0}.section-space{margin-top:24px}.analysis-bars{display:flex;gap:20px;align-items:flex-end;height:230px;overflow:auto;padding:15px 10px 28px}.month-bars{display:flex;gap:5px;align-items:flex-end;min-width:60px;height:100%;position:relative;flex:1;justify-content:center}.month-bars i{width:22px;background:var(--primary);border-radius:4px 4px 0 0}.month-bars i:first-child{background:var(--mint)}.month-bars small{position:absolute;bottom:-23px;white-space:nowrap;font-size:10px}.footer{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin-top:28px}.negative-bars{display:flex;gap:4px;height:35px;border-top:1px solid var(--border);margin-top:-12px}.negative-bars button{flex:1;min-width:0;min-height:0;padding:0;border:0;border-radius:0 0 3px 3px;background:var(--danger);align-self:flex-start}.chip-list{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chip-list span{padding:4px 9px;border-radius:7px;background:var(--soft);font-size:11px;color:var(--primary)}.split-row{display:grid;grid-template-columns:1fr 120px 44px;gap:8px;margin-top:8px}a{color:var(--primary)}.linechart{width:100%;height:220px}.timeline{padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.budget-over{color:var(--danger);font-size:11px;margin-top:5px}
@media(min-width:1500px){.content{padding-top:36px}.big{font-size:32px}.chart{height:250px}.plot{height:190px}.axis{padding-bottom:22px}}
@media(max-width:1150px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:28px 12px}.content{padding:24px}.topbar{padding:0 24px}.stats{gap:10px}.stat{padding:15px}.stat-head{font-size:10px}.big{font-size:23px}.grid-three{grid-template-columns:1fr 1fr}.grid-three>.card:last-child{grid-column:1/-1}.grid-chart{grid-template-columns:1.5fr 1fr}}
@media(max-width:800px){.shell{display:block}.sidebar{display:none}.main{width:100%}.topbar{height:58px;padding:0 20px}.topbar .right{gap:6px}.content{padding:22px 18px 100px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:17px}.big{font-size:25px}.grid-chart,.grid-two,.grid-three,.settings-grid{grid-template-columns:1fr;gap:16px}.grid-three>.card:last-child{grid-column:auto}.card{padding:19px}.quick{padding:17px}.quick-row button{padding:10px 15px}.quick-bottom small{max-width:75%;font-size:9px}.quick-row input{padding:12px;font-size:12px}.controls input{width:143px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-around;align-items:center;height:72px;padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--border)}.bottomnav button{border:0;background:transparent;font-size:9px;display:flex;flex-direction:column;gap:4px;align-items:center;padding:7px 10px;color:var(--muted);min-width:52px}.bottomnav button.active{color:var(--primary)}.bottomnav .add{background:var(--primary);color:#fff;width:45px;min-width:45px;height:45px;border-radius:15px;font-size:24px;justify-content:center;margin-top:-22px;box-shadow:0 5px 15px #4338ca30}[data-theme=dark] .bottomnav .add{color:#101322}#toast{bottom:87px;width:max-content}.auth-wrap{display:block}.auth-intro{padding:28px 25px}.auth-intro h1{font-size:29px;letter-spacing:-1px;margin:15px 0}.auth-intro p{font-size:12px}.auth-intro .brand{font-size:26px}.auth-box{padding:30px 24px 50px;max-width:none}.auth-box h2{font-size:22px}.footer{flex-direction:column}.form-grid{gap:12px}.modal-body{padding:8px 18px 22px}.modal-head{padding:16px 18px 8px}.stat-head{font-size:10px}.banner{font-size:11px}.banner button{font-size:10px}.ranking{gap:15px}.chart{height:210px}.plot{height:190px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .13s,border-color .13s}.content{animation:appear .2s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
/* Comfortable primary text while preserving compact metadata. */
.rank-top,.row-main strong,.row-amount{font-size:13px}.stat-head{font-size:12px}.subtitle{font-size:13px}.legend{font-size:10px}.negative-bars{margin-top:12px;margin-bottom:8px}.quick-row input{font-size:14px}.chart-wrap .axis{padding-top:15px;padding-bottom:25px}
@media(max-width:800px){.stat-head{font-size:11px}.quick-row input{font-size:13px}}

@media(max-width:430px){.big{font-size:clamp(18px,5vw,22px);overflow-wrap:anywhere}.form-grid{grid-template-columns:1fr}.split-row{grid-template-columns:minmax(0,1fr) 90px 44px}.card-title{flex-wrap:wrap}.chart .plot{height:190px}}

/* Account illustrations: clear silhouettes, independent of the light/dark theme. */
.account-icon:has(.account-artwork){background:transparent!important;overflow:visible;width:40px;height:40px;border-radius:12px}.account-artwork{display:block;width:40px;height:40px;flex-shrink:0}.account-emoji{font-size:23px;line-height:1}.transaction-row .account-artwork{width:36px;height:36px}.transaction-row .account-icon:has(.account-artwork){width:36px;height:36px}

/* Sakuu wordmark: an original pocket with a small sparkle. */
.brand{font-family:Outfit,system-ui,sans-serif;font-weight:650;letter-spacing:-1.5px;font-size:34px;gap:10px}.brand .logo{display:block;flex-shrink:0;width:40px;height:40px;padding:0;border-radius:13px;transform:none;background:transparent;letter-spacing:normal}.auth-intro .brand{font-size:37px}.auth-intro h1{font-family:Outfit,system-ui,sans-serif;font-weight:650;letter-spacing:-1.7px;font-size:clamp(38px,4.3vw,61px);line-height:1.1}.auth-intro .brand span{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:500}.big{font-family:Outfit,system-ui,sans-serif;font-weight:600}.note-box strong,.note-box p{letter-spacing:0}h1{font-weight:650;letter-spacing:-.7px}h2{font-weight:600;letter-spacing:-.3px}h3{font-weight:600}.brand-sub{font-size:9px;letter-spacing:2px}.auth-intro .brand{flex-wrap:wrap}.quick-row input::placeholder{opacity:1;color:var(--muted)}
@media(max-width:800px){.auth-intro .brand{font-size:30px}.auth-intro h1{font-size:38px;letter-spacing:-1px}.brand .logo{width:36px;height:36px}.quick-row input{font-size:12px}}
/* Source cards and daily spending extend the existing dashboard. */
.source-section{margin:26px 0}.source-section>.card-title{margin-bottom:1px}.source-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.source-wallet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.source-card{--source-bg:#3b3b83;position:relative;isolation:isolate;display:flex;flex-direction:column;text-align:left;color:#fff;background:var(--source-bg);border:1px solid #ffffff16;border-radius:17px;padding:17px 18px;overflow:hidden;min-width:0;box-shadow:0 4px 14px #17203308;min-height:144px}.source-card:hover{color:#fff;border-color:#ffffff90;filter:brightness(1.05)}.source-card::before{content:'';position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='240' viewBox='0 0 500 240'%3E%3Cg fill='none' stroke='white' stroke-width='1' opacity='.13'%3E%3Cpath d='M-20 10C130-80 210 130 530 15M-20 25C130-65 210 145 530 30M-20 40C130-50 210 160 530 45M-20 55C130-35 210 175 530 60M-20 70C130-20 210 190 530 75M-20 85C130-5 210 205 530 90M-20 100C130 10 210 220 530 105M-20 115C130 25 210 235 530 120M-20 130C130 40 210 250 530 135M-20 145C130 55 210 265 530 150M-20 160C130 70 210 280 530 165M-20 175C130 85 210 295 530 180M-20 190C130 100 210 310 530 195'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;background-position:right}.source-large{min-height:210px;padding:23px 25px}.source-bsi{--source-bg:#0b6c70}.source-livin{--source-bg:#343fa1}.source-gopay{--source-bg:#087e9c}.source-shopee{--source-bg:#b84227}.source-emoney{--source-bg:#253d72}.source-cash{--source-bg:#227252}.source-card-top,.source-card-bottom,.source-card-caption{display:flex;align-items:center;justify-content:space-between;gap:10px}.source-brand{display:flex;align-items:center;gap:8px;min-width:0}.source-brand strong{font-size:12px;font-weight:650;overflow-wrap:anywhere}.source-brand .account-artwork{width:30px;height:30px}.source-type{text-transform:uppercase;letter-spacing:1.3px;font-size:8px;color:#ffffffd0;white-space:nowrap}.source-wallet-grid .source-type{display:none}.source-large .source-brand strong{font-size:15px}.source-large .source-brand .account-artwork{width:35px;height:35px}.source-card-bottom{margin-top:auto;min-width:0;padding-top:20px;position:relative}.source-card-bottom>span{min-width:0;z-index:1}.source-card-bottom small{display:block;color:#ffffffc9;font-size:8px;letter-spacing:1.8px}.source-balance{display:block;font-size:19px;font-family:Outfit,system-ui,sans-serif;letter-spacing:.2px;line-height:1.3;margin-top:4px;overflow-wrap:anywhere}.source-large .source-balance{font-size:29px}.source-sparkline{width:108px;max-width:40%;height:48px;flex-shrink:0;fill:none;stroke:#ffffffbd;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;position:absolute;right:0;bottom:0;opacity:.58;z-index:0}.source-sparkline circle{fill:white;stroke:none}.source-large .source-sparkline{width:155px;height:65px;max-width:38%}.source-card-caption{font-size:8px;color:#ffffffe0;margin-top:11px;font-weight:400}.card-chip{display:grid;grid-template-columns:repeat(3,1fr);width:29px;height:23px;border:1px solid #efdca7;border-radius:5px;background:#d9bf81;margin-top:12px;overflow:hidden;opacity:.92}.card-chip i{border-right:1px solid #9c854f}.card-chip i:nth-child(2){border-top:7px solid #e8d7a9;border-bottom:7px solid #e8d7a9}.daily-section{margin:28px 0}.segmented{display:flex;padding:3px;background:var(--card);border:1px solid var(--border);border-radius:10px;gap:3px}.segmented button{border:0;background:none;font-size:11px;min-height:36px;padding:7px 12px;color:var(--muted);font-weight:500}.segmented button.selected{background:var(--soft);color:var(--primary);font-weight:650}.daily-budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0 14px}.daily-budget-summary>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:var(--card);border:1px solid var(--border);padding:15px 19px;border-radius:12px;min-width:0}.daily-budget-summary>div>span{font-size:11px;color:var(--muted)}.daily-budget-summary strong{font-family:Outfit,system-ui,sans-serif;font-size:22px;color:var(--mint);line-height:1.25;font-weight:600}.daily-budget-summary strong.danger{color:var(--danger)}.daily-budget-summary strong small{display:inline;color:inherit;font-size:11px;font-weight:400;margin-left:3px}.daily-budget-summary>div>small{font-size:9px;color:var(--muted)}.daily-content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}.daily-days-card,.daily-category-card{padding:21px}.daily-spend-list{display:grid;margin-top:12px;max-height:505px;overflow:auto;scrollbar-width:thin}.daily-spend-row{display:grid;grid-template-columns:62px minmax(28px,1fr) 100px 74px;align-items:center;gap:10px;padding:13px 8px;border:1px solid transparent;border-bottom:1px solid var(--border);border-radius:8px;font-size:11px;min-height:54px;text-align:left;background:transparent;font-weight:500;--daily-color:#0f766e}.daily-spend-row:last-child{border-bottom-color:transparent}.daily-spend-row:hover,.daily-spend-row.is-selected{background:var(--soft);border-color:var(--border);color:var(--text)}.daily-spend-row.is-selected .daily-day{color:var(--primary);font-weight:700}.daily-day{display:block;white-space:nowrap}.daily-day small{display:block;color:var(--muted);font-size:8px}.daily-meter{display:block;position:relative;height:8px;background:var(--bg);border:1px solid var(--border);border-radius:12px;min-width:0}.daily-meter>i{display:block;height:100%;min-width:0;background:var(--daily-color);border-radius:12px}.daily-spend-row.near{--daily-color:#b77908}.daily-spend-row.over{--daily-color:#c14853}.daily-spend-row.refund{--daily-color:var(--primary)}.daily-spend-amount{text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.daily-spend-ratio{background:var(--mintbg);color:var(--mint);border-radius:5px;padding:3px 6px;text-align:center;font-size:9px}.daily-spend-row.near .daily-spend-ratio{background:#fff0cc;color:#805300}.daily-spend-row.over .daily-spend-ratio{background:#fde8eb;color:#a62237}.daily-spend-row.unrecorded .daily-spend-ratio{background:var(--bg);color:var(--muted);font-size:8px}.daily-overspend{grid-column:2/-1;color:var(--danger);text-align:right;font-size:9px;margin-top:-6px}.daily-key{display:flex;gap:13px;flex-wrap:wrap;margin:16px 0 8px;font-size:9px;color:var(--muted)}.daily-key i,.category-spend-label>span>i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;flex-shrink:0}.daily-key .within{background:#0f766e}.daily-key .near{background:#b77908}.daily-key .over{background:#c14853}.daily-category-card .date-label input{font-size:11px;padding:8px;min-height:38px;max-width:145px}.day-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--border);padding:16px 0;margin-bottom:14px}.day-totals>span{display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--muted)}.day-totals strong{font-size:13px;color:var(--text);font-weight:650}.daily-category-bars{display:grid;gap:7px}.category-spend-row{display:grid;gap:7px;background:transparent;border:1px solid transparent;padding:11px 0;text-align:left;min-height:70px}.category-spend-row:hover{background:var(--bg);color:var(--text);border-color:var(--border);padding-left:9px;padding-right:9px}.category-spend-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:500}.category-spend-label>span{display:flex;align-items:center;min-width:0}.category-spend-label strong{font-size:12px;white-space:nowrap}.category-track{display:block;height:11px;border-radius:4px;position:relative;background:var(--bg);overflow:hidden}.category-track>i{display:block;position:absolute;top:1px;height:9px;border-radius:3px}.category-zero{position:absolute;top:0;bottom:0;width:1px;background:var(--muted);opacity:.5;z-index:2}.category-spend-row>small{font-size:9px;font-weight:400}.daily-detail-action{margin-top:10px;border-top:1px solid var(--border)}.refund-indicator{position:absolute;left:1px;top:-8px;color:var(--primary);font-size:15px}.source-detail-header{display:flex;align-items:center;gap:14px}.source-detail-header .big-number{margin:3px 0}.source-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.incoming-note{display:block;margin:-9px 0 10px 48px;color:var(--mint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=dark] .daily-spend-row{--daily-color:#4bc4a1}[data-theme=dark] .daily-spend-row.near{--daily-color:#e4af48}[data-theme=dark] .daily-spend-row.over{--daily-color:#f08b96}[data-theme=dark] .daily-spend-row.near .daily-spend-ratio{background:#463619;color:#ffd48c}[data-theme=dark] .daily-spend-row.over .daily-spend-ratio{background:#48242e;color:#ffbac6}
@media(max-width:1150px){.source-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-content-grid{grid-template-columns:minmax(0,1fr)}.daily-spend-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-height:500px}.daily-spend-row{grid-template-columns:48px minmax(20px,1fr) 90px 64px;gap:7px;font-size:10px}.source-large .source-balance{font-size:25px}.daily-budget-summary>div{padding:13px}.daily-budget-summary strong{font-size:20px}}
@media(max-width:800px){.source-large{min-height:175px;padding:17px}.source-large .source-brand strong{font-size:12px}.source-large .source-balance{font-size:23px}.source-large .source-type{font-size:7px;letter-spacing:.5px}.source-card-caption{font-size:8px}.source-card{padding:15px}.source-sparkline{width:80px}.daily-section>.card-title{align-items:flex-start;flex-wrap:wrap}.daily-budget-summary{gap:8px}.daily-budget-summary>div{padding:12px 10px;gap:6px}.daily-budget-summary>div>span{font-size:9px}.daily-budget-summary>div>small{font-size:8px}.daily-budget-summary strong{font-size:18px;overflow-wrap:anywhere}.daily-spend-list{grid-template-columns:1fr}.daily-spend-row{grid-template-columns:56px minmax(28px,1fr) 90px 74px;font-size:11px;gap:8px}.daily-days-card,.daily-category-card{padding:17px}.source-brand .account-artwork,.source-large .source-brand .account-artwork{width:28px;height:28px}.daily-content-grid{gap:12px}.source-card-top{align-items:flex-start}.source-bank-grid{gap:10px}.source-wallet-grid{gap:10px}.source-large .source-sparkline{max-width:40%;width:90px;height:45px}.source-large .source-card-bottom{padding-top:17px}.source-detail-actions>button{flex:1;min-width:125px}}
@media(max-width:430px){.source-bank-grid{grid-template-columns:1fr}.source-large{min-height:182px}.source-large .source-brand strong{font-size:14px}.source-large .source-balance{font-size:27px}.source-card-caption{font-size:7px}.source-balance{font-size:18px}.source-type{font-size:7px}.source-brand strong{font-size:11px}.source-card-bottom{padding-top:18px}.source-wallet-grid .source-sparkline{display:none}.source-wallet-grid .source-card{min-height:137px}.source-wallet-grid .source-card-caption{font-size:7px}.daily-budget-summary{grid-template-columns:1fr}.daily-budget-summary>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px}.daily-budget-summary>div>span{font-size:11px}.daily-budget-summary>div>small{font-size:9px;grid-column:1/-1}.daily-budget-summary strong{font-size:20px}.daily-spend-row{grid-template-columns:47px minmax(15px,1fr) 82px 65px;gap:6px;padding:12px 4px;font-size:10px}.daily-spend-ratio{font-size:8px;padding:3px 4px}.daily-key{font-size:8px;gap:8px}.day-totals strong{font-size:12px}.category-spend-label{font-size:11px}.daily-category-card .card-title{gap:6px}.segmented button{font-size:10px;min-height:40px}.source-detail-header .big-number{font-size:25px}}

.daily-spend-row.no-budget{--daily-color:var(--primary)}.daily-spend-row.no-budget .daily-spend-ratio{background:var(--soft);color:var(--primary)}.daily-spend-amount{min-width:0;overflow-wrap:anywhere}.segmented button{min-height:44px}.daily-category-card .date-label input{min-height:44px}
/* Sakuu: bright little details, with the numbers still doing the talking. */
:root{--bg:#fafbf7;--fun-mint:#e4f6e9;--fun-lilac:#f0eaff;--fun-yellow:#fff1bd;--fun-pink:#ffe9ef;--hover-border:#b5a5ef;--hover-shadow:#4338ca32}
[data-theme=dark]{--bg:#101322;--fun-mint:#193b32;--fun-lilac:#30284a;--fun-yellow:#3d3420;--fun-pink:#3c2836;--hover-border:#a596ec;--hover-shadow:#a5b4fc32}
.card{border-radius:21px;border-width:1.5px;isolation:isolate}.sidebar{background:var(--card)}nav button{border-radius:13px}nav button.active{box-shadow:3px 3px 0 #4338ca12}.page-head h1{font-size:30px;letter-spacing:-.7px}.eyebrow{letter-spacing:1.6px;font-size:9px}.card-title h2,.card-title h3{display:flex;align-items:center;gap:8px}.section-emoji{font-size:20px;line-height:1;flex-shrink:0;display:inline-grid;place-items:center;width:29px;height:29px;transform:rotate(-5deg)}.category-label{display:flex;align-items:center;gap:7px}.category-emoji{display:inline-grid;place-items:center;width:25px;height:25px;flex-shrink:0;font-size:18px;line-height:1;margin-right:5px}.category-spend-label>span{gap:3px}.category-spend-row{border-radius:12px}.stat{position:relative;min-height:155px}.stat-sticker{width:40px;height:40px;font-size:27px;border-radius:12px;background:var(--fun-lilac);transform:rotate(6deg);box-shadow:2px 3px 0 #4338ca0d}.stat:first-child .stat-sticker{background:#ffffff22;box-shadow:2px 3px 0 #18134b18}.stat:nth-child(2) .stat-sticker{background:var(--fun-pink);transform:rotate(-5deg)}.stat:nth-child(3) .stat-sticker{background:var(--fun-mint)}.stat:nth-child(4) .stat-sticker{background:var(--fun-yellow);transform:rotate(-7deg)}.stats{gap:15px}.stat:first-child{background:#4b3dc8;box-shadow:0 4px 0 #33229720}.big{font-size:clamp(23px,2.2vw,31px)}.stat-head{font-size:11px}.stat .big{margin-top:10px}.stat small{font-size:10px}
.playful-quick{background:var(--fun-mint);border-color:#bcdcc6;padding:19px 23px 13px;overflow:visible;position:relative;box-shadow:0 4px 0 #285e3b0b}.quick-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:104px;margin-bottom:5px}.quick-kicker{display:flex;gap:6px;align-items:center;color:var(--mint);font-size:9px;letter-spacing:1.4px;font-weight:700;margin-bottom:8px}.quick-kicker>span{font-size:15px}.quick-title{font-family:Outfit,system-ui,sans-serif;font-size:24px;line-height:1.2;letter-spacing:-.3px;font-weight:600;margin-bottom:7px}.quick-subtitle{font-size:11px;color:var(--muted)}.quick-art{position:relative;flex-shrink:0;width:164px;height:112px;display:flex;align-items:center;justify-content:center}.quick-art>img{object-fit:contain;width:154px;height:118px;transform:rotate(-5deg)}.sticker-note{position:absolute;z-index:2;right:-8px;top:0;display:block;background:#ffda5a;color:#45320e;font-family:Outfit,system-ui,sans-serif;font-size:12px;border:1.5px solid #b99a34;padding:3px 9px;border-radius:7px;transform:rotate(8deg);box-shadow:2px 2px 0 #8d6f2a20}.playful-quick .quick-row input{background:var(--card);border:1.5px solid #b9d2bf;border-radius:13px;min-height:51px;box-shadow:0 2px 0 #42684b07}.playful-quick .quick-row .primary{border-radius:13px;padding:12px 26px;box-shadow:0 3px 0 #30228230}.playful-quick .quick-bottom{margin-top:4px}.playful-quick .quick-bottom small{font-size:9px}.daily-budget-summary>div{border-radius:17px;border-width:1.5px}.daily-budget-summary>div:nth-child(1){background:var(--fun-mint);border-color:#bfd8c7}.daily-budget-summary>div:nth-child(2){background:var(--fun-lilac);border-color:#d7cbed}.daily-budget-summary>div:nth-child(3){background:var(--fun-yellow);border-color:#dfd09b}.daily-budget-summary>div:nth-child(2) strong{color:var(--primary)}.daily-budget-summary>div:nth-child(3) strong{color:#775007}[data-theme=dark] .playful-quick{border-color:#355a4d}[data-theme=dark] .playful-quick .quick-row input{border-color:#496755}[data-theme=dark] .daily-budget-summary>div:nth-child(1){border-color:#355a4d}[data-theme=dark] .daily-budget-summary>div:nth-child(2){border-color:#51476d}[data-theme=dark] .daily-budget-summary>div:nth-child(3){border-color:#675936}[data-theme=dark] .daily-budget-summary>div:nth-child(3) strong{color:#ffe099}[data-theme=dark] .daily-budget-summary>div:nth-child(3) strong.danger{color:var(--danger)}
.source-card{border-radius:22px;box-shadow:0 4px 0 #28204617}.source-livin{--source-bg:#ffd24c;color:#15345e;border-color:#d5ad35;box-shadow:0 4px 0 #b58a241c}.source-livin:hover{color:#15345e;border-color:#a67c20;filter:none}.source-livin::before{opacity:.38;filter:invert(1);mix-blend-mode:multiply}.source-livin .source-type,.source-livin .source-card-bottom small,.source-livin .source-card-caption{color:#25486c}.source-livin .source-sparkline{stroke:#23436b;opacity:.65}.source-livin .source-sparkline circle{fill:#23436b}.source-livin .card-chip{background:#dcb44e;border-color:#a67c20}.source-livin .card-chip i{border-color:#977321}.source-livin .card-chip i:nth-child(2){border-top-color:#e9ca76;border-bottom-color:#e9ca76}.source-livin .source-brand .account-artwork{background:#fff5cf;border-radius:10px}.source-cash{--source-bg:#1a7651}.source-gopay{--source-bg:#0787a3}.source-shopee{--source-bg:#c44d32}.goal-hero{position:relative;min-height:115px;border-radius:17px;padding-right:17px;overflow:hidden}.goal-hero>.rank-top{padding-right:44px;min-height:29px;align-items:center}.goal-illustration{position:absolute;right:5px;top:3px;object-fit:contain;transform:rotate(5deg)}.goal-hero .bar{height:8px}.sidebar-buddy{display:block;object-fit:contain;margin:-3px 0 2px}.note-box{border-radius:17px;background:var(--fun-lilac);position:relative;padding:13px}.note-box p:first-of-type{font-family:Outfit,system-ui,sans-serif;font-size:13px}.note-box p:last-of-type{font-size:10px}.sidebar-bottom{padding-top:20px}.empty-illustration{display:block;margin:0 auto 9px;opacity:.95;object-fit:contain}.empty{padding:26px 10px}.empty strong{font-family:Outfit,system-ui,sans-serif;font-size:15px}.primary{box-shadow:0 2px 0 #30228220}.pill{border-radius:8px}.auth-intro{position:relative;overflow:hidden}.auth-intro h1{position:relative;z-index:1;margin-bottom:12px}.auth-sticker-scene{display:flex;align-items:center;gap:17px;margin:0 0 9px;min-height:145px;position:relative}.auth-sticker-scene>img{transform:rotate(-7deg);object-fit:contain;flex-shrink:0}.auth-sticker{font-family:Outfit,system-ui,sans-serif;background:#ffda5a;color:#493415;border-radius:14px;padding:13px 17px;font-size:19px;line-height:1.1;transform:rotate(7deg);box-shadow:4px 5px 0 #11094a55;border:2px solid #fff2be;position:relative;left:-12px}.auth-intro .brand{position:relative;z-index:1}.banner{border-radius:15px}.quick-row input:focus{outline:3px solid #4338ca16;border-color:var(--primary)}.source-card:focus-visible,.card button:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.daily-spend-row.is-selected{box-shadow:inset 3px 0 0 var(--primary)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .card,.source-card,.daily-budget-summary>div{transition:transform .2s cubic-bezier(.2,.8,.25,1),box-shadow .2s ease,border-color .2s ease;will-change:auto}
 .card[data-cursor-hover],.daily-budget-summary>div[data-cursor-hover]{border-color:var(--hover-border);box-shadow:var(--shadow-x,0px) var(--shadow-y,14px) 31px -14px var(--hover-shadow),0 0 0 1px #9f8cdf20;transform:translateY(-3px)}
 .source-card[data-cursor-hover]{box-shadow:var(--shadow-x,0px) var(--shadow-y,14px) 26px -10px #24104f45,0 4px 0 #28204614;transform:translateY(-5px);border-color:#ffffff9c}
 .source-livin[data-cursor-hover]{border-color:#9e7727;box-shadow:var(--shadow-x,0px) var(--shadow-y,14px) 26px -10px #a77e2342,0 4px 0 #a67c2018}
 .primary,nav button,.daily-spend-row,.category-spend-row{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
 .primary:hover{transform:translateY(-2px);box-shadow:0 5px 0 #30228220}
 nav button:hover{transform:translateX(3px)}.daily-spend-row:hover,.category-spend-row:hover{box-shadow:2px 3px 0 #4338ca0b}
 .quick-art>img,.goal-illustration,.stat-sticker,.section-emoji{transition:transform .3s cubic-bezier(.2,.9,.3,1.4)}
 .playful-quick[data-cursor-hover] .quick-art>img{transform:rotate(4deg) translateY(-4px)}.card[data-cursor-hover] .stat-sticker{transform:rotate(-8deg) translateY(-2px)}.card[data-cursor-hover] .section-emoji{transform:rotate(7deg)}.goal-hero:hover .goal-illustration{transform:rotate(-6deg) translateY(-3px)}
 .primary:active,.source-card:active{transform:translateY(1px) scale(.99);box-shadow:0 1px 0 #30228220}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card[data-cursor-hover],.source-card[data-cursor-hover],.daily-budget-summary>div[data-cursor-hover]{transform:none!important}.quick-art>img,.goal-illustration{transform:none}.primary:active{transform:none}}
@media(max-width:1150px){.quick-title{font-size:22px}.quick-art{width:139px}.quick-art>img{width:140px}.stat-sticker{width:34px;height:34px;font-size:23px}.auth-sticker-scene{gap:0}.auth-sticker-scene>img{width:160px}.auth-sticker{font-size:16px;padding:11px 14px}}
@media(max-width:800px){.page-head h1{font-size:27px}.quick-intro{min-height:100px;gap:7px}.quick-kicker{font-size:8px;letter-spacing:1px}.quick-title{font-size:22px}.quick-subtitle{font-size:10px;max-width:260px}.quick-art{width:112px;height:99px}.quick-art>img{width:120px;height:100px}.sticker-note{right:-5px;font-size:9px;padding:3px 6px;top:1px}.playful-quick{padding:15px 17px 10px}.stat{min-height:142px}.stat-sticker{width:32px;height:32px;font-size:22px}.card{border-radius:19px}.source-card{border-radius:20px}.section-emoji{font-size:18px;width:25px;height:25px}.auth-sticker-scene{position:absolute;right:10px;bottom:12px;opacity:.95;margin:0;min-height:0}.auth-sticker-scene>img{width:105px;height:86px}.auth-sticker{display:none}.auth-intro{padding-right:112px}.auth-intro h1{font-size:34px}.auth-intro>p{font-size:11px}.auth-intro .brand{font-size:28px;min-width:260px}.auth-intro>div:last-child{font-size:9px!important;max-width:200px}.category-emoji{width:22px;height:22px;font-size:16px}}
@media(max-width:430px){.quick-title{font-size:20px;max-width:200px}.quick-subtitle{font-size:9px;max-width:180px}.quick-art{width:88px;height:92px}.quick-art>img{width:100px;height:91px}.quick-kicker{font-size:7px;letter-spacing:.7px;max-width:190px}.sticker-note{font-size:8px;right:-7px;top:-1px}.quick-intro{gap:2px;min-height:102px}.playful-quick .quick-row .primary{padding:10px 16px}.playful-quick .quick-row input{font-size:11px;padding:11px;min-height:47px}.stat .big{font-size:clamp(18px,5vw,22px)}.stat-head{font-size:10px;gap:4px}.stat-sticker{font-size:21px;width:28px;height:30px;flex-shrink:0}.auth-intro{padding-right:90px}.auth-intro h1{font-size:30px;letter-spacing:-.6px}.auth-sticker-scene{right:0;bottom:18px}.auth-sticker-scene>img{width:94px}.goal-hero>.rank-top{padding-right:35px}.goal-illustration{width:45px;height:45px}.card-title h2{gap:5px}.category-spend-label{font-size:10px}.section-emoji{font-size:17px;width:23px;height:23px}}
@media(max-width:800px){.auth-intro .brand{min-width:0;max-width:100%}}
/* Final visual polish: quiet depth, deliberate hierarchy, compact reports. */
:root{--surface-edge:#e1e2eb;--inset-highlight:#ffffffd9;--surface-shadow:#2e245c12;--pressed-shadow:#29204b20}
[data-theme=dark]{--surface-edge:#384058;--inset-highlight:#ffffff13;--surface-shadow:#00000040;--pressed-shadow:#00000066}
.card{border:1px solid var(--surface-edge);box-shadow:0 2px 3px #27203a04,0 8px 22px -18px var(--surface-shadow),inset 0 1px 0 var(--inset-highlight),inset 0 -1px 0 #2e245c05;border-radius:22px}.primary{box-shadow:0 2px 0 #30227690,inset 0 1px 0 #ffffff36,inset 0 -1px 0 #18124c18;background-image:linear-gradient(145deg,#ffffff0c,transparent)}[data-theme=dark] .primary{box-shadow:0 2px 0 #6f78b5,inset 0 1px 0 #ffffff5c}.primary:focus-visible{outline:3px solid #9d91e3;outline-offset:4px}.topbar{height:62px}.content{padding-top:23px}.page-head{margin-bottom:19px}.page-head h1{font-size:29px}.page-head .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:5px}.page-head .subtitle{font-size:12px}.banner{padding:10px 15px;font-size:11px;margin-bottom:17px;box-shadow:inset 0 1px 0 #ffffff4f}.banner button{min-height:34px}.playful-quick{padding:15px 21px 8px;margin-bottom:18px;box-shadow:0 2px 4px #245c3810,inset 0 1px 0 #ffffff8c,inset 0 -1px 0 #295f3b0b}.quick-intro{min-height:87px;margin-bottom:4px}.quick-title{font-size:23px;margin-bottom:6px}.quick-kicker{font-size:8px;margin-bottom:7px}.quick-art{height:94px;width:142px}.quick-art>img{width:137px;height:105px}.sticker-note{font-size:10px;right:-2px;padding:3px 8px}.quick-subtitle{font-size:11px}.playful-quick .quick-row input{min-height:48px}.playful-quick .quick-row .primary{min-height:48px;padding:10px 23px}.playful-quick .quick-bottom small{font-size:9px}.quick-bottom .text-btn{min-height:35px}.stats{gap:14px;margin-bottom:20px}.stat{min-height:139px;padding:18px 19px}.stat-head{font-size:11px;min-height:34px}.stat-icon.stat-sticker{width:39px;height:39px;box-shadow:none;background:transparent!important;transform:rotate(3deg)}.metric-art{display:block;width:40px;height:40px;flex-shrink:0}.stat:nth-child(2) .stat-sticker,.stat:nth-child(4) .stat-sticker{transform:rotate(-4deg)}.stat .big{font-size:clamp(23px,2.2vw,30px);margin:10px 0 6px;font-weight:600}.stat:first-child{box-shadow:0 5px 15px #4338ca16,inset 0 1px 0 #ffffff27,inset 0 -1px 0 #28206735}.stat-foot{margin-top:12px;padding-top:10px}.stat small{font-size:9px}.source-section{margin:23px 0 26px}.source-heading{align-items:center;margin-bottom:12px}.source-heading h2{font-size:17px}.source-heading .subtitle{font-size:11px;margin-top:2px}.source-actions{display:flex;align-items:center;gap:13px}.source-arrows{display:flex;gap:5px}.rail-arrow{border-radius:50%;width:33px;min-height:33px;height:33px;padding:0;font-size:25px;line-height:1;font-weight:400;box-shadow:0 2px 3px #2e245c09,inset 0 1px 0 var(--inset-highlight)}.source-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/4);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:3px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:3px 2px 10px;margin:0 -2px;min-width:0}.source-rail:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:15px}.source-rail>.source-card{scroll-snap-align:start;min-height:145px;height:145px;padding:15px 16px;border-radius:19px;box-shadow:0 3px 5px #2e245c0c,inset 0 1px 0 #ffffff3b,inset 0 -1px 0 #17154224}.source-rail .source-card .card-chip{display:none}.source-rail .source-brand{gap:6px}.source-rail .source-brand strong,.source-rail .source-large .source-brand strong{font-size:12px}.source-rail .source-brand .account-artwork,.source-rail .source-large .source-brand .account-artwork{width:28px;height:28px}.source-rail .source-type{font-size:7px;letter-spacing:.7px}.source-rail .source-card-bottom{padding-top:17px}.source-rail .source-balance,.source-rail .source-large .source-balance{font-size:24px;letter-spacing:-.1px}.source-rail .source-card-bottom small{font-size:7px;letter-spacing:1.5px}.source-rail .source-sparkline,.source-rail .source-large .source-sparkline{width:77px;height:37px;max-width:32%;opacity:.42;bottom:2px}.source-rail .source-card-caption{font-size:7px;margin-top:8px}.source-swipe-hint{display:none;font-size:9px;color:var(--muted);margin-top:5px}.info-button{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;min-height:24px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);font-size:11px;font-family:Georgia,serif;font-style:italic;font-weight:600;box-shadow:inset 0 1px 0 var(--inset-highlight);margin-left:3px}.info-button:hover{background:var(--soft);color:var(--primary)}.spending-hub{margin:18px 0 25px}.spending-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.spending-heading h2{font-family:Outfit,system-ui,sans-serif;font-size:24px;letter-spacing:-.5px;font-weight:600}.spending-heading .eyebrow{font-size:8px;margin-bottom:5px}.spending-heading .subtitle{font-size:11px}.view-tabs{display:flex;flex-shrink:0;gap:4px;padding:5px;border:1px solid var(--border);border-radius:15px;background:var(--card);box-shadow:inset 0 1px 0 #ffffff80,0 3px 8px #2e245c05}.view-tabs button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 17px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:10px;font-size:12px;font-weight:500;box-shadow:none}.view-tabs button .section-emoji{width:19px;height:19px;font-size:16px;transform:none}.view-tabs button[aria-selected=true]{color:var(--primary);background:var(--soft);border-color:#bcb1e845;box-shadow:0 2px 3px #3f338511,inset 0 1px 0 var(--inset-highlight);font-weight:650}.view-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}#spending-panel{outline-offset:5px;border-radius:18px}.spending-hub .daily-section{margin:0}.spending-hub .daily-section>.card-title{margin-bottom:2px}.spending-hub .daily-section>.card-title h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:550}.spending-hub .daily-section>.subtitle{font-size:10px}.segmented{border-radius:12px;padding:2px;box-shadow:inset 0 1px 0 var(--inset-highlight)}.segmented button{min-height:38px;font-size:10px;padding:6px 11px;border-radius:9px}.daily-budget-summary{margin:14px 0;gap:12px}.daily-budget-summary>div{padding:14px 17px;min-height:93px;border:1px solid var(--border);box-shadow:0 2px 2px #2e245c04,inset 0 1px 0 var(--inset-highlight),inset 0 -1px 0 #2e245c07}.daily-budget-summary strong{font-size:23px}.daily-budget-summary>div>small{font-size:8px}.daily-content-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:15px}.daily-days-card,.daily-category-card{padding:19px}.daily-spend-row{min-height:50px;padding:11px 7px;grid-template-columns:56px minmax(25px,1fr) 96px 64px;gap:8px;border-radius:10px}.daily-spend-row.is-selected{box-shadow:inset 3px 0 0 var(--primary),inset 0 1px 0 var(--inset-highlight)}.daily-spend-ratio{font-size:8px}.daily-overspend{font-size:8px}.daily-key{margin:13px 0 8px;font-size:8px;gap:10px}.daily-scope-note{font-size:9px;color:var(--muted);margin:12px 0 2px;line-height:1.6}.daily-scope-note>span{color:var(--primary);margin-right:3px}.daily-category-card .card-title h3{font-size:14px;font-weight:550;gap:5px}.daily-category-card .card-title{gap:8px}.daily-category-card .date-label input{font-size:10px;max-width:134px;min-height:38px;padding:7px}.category-spend-row{min-height:68px}.day-totals{padding:15px 0;margin-bottom:10px}.day-totals strong{font-size:14px}.category-spend-label{font-size:11px}.category-spend-label strong{font-size:13px}.category-emoji{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:25px;height:25px;font-size:16px;line-height:1;box-shadow:inset 0 1px 0 var(--inset-highlight)}.section-emoji{font-size:18px;width:25px;height:25px}.monthly-overview{margin:0}.monthly-overview .card-title h3{font-size:16px;font-weight:550}.monthly-overview .card-title{align-items:flex-start}.chart-controls{display:flex;align-items:center;gap:6px}.chart-controls select{max-width:170px;font-size:11px;min-height:38px;padding:8px}.chart-controls .info-button{margin-top:6px}.help-content{font-size:14px;color:var(--muted);line-height:1.8}.help-content p{margin:0 0 15px}.help-content p:last-child{margin-bottom:0}.card-title h2{font-size:16px}.note-box{box-shadow:inset 0 1px 0 var(--inset-highlight),0 4px 15px -13px #4338ca45}.daily-detail-action .text-btn{font-size:11px}.sidebar nav button{box-shadow:none}.sidebar nav button.active{box-shadow:inset 0 1px 0 var(--inset-highlight),0 2px 4px #4338ca0b;border:1px solid #a598df26}.source-rail button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.source-rail .source-livin{box-shadow:0 3px 5px #9e772715,inset 0 1px 0 #fff9d88a,inset 0 -1px 0 #aa812422}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.card[data-cursor-hover],.daily-budget-summary>div[data-cursor-hover]{box-shadow:var(--shadow-x,0px) var(--shadow-y,12px) 28px -17px var(--hover-shadow),inset 0 1px 0 var(--inset-highlight),inset 0 -1px 0 #2e245c09;border-color:var(--hover-border);transform:translateY(-2px)}.source-card[data-cursor-hover]{box-shadow:var(--shadow-x,0px) 8px 20px -12px #24104f50,inset 0 1px 0 #ffffff55,inset 0 -1px 0 #17154220;transform:translateY(-2px)}.source-rail>.source-card:hover{transform:translateY(-2px)}.source-rail .source-livin:hover{box-shadow:var(--shadow-x,0px) 8px 20px -12px #a77e2350,inset 0 1px 0 #fff9d8a8,inset 0 -1px 0 #aa812422}.primary:hover{box-shadow:0 4px 0 #3022768c,0 7px 12px -8px #4338ca70,inset 0 1px 0 #ffffff50;transform:translateY(-1px)}.primary:active{transform:translateY(1px);box-shadow:0 0 0 transparent,inset 0 2px 4px #18124c26}.view-tabs button:hover{transform:none}.stat[data-cursor-hover] .stat-sticker{transform:rotate(-3deg) translateY(-1px)}}
@media(max-width:1150px){.source-rail{grid-auto-columns:calc((100% - 28px)/3)}.daily-content-grid{grid-template-columns:1fr}.daily-spend-list{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-spend-row{grid-template-columns:49px minmax(22px,1fr) 87px 58px;gap:6px;font-size:10px}.spending-heading h2{font-size:23px}.daily-category-card .card-title{justify-content:space-between}.daily-category-card .date-label input{max-width:150px}.day-totals strong{font-size:15px}.stat .big{font-size:25px}.source-rail .source-brand strong{font-size:11px}.source-arrows{display:none}.source-swipe-hint{display:block}.card-title h2{font-size:15px}.view-tabs button{padding:8px 13px}}
@media(max-width:800px){.topbar{height:57px}.content{padding:20px 17px 105px}.page-head{gap:12px;margin-bottom:17px}.page-head h1{font-size:26px}.page-head .subtitle{font-size:11px}.page-head .controls input{width:140px;min-height:43px}.banner{padding:10px 12px;gap:8px;font-size:10px;line-height:1.65}.banner button{min-height:38px;font-size:10px}.playful-quick{padding:13px 15px 8px}.quick-intro{min-height:89px}.quick-title{font-size:22px}.quick-art{width:105px;height:91px}.quick-art>img{width:115px;height:96px}.sticker-note{font-size:9px;right:-4px}.quick-kicker{font-size:7px}.quick-subtitle{font-size:10px;max-width:220px}.stats{gap:11px}.stat{padding:15px;min-height:125px}.stat-head{font-size:10px;min-height:31px;gap:5px}.stat-icon.stat-sticker{width:32px;height:32px}.metric-art{width:34px;height:34px}.stat .big{font-size:25px;letter-spacing:-.8px}.stat small{font-size:9px}.stat-foot{font-size:9px;margin-top:9px;padding-top:8px}.source-section{margin:20px 0 23px}.source-heading h2{font-size:17px}.source-heading .subtitle{font-size:10px}.source-actions{gap:0}.source-actions .text-btn{font-size:10px}.source-rail{grid-auto-columns:minmax(225px,76%);gap:12px;padding-bottom:9px;scrollbar-width:none}.source-rail::-webkit-scrollbar{display:none}.source-rail>.source-card{height:148px;min-height:148px;padding:16px 18px}.source-rail .source-brand strong,.source-rail .source-large .source-brand strong{font-size:13px}.source-rail .source-balance,.source-rail .source-large .source-balance{font-size:27px}.source-rail .source-type{font-size:8px}.source-rail .source-sparkline{width:94px}.source-rail .source-card-caption{font-size:8px}.source-swipe-hint{margin-top:5px;font-size:9px}.spending-heading{flex-wrap:wrap;gap:13px;margin-bottom:17px}.spending-heading h2{font-size:24px}.spending-heading .eyebrow{font-size:7px}.spending-heading .subtitle{font-size:11px}.view-tabs{width:100%;border-radius:14px;padding:4px}.view-tabs button{flex:1;justify-content:center;min-height:45px;font-size:12px;border-radius:10px}.view-tabs button .section-emoji{font-size:16px}.daily-content-grid{grid-template-columns:1fr;gap:13px}.daily-spend-list{grid-template-columns:1fr;max-height:480px}.daily-spend-row{grid-template-columns:53px minmax(25px,1fr) 92px 64px;gap:7px;min-height:52px;font-size:11px}.daily-days-card,.daily-category-card{padding:17px}.daily-budget-summary{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(165px,67%);gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:1px 1px 8px;margin:13px -1px 10px}.daily-budget-summary::-webkit-scrollbar{display:none}.daily-budget-summary>div{display:flex;flex-direction:column;align-items:flex-start;min-height:108px;gap:5px;padding:14px 16px;scroll-snap-align:start}.daily-budget-summary>div>span{font-size:10px}.daily-budget-summary strong{font-size:23px}.daily-budget-summary>div>small{font-size:8px}.daily-scope-note{font-size:9px}.daily-section>.card-title{gap:8px;align-items:center;flex-wrap:wrap}.daily-section>.card-title h3{font-size:14px}.segmented{padding:2px}.segmented button{min-height:40px;font-size:9px;padding:7px 10px}.daily-category-card .card-title h3{font-size:14px}.daily-category-card .date-label input{font-size:10px;max-width:137px;min-height:42px}.chart-controls select{max-width:160px}.info-button{width:26px;min-height:26px;height:26px}.monthly-overview .card-title h3{font-size:15px}.category-label{font-size:11px}.bottomnav{height:76px;border-radius:21px 21px 0 0;box-shadow:0 -3px 18px #2119400b;border-top-color:var(--surface-edge);padding-bottom:env(safe-area-inset-bottom)}.bottomnav button{min-height:49px;padding:8px 10px;font-size:9px}.bottomnav .add{width:48px;min-width:48px;height:48px;min-height:48px;border-radius:17px;margin-top:-19px;box-shadow:0 3px 0 #30227680,0 8px 17px #4338ca25,inset 0 1px 0 #ffffff40;border:1px solid #ffffff24;font-size:29px;line-height:1}.bottomnav .add:active{transform:translateY(2px);box-shadow:0 1px 0 #30227680}.source-rail .source-sparkline,.source-rail .source-large .source-sparkline{max-width:35%;width:90px;height:42px}.category-spend-label{font-size:11px}.card-title .text-btn{font-size:10px}.help-content{font-size:13px;line-height:1.8}.modal-head h2{font-size:18px}}
@media(max-width:430px){.page-head h1{font-size:25px}.page-head .controls input{width:135px}.quick-intro{min-height:89px;gap:4px}.quick-title{font-size:20px;max-width:190px}.quick-subtitle{font-size:9px;max-width:185px}.quick-art{width:83px;height:88px}.quick-art>img{width:98px;height:87px}.sticker-note{font-size:8px;padding:3px 6px;right:-3px}.playful-quick .quick-row input{font-size:11px;padding:10px 11px;min-height:46px}.playful-quick .quick-row .primary{padding:9px 15px;min-height:46px}.stat{padding:13px 14px;min-height:122px}.stat-head{font-size:9px;min-height:31px;gap:4px}.stat .big{font-size:clamp(19px,5.3vw,22px);overflow-wrap:anywhere;margin-top:8px}.stat small{font-size:8px}.stat-icon.stat-sticker{width:30px;height:30px}.metric-art{width:32px;height:32px}.stat-foot{font-size:8px;line-height:1.5}.source-rail{grid-auto-columns:82%;gap:10px}.source-rail>.source-card{min-height:149px;height:149px;padding:15px 17px}.source-rail .source-brand .account-artwork{width:30px;height:30px}.source-rail .source-balance,.source-rail .source-large .source-balance{font-size:26px}.source-rail .source-card-caption{font-size:8px}.source-heading{gap:8px}.source-heading h2{font-size:16px;gap:4px}.source-heading .subtitle{font-size:9px}.source-actions .text-btn{font-size:9px;white-space:nowrap}.source-swipe-hint{font-size:8px}.spending-heading h2{font-size:22px}.daily-days-card,.daily-category-card{padding:15px}.daily-spend-row{grid-template-columns:43px minmax(18px,1fr) 81px 58px;gap:5px;font-size:10px;padding:11px 4px}.daily-spend-ratio{font-size:8px;padding:3px}.daily-key{font-size:8px;gap:7px}.day-totals{gap:7px}.day-totals strong{font-size:12px}.daily-category-card .card-title{flex-wrap:wrap;align-items:center;gap:9px}.daily-category-card .date-label input{max-width:139px}.daily-category-card .card-title h3{font-size:13px;gap:4px}.daily-category-card .subtitle{font-size:11px}.category-spend-label{font-size:10px}.category-spend-label strong{font-size:12px}.spending-hub .daily-section>.card-title h3{font-size:14px}.spending-hub .daily-section>.subtitle{font-size:9px}.daily-budget-summary{grid-auto-columns:74%}.daily-budget-summary>div{min-height:103px;padding:13px 14px}.daily-budget-summary strong{font-size:22px}.monthly-overview .card-title{flex-wrap:wrap}.monthly-overview .card-title h3{font-size:15px}.chart-controls{width:100%;justify-content:space-between}.chart-controls select{max-width:none;width:calc(100% - 34px)}.help-content{font-size:13px}.card-title h2{font-size:15px}}
.title-with-info{display:flex;align-items:center;gap:5px;min-width:0}.title-with-info>h2,.title-with-info>h3{display:flex;align-items:center;gap:6px}.segmented button{min-height:44px}
@media(max-width:800px){.info-button{width:36px;height:36px;min-height:36px}.daily-category-card .date-label input{min-height:44px}.title-with-info{gap:3px}}
@media(pointer:coarse){.info-button{width:44px;min-width:44px;height:44px;min-height:44px}.rail-arrow{width:44px;min-height:44px;height:44px}}
.quick-bottom{gap:8px}.quick-bottom small{flex:1;min-width:0;max-width:none}.quick-bottom .text-btn{flex-shrink:0;white-space:nowrap}
@media(max-width:800px){.quick-bottom .text-btn{font-size:10px}}
@media(max-width:800px){.daily-budget-summary{grid-auto-columns:224px}.daily-budget-summary strong{white-space:nowrap;overflow-wrap:normal;font-size:22px}.source-rail{grid-auto-columns:280px}}
@media(max-width:430px){.daily-budget-summary{grid-auto-columns:220px}.source-rail{grid-auto-columns:calc(100vw - 78px)}}
