:root{font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#142a35;background:#f3f5f1;font-synthesis:none;--ink:#162c35;--muted:#7b8a90;--primary:#1a5b73;--light:#edf6f3;--coral:#e58d75;--line:#e6eeeb}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bd6c9;outline-offset:2px}svg{stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}input,select{min-width:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.18;letter-spacing:-1.15px;margin-bottom:9px}h2{font-size:19px;letter-spacing:-.5px;margin-bottom:0}h3{font-size:16px;margin-bottom:10px}.shell{max-width:520px;margin:auto;padding:0 20px 108px;min-height:100vh}.site-head{height:86px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;background:#d6e9e7;border-radius:16px;display:grid;place-items:center;color:#205e68}.brand-mark svg{width:33px;height:33px}.brand-title{font-size:24px;font-weight:800;letter-spacing:-1.3px;line-height:1}.brand-period{color:#efad8d}.brand-caption{font-size:8.4px;font-weight:800;letter-spacing:1.5px;color:#89999d;margin-top:6px}.icon-btn{border:1px solid #e6eceb;background:#fff;border-radius:16px;width:43px;height:43px;display:grid;place-items:center;color:#284653}.icon-btn svg{width:22px;height:22px}.eyebrow{color:#6b858c;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:1.5px;margin-bottom:11px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.button{border:0;border-radius:16px;background:#19566c;color:white;padding:14px 18px;font-size:13px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:47px}.button svg{width:17px;height:17px}.button.light{background:#eff6f4;color:#225b64}.button.white{color:#19495b;background:#fff}.button.outline{color:#1a5b73;background:transparent;border:1px solid #cfdfdb}.button.ghost{background:transparent;color:#1a5b73;padding:9px 5px;min-height:30px}.button.wide{width:100%}.button.small-btn{padding:9px 13px;min-height:36px;border-radius:12px}.link-btn{border:none;background:transparent;color:#226077;font-weight:800;font-size:12px;padding:8px}.hero{border-radius:27px;background:#d5e4e5 url('assets/coast.svg') center center/cover;position:relative;isolation:isolate;overflow:hidden;min-height:295px;box-shadow:0 18px 35px rgba(36,82,80,.10);padding:27px 24px;display:flex;flex-direction:column;justify-content:space-between;margin-bottom:19px}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,45,64,.63),rgba(14,70,80,.1) 78%),linear-gradient(0deg,rgba(13,48,62,.3),transparent 60%);z-index:-1}.hero *{color:white}.hero .eyebrow{color:#d6eeed}.hero-title{font-size:27px;line-height:1.21;font-weight:700;letter-spacing:-1.15px;max-width:250px}.hero-total{font-size:36px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.hero-note{font-size:11px;color:#d9eceb;margin-top:6px}.hero-top{display:flex;justify-content:space-between;align-items:flex-start}.pill{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);backdrop-filter:blur(7px);color:white;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:800}.hero-footer{display:flex;align-items:end;justify-content:space-between;gap:10px}.hero-footer .button{border-radius:13px;padding:12px 14px;min-height:40px;flex-shrink:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px}.section-title .link-btn{margin-right:-7px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{background:#fff;border-radius:20px;border:1px solid #ecf0ec;box-shadow:0 3px 12px rgba(24,46,43,.025);padding:18px}.kpi-label{font-size:11px;color:#7f8d91;font-weight:700;margin-bottom:11px}.kpi-amount{font-size:22px;font-weight:800;letter-spacing:-.9px;white-space:nowrap}.kpi-foot{font-size:10px;color:#97a3a4;margin-top:8px}.positive{color:#287e72}.negative{color:#db856c}.progress{height:7px;border-radius:30px;background:#e8f0ee;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:#358d85;max-width:100%}.progress.warn i{background:#d59378}.progress.deep i{background:#1d6681}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tag{font-size:10px;font-weight:800;padding:7px 9px;border-radius:10px;background:#e8f3f0;color:#3d8474}.list-gap>*+*{margin-top:16px}.cat-name{font-size:12px;font-weight:700}.cat-amount{font-size:11px;color:#798a8c;font-weight:700}.category-row .progress{margin-top:9px}.category-row{margin-bottom:16px}.category-row:last-child{margin-bottom:0}.soft-panel{padding:18px;border-radius:19px;background:#e9f2ee;display:flex;align-items:flex-start;gap:12px;color:#315f66}.sparkle{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;background:#fff;border-radius:13px;color:#337e81;font-size:20px}.soft-panel strong{font-size:12px}.soft-panel p{line-height:1.65;font-size:12px;margin:6px 0 0;color:#527078}.bottom-nav{height:calc(79px + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);background:rgba(255,255,255,.97);border-top:1px solid #e9eeed;box-shadow:0 -8px 30px rgba(11,36,41,.035);display:grid;grid-template-columns:repeat(5,1fr);padding:11px 8px calc(10px + env(safe-area-inset-bottom,0px));z-index:15;backdrop-filter:blur(14px)}.nav-item{border:none;background:transparent;color:#92a0a2;display:flex;flex-direction:column;align-items:center;gap:5px;padding:3px 2px;font-size:9px;font-weight:800}.nav-item svg{width:21px;height:21px}.nav-item.active{color:#1a6376}.nav-item.active svg{stroke-width:2.4}.page-head{padding:14px 0 19px}.page-head p{line-height:1.6;margin-bottom:0;font-size:12px;color:#7c8d91}.toolrow{display:flex;gap:10px;align-items:center;margin-bottom:17px}.toolrow .button{flex:1}.search{width:100%;background:#fff;border:1px solid #e8eeeb;border-radius:14px;padding:13px 15px;color:#204455;font-size:13px;outline:none}.filter-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:13px 0 17px}.filter-row button{border:0;border-radius:12px;padding:9px 12px;background:#e8efed;color:#74898c;font-weight:800;white-space:nowrap;font-size:11px}.filter-row button.active{background:#245c6c;color:white}.tx-group{margin-bottom:23px}.tx-group-heading{font-size:11px;color:#7b8d90;font-weight:800;letter-spacing:.2px;margin:14px 0 9px}.tx-item{padding:13px 4px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf1ee}.tx-item:last-child{border-bottom:0}.tx-emoji{width:41px;height:41px;border-radius:14px;background:#edf4f1;display:grid;place-items:center;font-size:19px;flex-shrink:0}.tx-desc{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.tx-cat{font-size:10px;color:#89999b;margin-top:5px}.tx-money{margin-left:auto;text-align:right;white-space:nowrap;font-weight:800;font-size:12px}.tx-money small{display:block;color:#9aabaa;font-size:10px;font-weight:600;margin-top:4px}.tx-edit{color:#7b9ea4;padding:0;border:none;background:none}.tx-edit svg{width:17px;height:17px}.empty{text-align:center;padding:45px 25px;background:#fff;border:1px dashed #ccdcd5;border-radius:22px}.empty-icon{font-size:36px;margin-bottom:14px}.empty h3{margin:0 0 7px}.empty p{color:#8b989a;line-height:1.7;font-size:12px}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:11px;font-weight:800;color:#5f787d;margin-bottom:7px}.field input,.field select{width:100%;border:1px solid #dae6e3;border-radius:12px;padding:12px 13px;background:#fff;font-size:13px;color:#153a47}.field input::placeholder{color:#a7b2b2}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card-subtitle{color:#91a19f;font-size:11px;font-weight:700}.goal-card{background:#fff;border:1px solid #ebefec;border-radius:21px;padding:18px;margin-bottom:11px}.goal-emoji{width:45px;height:45px;border-radius:14px;background:#eaf3ef;display:grid;place-items:center;font-size:21px}.goal-name{font-size:14px;font-weight:800}.goal-detail{font-size:11px;color:#91a09e;margin-top:3px}.goal-values{font-size:12px;color:#7e9192;margin:15px 0 8px}.goal-values strong{color:#1d4551;font-size:15px}.goal-actions{display:flex;gap:8px;margin-top:15px}.goal-actions button{flex:1}.budget-item{display:grid;grid-template-columns:1fr 95px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e7efec}.budget-item:last-child{border-bottom:0}.budget-item input{text-align:right;width:95px;border:1px solid #e2eae7;padding:9px;border-radius:10px;color:#284b53;background:#fafcfa;font-size:12px}.budget-item label{font-weight:700;font-size:12px}.budget-item small{display:block;color:#91a09f;font-size:10px;margin-top:3px}.hero-mini{border-radius:20px;padding:19px;background:linear-gradient(115deg,#1c5262,#3c8a8c);color:#fff;margin-bottom:15px}.hero-mini .eyebrow{color:#badbd8}.hero-mini h2{font-size:26px;letter-spacing:-.9px;margin-bottom:6px}.hero-mini p{font-size:11px;color:#cde7e3;margin:0}.chart-scroll{display:flex;gap:9px;align-items:end;justify-content:space-between;height:163px;padding-top:15px}.bar-col{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px}.bar-pair{height:119px;display:flex;align-items:flex-end;gap:4px;width:100%;justify-content:center}.bar{border-radius:7px 7px 2px 2px;width:15px;min-height:2px;background:#9ed4c7}.bar.out{background:#2f7d8a}.chart-label{font-size:9px;font-weight:800;color:#94a0a0}.legend{display:flex;gap:16px;font-size:10px;color:#829491;margin-top:17px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;background:#9ed4c7}.legend span:nth-child(2):before{background:#2f7d8a}.donut-wrap{display:flex;align-items:center;gap:16px}.donut{width:128px;height:128px;flex:0 0 128px;border-radius:50%;background:conic-gradient(#e5ede9 0 100%);display:grid;place-items:center}.donut-center{width:86px;height:86px;background:#fff;border-radius:50%;display:grid;place-items:center;text-align:center}.donut-center strong{font-size:15px}.donut-center small{font-size:9px;color:#97a5a3}.legend-list{flex:1;min-width:0}.legend-row{display:flex;gap:7px;align-items:center;justify-content:space-between;margin:9px 0;font-size:10px;font-weight:700}.legend-row div{display:flex;gap:6px;align-items:center;min-width:0}.legend-row b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:700}.dot{width:9px;height:9px;flex:0 0 9px;border-radius:3px}.insight{border:1px solid #e7eeeb;background:#fff;border-radius:19px;padding:18px;margin-bottom:11px}.insight-label{font-size:10px;color:#6d9a91;letter-spacing:.7px;font-weight:800;text-transform:uppercase;margin-bottom:6px}.insight strong{font-size:14px}.insight p{font-size:12px;line-height:1.7;color:#708589;margin:8px 0 0}.modal-backdrop{position:fixed;inset:0;background:rgba(12,41,48,.48);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;z-index:30;padding:12px}.modal{background:#f7f9f6;width:min(100%,500px);max-height:90dvh;overflow:auto;border-radius:24px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.2)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{font-size:19px}.close-btn{border:0;background:#e9f0ee;width:31px;height:31px;border-radius:11px;color:#547078;font-size:20px}.import-review{max-height:45vh;overflow:auto;margin:14px 0;border:1px solid #e5edeb;border-radius:13px}.review-item{border-bottom:1px solid #e9efec;padding:11px 12px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.review-item:last-child{border-bottom:0}.review-item strong{font-size:11px}.review-item small{display:block;color:#8b9c9d;margin-top:4px}.callout{padding:12px;border-radius:13px;background:#e8f3ed;font-size:11px;color:#456d67;line-height:1.6;margin:13px 0}.callout.warn{background:#fff0e9;color:#a66b57}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(120px);background:#214d59;color:white;border-radius:14px;padding:12px 17px;box-shadow:0 10px 30px #244d5850;font-size:12px;z-index:80;min-width:220px;max-width:90%;text-align:center;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.banner{padding:13px 15px;border-radius:13px;background:#fdf4e8;color:#8b7054;font-size:11px;line-height:1.7;margin-bottom:15px}.toggle-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.number-edit{border:1px solid #dfebe7;border-radius:11px;padding:8px 10px;width:125px;text-align:right;background:#fafdfb;font-size:12px}.divider{height:1px;background:#e8eeea;margin:19px 0}.site-footer{text-align:center;color:#a2afac;font-size:10px;margin-top:30px;line-height:1.7}.section-stack>*+*{margin-top:12px}.no-scroll{overflow:hidden}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.select-month{border:1px solid #e3ece7;border-radius:12px;padding:9px 11px;background:#fff;color:#4a6870;font-weight:800;font-size:12px}.muted-line{font-size:11px;color:#8b9d9c;margin-bottom:17px;line-height:1.6}@media(min-width:600px){.shell{padding-left:24px;padding-right:24px}.hero{min-height:320px}.hero-title{max-width:350px}.bottom-nav{border-radius:20px 20px 0 0}}@media(max-width:370px){.shell{padding-left:14px;padding-right:14px}.hero{padding:20px}.hero-total{font-size:30px}.kpi-amount{font-size:19px}.brand-caption{letter-spacing:1px}.button{padding:12px}.donut{width:107px;height:107px;flex-basis:107px}.donut-center{width:70px;height:70px}}

/* My Flow 1.1: readable current-month picker over landscape */
.hero .select-month{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.46);color:#fff;max-width:132px;flex-shrink:0;padding:7px 9px;border-radius:18px;backdrop-filter:blur(9px)}
.hero .select-month option{color:#183f4e;background:#fff}
.hero-top>div:first-child{min-width:0;padding-right:12px}
button:disabled{opacity:.55;cursor:not-allowed}
