:root{font-family:system-ui,-apple-system,sans-serif;color:#1e3151;background:#f8f8f2;font-synthesis:none;--blue:#2461eb;--muted:#61718a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#e4edff,transparent 55%),#f8f8f2}.shell{max-width:900px;margin:auto;padding:max(26px,env(safe-area-inset-top)) 18px max(32px,env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px}header small{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}h1{font-size:28px;letter-spacing:-1px;margin:5px 0}.brand-dot{color:var(--blue)}h2{font-size:20px;letter-spacing:-.4px;margin:6px 0 18px}#status{font-size:10px;color:#1858ab;background:#e4edff;border:1px solid #c9dcff;border-radius:30px;padding:8px 10px;max-width:140px;text-align:center}.card{background:#fff;border:1px solid #e2e7ef;border-radius:24px;padding:24px;margin-bottom:16px;box-shadow:0 5px 22px #24416706}.hero{color:#fff;background:linear-gradient(125deg,#2461eb,#1848c5);border-color:transparent;overflow:hidden}.hero small{color:#dce8ff;font-size:11px;font-weight:700;letter-spacing:1px}.big{font-size:44px;font-weight:800;letter-spacing:-1.4px;margin:12px 0}.hero p{font-size:13px;color:#e3ecff;margin:6px 0 20px}.hero button{background:#fff;color:#1b50c9}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.twocol .card{padding:20px}.income-card{background:#def7eb;border-color:#c4eadb;color:#075a40}.expense-card{background:#ffeadb;border-color:#f8d6bc;color:#923b13}.metric-icon{display:block;font-size:23px;margin-bottom:9px}.twocol small{font-size:10px;font-weight:800;letter-spacing:1px}.twocol h2{margin:8px 0 0;font-size:27px}.savings-card{background:#eaf1ff;border-color:#d3e1fc}.savings-card small{font-size:10px;font-weight:800;letter-spacing:1px;color:#365887}.savings-value{font-size:35px;font-weight:800;color:#1d52c6;letter-spacing:-1px}.savings-card p{font-size:13px;color:#405a80}.goal-box{border-top:1px solid #ccdbf7;padding-top:18px;margin-top:16px}.progress{height:9px;background:#ccd9f1;border-radius:20px;overflow:hidden}.progress div{height:100%;background:#2461eb;width:var(--progress,0);border-radius:20px}#goaltext{font-size:12px;font-weight:650}.page-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-heading small{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:700}.page-heading h2{font-size:24px;margin:6px 0 16px}.section-heading{flex-wrap:wrap;margin-bottom:14px}.section-heading h2{margin:0}.badge{white-space:nowrap;font-size:10px;font-weight:700;background:#e5edfd;color:#2355a5;padding:7px 10px;border-radius:20px}.month-selector{display:flex;align-items:center;gap:10px;margin:4px 0 18px}.month-selector select{margin:0;flex:1;text-align:center;font-weight:750;color:#244677;background:#fff}.month-selector button{font-size:24px;line-height:1;width:45px;padding:10px;flex-shrink:0}.tabs{display:flex;gap:6px;background:#e9edf5;padding:6px;border-radius:17px;margin:20px 0 26px;overflow:auto}.tabs button{flex:1;padding:12px 8px;background:transparent;color:#566881;font-size:12px;white-space:nowrap}.tabs button.selected{background:#fff;color:#1f57cf;box-shadow:0 2px 7px #2d487e15}label{display:block;font-size:13px;font-weight:600;color:#425777;margin:14px 0}input,select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #d5deec;background:#f8faff;color:#1e3151;padding:13px;border-radius:13px;font-size:16px;margin-top:7px;font-family:inherit}input[type=date]{appearance:none;-webkit-appearance:none;overflow:hidden}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}button{font-family:inherit;background:var(--blue);color:#fff;border:0;padding:13px 17px;border-radius:13px;font-size:13px;font-weight:750;min-height:44px;cursor:pointer}button.secondary{background:#edf2fb;color:#31558e;border:1px solid #d5e1f5}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ed9800;outline-offset:3px}.hidden{display:none!important}.note{font-size:12px;color:var(--muted);line-height:1.6}p{line-height:1.6}#message{font-size:13px;font-weight:600;color:#08734d;min-height:22px}.history-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.history-toolbar button{margin:0;min-height:44px}.entry{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid #e5ebf4}.entry>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.entry b{font-size:14px}.entry small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.entry strong{font-size:14px;white-space:nowrap}.entry.income strong{color:#087c59}.entry.expense strong{color:#bd480c}.entry .actions{display:flex;gap:5px}.entry button{background:#ffebe5;color:#a43424;padding:8px 10px;font-size:12px;min-height:38px}.entry .edit{background:#edf2fb;color:#31558e}.chart{display:flex;align-items:end;gap:8px;height:158px;overflow-x:auto}.chart>div{flex:1;min-width:25px;text-align:center;font-size:10px;color:var(--muted)}.chart .column{height:var(--height,3px);border-radius:6px 6px 0 0;background:#2461eb;min-height:3px}.chart .negative{background:#ef8e47}.chart span{display:block;margin-top:8px}.category-row{margin:15px 0}.category-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-bottom:8px}.category-top strong{white-space:nowrap}.category-track{height:8px;border-radius:20px;background:#eef2f8;overflow:hidden}.category-fill{height:100%;width:var(--share,0);border-radius:20px;background:var(--category-color,#2461eb)}.empty-state{padding:22px 0;color:var(--muted);font-size:13px;text-align:center}footer{text-align:center;font-size:11px;color:#8491a6;margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:700px){#home{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.page-heading,.month-selector,.hero,#home>.note{grid-column:1/-1}.hero .big{font-size:52px}.twocol{grid-column:1/-1}.twocol .card{display:flex;align-items:center;gap:15px}.twocol h2{margin:0 0 0 auto}.metric-icon{margin:0}#home>.card:last-of-type{grid-column:1/-1}}@media(max-width:430px){.shell{padding-left:14px;padding-right:14px}.card{padding:20px}.big{font-size:38px}.twocol h2{font-size:23px}.twocol .card{padding:17px}.entry{flex-wrap:wrap}.entry .actions{margin-left:auto}h1{font-size:24px}#status{max-width:108px;font-size:9px}.tabs button{font-size:11px;padding:12px 7px}.page-heading h2{font-size:21px}.badge{font-size:9px}}
.expense-ring{width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--slices));margin:10px auto 24px;display:grid;place-items:center}.expense-ring span{display:grid;place-items:center;width:96px;height:96px;background:white;border-radius:50%;font-size:15px;font-weight:800;color:#1e3151}
