:root{font-family:Arial,Helvetica,sans-serif;color:#142c33;background:#f4f5f1;font-synthesis:none;--ink:#142c33;--teal:#13796c;--muted:#61716d;--border:#dce3dc;--red:#a84632}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7aa99e;outline-offset:3px}button{border:0;border-radius:9px;padding:11px 16px;background:transparent;color:inherit}button:hover{background:#e8eee7}.primary{background:var(--teal);color:white;font-weight:bold}.primary:hover{background:#0c6257}.quiet{border:1px solid var(--border);background:#fff}.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;padding:30px 20px;background:var(--ink);color:#e9eee8;display:flex;flex-direction:column;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-weight:bold;line-height:1.4}.mark{border:1px solid #65877f;width:39px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:23px}.brand small{display:block;font-size:10px;color:#b7c5be;font-weight:normal;margin-top:4px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav button{text-align:left;color:#e9eee8;font-size:14px}.sidebar nav button:hover,.sidebar nav button.active{background:#29473f}.sidebar .quiet{background:transparent;color:#e9eee8;border-color:#48645c;font-size:12px}.side-note{margin-top:auto;font-size:13px;line-height:1.9;color:#b7c5be}main{margin-left:224px;padding:35px 38px;max-width:1600px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}h1{font-size:32px;margin:7px 0;font-weight:600;letter-spacing:-.8px}h2{font-size:19px;letter-spacing:-.2px;margin:8px 0 16px}h3{font-size:15px;margin-top:24px}.eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:0}.header-actions{display:flex;align-items:center;gap:14px}.date-label{font-size:10px;color:var(--muted);gap:5px}.date-label input{font-size:12px;width:140px;padding:8px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.metric{padding:24px;background:white;border:1px solid var(--border);border-radius:12px;min-height:133px}.metric:nth-child(3){background:var(--ink);color:#fff}.metric h2{font-size:12px;font-weight:normal;color:var(--muted);margin:0 0 17px}.metric:nth-child(3) h2{color:#bdcfc7}.metric strong{font-size:31px;letter-spacing:-1px}.metric small{display:block;font-size:11px;line-height:1.6;margin-top:12px;color:var(--muted)}.metric:nth-child(3) small{color:#bdcfc7}.muted{color:var(--muted);font-size:12px;line-height:1.65}.warning{padding:15px 18px;background:#fbefdd;border:1px solid #ead7b7;border-radius:10px;margin:18px 0 26px;font-size:12px;line-height:1.6}.warning strong{font-size:14px;display:block;margin-bottom:5px}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.pill{font-size:10px;background:#edf2ec;padding:7px 9px;border-radius:20px;white-space:nowrap}.chart-row{display:block;width:100%;padding:12px 0;border-bottom:1px solid #eef0ec;border-radius:0;text-align:left}.chart-row:hover{background:#f7f9f5}.bar-label{display:flex;justify-content:space-between;gap:14px;font-size:12px;margin-bottom:9px}.bar-label b{font-size:12px;white-space:nowrap}.track{height:7px;background:#e7ece5;border-radius:9px;overflow:hidden;display:block}.fill{display:block;height:100%;background:var(--teal);border-radius:9px;min-width:0}.fill.over{background:var(--red)}.detail{margin-top:16px;padding-top:3px;font-size:12px;line-height:1.7}.detail h3{margin:4px 0 8px}.detail .numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.numbers span{padding:9px;background:#f4f6f1;border-radius:7px;font-size:10px}.numbers b{display:block;margin-top:4px;font-size:13px}.goals-panel{padding-top:4px}.goal{padding:20px 0;border-bottom:1px solid var(--border)}.goal:first-child{padding-top:8px}.goal-title{display:flex;justify-content:space-between;font-size:14px;font-weight:bold}.goal small{display:block;color:var(--muted);font-size:11px;margin:8px 0 13px;line-height:1.5}.goal .track{height:9px}.project-note{border-left:3px solid #b5c8bc;margin-top:24px;padding:4px 0 4px 15px;font-size:12px;line-height:1.7}.project-note b{display:block}.allocation{margin-top:28px;display:grid;grid-template-columns:1.4fr 1fr;gap:15px 30px}.allocation h2{margin-bottom:10px}.allocation-controls{display:flex;gap:12px;align-items:end}.allocation-controls input{max-width:160px}#allocation-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.allocation-chip{padding:10px 12px;background:#f0f5ed;border-radius:8px;font-size:11px}.allocation-chip b{display:block;margin-top:5px;font-size:13px}#allocation-note{grid-column:1/-1;margin:0}.daily{padding:28px 2px 4px}.daily p{font-size:13px;line-height:1.8;color:var(--muted);max-width:900px}.fund-card{padding:20px;background:white;border:1px solid var(--border);border-radius:11px}.fund-card p{font-size:12px;line-height:1.7;color:var(--muted)}.fund-card h3{margin:0 0 8px}.fund-card .numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;gap:6px}#funds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.small-print{font-size:12px;line-height:1.7;color:var(--muted)}.exports{display:flex;flex-wrap:wrap;gap:8px}.exports button{font-size:11px;padding:10px}.entry{display:grid;grid-template-columns:105px minmax(150px,1fr) 120px 35px;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);align-items:center}.entry time{font-size:12px;color:var(--muted)}.entry strong{font-size:13px}.entry small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.entry .amount{text-align:right;font-size:15px;font-weight:bold}.entry .amount.income{color:var(--teal)}.delete{font-size:19px;padding:7px;color:var(--muted)}.empty{padding:40px 20px;text-align:center;border:1px dashed #c3cec3;border-radius:12px;background:#fff;color:var(--muted);font-size:13px;line-height:1.8}footer{padding-top:32px;color:var(--muted);font-size:10px;line-height:1.7}dialog{border:1px solid var(--border);border-radius:14px;padding:26px;width:min(580px,calc(100vw - 24px));max-height:92vh;overflow:auto;background:#fbfcf8;color:var(--ink)}dialog::backdrop{background:#102a3299}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0 0 17px}.close{font-size:27px;line-height:1;padding:3px 8px;align-self:start}label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:10px 0}input,select,textarea{width:100%;border:1px solid #cbd5ca;border-radius:8px;background:#fff;padding:11px;color:var(--ink);min-width:0}textarea{min-height:68px;resize:vertical}.form-row{display:flex;gap:12px}.form-row label{flex:1;min-width:0}.check{flex-direction:row;align-items:center;line-height:1.6}.check input{width:17px;height:17px;flex-shrink:0}.type-switch{display:flex;gap:7px;flex-wrap:wrap}.type-switch label{background:#eef2e9;padding:9px;border-radius:7px;flex-direction:row;align-items:center;font-size:11px}.type-switch input{width:14px;margin:0}.full{width:100%;margin-top:13px}.error{color:var(--red);font-size:12px;line-height:1.6}.toast{padding:12px 16px;border-radius:9px;background:#e0eee5;margin-bottom:18px;font-size:12px}#target-inputs label{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center}#target-inputs input{width:130px}[hidden]{display:none!important}
@media(max-width:1050px){.sidebar{width:185px;padding:25px 15px}main{margin-left:185px;padding:25px}.two-col{grid-template-columns:1fr}.goals-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.goals-panel>h2,.goals-panel>.eyebrow,.project-note{grid-column:1/-1}.metrics{gap:10px}.metric{padding:18px}.metric strong{font-size:25px}.allocation{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{position:static;width:auto;bottom:auto;padding:18px 16px 10px;gap:14px}.brand{font-size:14px}.brand small{font-size:9px}.mark{height:33px;width:32px;font-size:19px}.sidebar nav{flex-direction:row;gap:5px}.sidebar nav button{font-size:11px;padding:9px 12px;flex:1;text-align:center}.side-note{display:none}.sidebar>#settings{position:absolute;right:15px;top:21px;font-size:10px;padding:8px}main{margin:0;padding:22px 16px 35px}header{align-items:start;gap:12px;margin-bottom:20px}h1{font-size:25px;letter-spacing:-.5px}.eyebrow{font-size:9px}.header-actions{flex-direction:column-reverse;align-items:end;gap:8px}.header-actions button{font-size:12px;padding:11px 13px}.date-label{font-size:9px;margin:0}.date-label input{width:132px;font-size:11px;padding:6px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{min-height:116px;padding:16px}.metric:nth-child(3){grid-column:1/-1;min-height:107px}.metric h2{font-size:10px;margin-bottom:13px}.metric strong{font-size:26px}.metric small{font-size:10px;margin-top:7px}.warning{margin:13px 0 20px;padding:13px;font-size:11px}.warning strong{font-size:12px}.panel{padding:18px}.section-head h2{font-size:17px}.bar-label{font-size:11px}.bar-label b{font-size:11px}.goals-panel{grid-template-columns:1fr;gap:0}.goal{padding:17px 0}.goal-title{font-size:13px}.project-note{font-size:11px}.allocation-controls{flex-wrap:wrap}.allocation-controls label{flex:1}.allocation-controls button{font-size:12px}.allocation-chip{font-size:10px}.allocation-chip b{font-size:12px}.section-head{flex-wrap:wrap}#funds-grid{grid-template-columns:1fr}.entry{grid-template-columns:72px minmax(0,1fr) 85px 24px;gap:7px}.entry time{font-size:10px}.entry strong{font-size:11px}.entry small{font-size:10px}.entry .amount{font-size:12px}dialog{padding:20px}.type-switch label{font-size:10px}input,select,textarea{font-size:16px}.type-switch input{font-size:11px}.form-row{gap:8px}#target-inputs label{grid-template-columns:minmax(0,1fr) 110px}#target-inputs input{width:110px}.detail .numbers{gap:4px}.numbers b{font-size:12px}}

input,select,textarea{font-size:16px}button{touch-action:manipulation;min-height:44px}.sync-state{font-size:12px;color:#bde1cc;padding:12px 0}.sync-state.offline{color:#ffce90}.pair-code{display:block;font-size:30px;letter-spacing:3px;padding:20px;background:#eff4ed;text-align:center;border-radius:12px}.device-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.login-shell{max-width:480px;margin:7vh auto;padding:24px}.login-shell h1{font-size:32px}.login-shell form{padding:24px;background:white;border:1px solid #dce3dc;border-radius:20px}.login-shell input{width:100%;margin:8px 0 20px}.login-shell label{display:block}.login-shell select{width:100%;margin:8px 0 20px}.login-shell .brand{margin-bottom:24px}dialog{max-height:90dvh;overflow:auto}dialog ol{padding-left:22px;line-height:1.7}#pair-url{overflow-wrap:anywhere}
@media(max-width:800px){.sidebar .side-note{display:none}.sidebar{flex-wrap:wrap}.sidebar #sync-state{width:100%;padding:0}.sidebar #connect-device{font-size:12px}.sidebar #logout{font-size:12px}.sidebar #settings{font-size:12px}.login-shell{margin-top:3vh}}

.quick-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.automation-section{margin-top:20px}.import-card{border:1px solid #dce3dc;border-radius:12px;padding:15px;margin:12px 0}.import-card.duplicate{background:#fff6e8}.import-card .check{font-weight:bold}.import-card .muted{overflow-wrap:anywhere}.priority-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0;font-size:13px}.priority-row input{width:75px}.insight-number{font-size:22px;font-weight:bold;display:block;margin:5px 0}.insight-bar{margin:12px 0}.insight-bar span{display:flex;justify-content:space-between;font-size:12px;gap:10px;margin-bottom:5px}#summary-text{margin-top:15px;min-height:220px}.preview-item{display:flex;justify-content:space-between;gap:10px;margin:9px 0;font-size:13px}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}#income-preview{padding:12px;background:#eff4ed;border-radius:10px;margin:12px 0}#income-preview:empty{display:none}.import-card .form-row{flex-wrap:wrap}.import-card label{font-size:12px}#import-rows{max-height:700px;overflow:auto}#merchant-rules .device-row{font-size:12px}#automation .panel>p{line-height:1.6;font-size:14px}#income-dialog .check input{flex:none;width:18px}.summary-notes{font-size:13px;line-height:1.7}
@media(max-width:650px){.quick-tools button{flex:1;min-width:150px}.sidebar nav button{padding:9px 6px;font-size:10px}.mapping-grid{grid-template-columns:1fr}.import-card .form-row label{flex-basis:45%}.quick-tools{gap:8px}.quick-tools button{font-size:12px}}

#insights .numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}#insights .numbers span{display:block;padding:13px}#insights .numbers b{font-size:18px}@media(max-width:650px){#insights .numbers{grid-template-columns:1fr}#insights .numbers b{font-size:20px}}
