@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:Manrope,Arial,sans-serif;color:#24372e;background:#f7f8f4;font-synthesis:none;font-weight:500;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:background .2s,transform .2s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #438965;outline-offset:4px}button:active{transform:translateY(1px)}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}.header{height:88px;border-bottom:1px solid #e4e8df;display:flex;align-items:center;gap:40px;padding:0 5.5%;background:#fafbf8}.brand{display:flex;align-items:center;font-size:25px;letter-spacing:-1.3px;font-weight:800;gap:10px}.brand-dot{color:#6e9d70;margin-left:-10px}.brandmark{display:grid;place-items:center;width:38px;height:40px;background:#254d39;color:#ecf3d7;border-radius:12px;transform:rotate(-5deg)}.header-note{font-size:12px;color:#7b867b}.local{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:11px;color:#647164}.local>span{height:6px;width:6px;border-radius:50%;background:#739271}main{max-width:1600px;margin:auto;padding:56px 5.5% 24px}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:54px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#7f8c7a}h1{font-size:clamp(28px,3.05vw,46px);letter-spacing:-1.9px;font-weight:650;margin:13px 0 12px;line-height:1.2}h1>span{color:#739475}.intro p{color:#7d867c;font-size:14px;margin:0}.total{text-align:right;display:flex;flex-direction:column;gap:7px;min-width:200px}.total>span{font-size:12px;color:#778273}.total strong{font-size:36px;font-weight:650;letter-spacing:-1.5px}.total small{color:#8b9284;font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}h2{font-size:20px;letter-spacing:-.55px;margin:0;font-weight:750}.count{font-size:11px;color:#73816f;background:#e8eddf;padding:4px 8px;border-radius:6px;vertical-align:middle;margin-left:8px}.primary{border:0;border-radius:9px;background:#294e39;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;font-size:12px;font-weight:650;min-height:44px}.primary:hover{background:#3c624b}.legend{display:flex;gap:19px;margin:19px 0 22px;color:#808979;font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;border-radius:50%}.legend .green{background:#7dbe93}.legend .yellow{background:#dfbc5f}.legend .red{background:#db9587}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:17px}.bucket{isolation:isolate;position:relative;overflow:hidden;border-radius:15px;border:1px solid #dce3d5;min-width:0;height:270px;text-align:left;padding:22px;color:#24372e;display:flex;flex-direction:column;box-shadow:0 3px 6px #24372e03;background:#eef3e8}.bucket:hover{transform:translateY(-4px);box-shadow:0 9px 24px #24372e0c}.bucket.green{--liquid:#b7d9b7;--surface:#c5e2c2}.bucket.yellow{--liquid:#f0d990;--surface:#f6e3ab;background:#f9f5e8;border-color:#e9dfbe}.bucket.red{--liquid:#efb3a6;--surface:#f7c8bc;background:#f9efea;border-color:#eedbd1}.liquid{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,var(--liquid),var(--surface));z-index:-1;transition:height .7s cubic-bezier(.22,1,.36,1),background .6s;min-height:0}.liquid:before{content:"";position:absolute;top:-4px;left:-5%;width:110%;height:10px;background:var(--surface);border-radius:50% 50% 0 0}.bucket-top{display:flex;align-items:center;justify-content:space-between;color:#53684f}.category-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#ffffff50}.bucket-body{margin-top:25px;display:flex;flex-direction:column;gap:5px}.bucket h3{margin:0 0 3px;font-weight:650;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bucket-body strong{font-size:clamp(23px,2.1vw,31px);font-weight:750;letter-spacing:-1.2px;overflow-wrap:anywhere;line-height:1.2}.bucket-body>span{font-size:11px;color:#4f614e}.bucket-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:4px}.bucket-bottom b{font-size:12px;margin-left:3px}.add-card{border:1px dashed #ccd7c4;border-radius:15px;min-height:270px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:transparent;color:#7c8a74}.add-card:hover{background:#eef2e8;border-color:#8ca27e}.add-card>span{height:42px;width:42px;display:grid;place-items:center;border:1px solid #d9e1d2;border-radius:50%;margin-bottom:3px}.add-card b{font-size:12px;font-weight:600}.add-card small{font-size:10px;color:#8d9785}.grid-hint{display:flex;align-items:center;gap:8px;font-size:10px;color:#8b9585;margin:17px 0 0}.empty-start{grid-column:1/-1;margin-top:24px;padding:46px 20px 36px;display:flex;align-items:center;flex-direction:column;border:1px solid #e1e7d9;background:radial-gradient(ellipse at top,#eaf1e0,transparent 65%),#fafbf7;border-radius:17px;text-align:center}.mini-buckets{height:110px;display:flex;align-items:end;gap:10px;transform:rotate(-4deg);margin-bottom:15px}.mini-buckets i{height:88px;width:62px;border:1px solid #bed3b8;border-radius:10px;background:linear-gradient(to top,#b7d9b7 75%,#eef3e8 75%)}.mini-buckets i:nth-child(2){height:100px;transform:rotate(7deg);border-color:#e4d49f;background:linear-gradient(to top,#f0d990 45%,#f9f5e8 45%)}.mini-buckets i:nth-child(3){height:82px;transform:rotate(10deg);border-color:#eac7bc;background:linear-gradient(to top,#efb3a6 15%,#f9efea 15%)}.empty-start h3{font-size:21px;letter-spacing:-.6px;margin:12px 0 0}.empty-start p{font-size:12px;line-height:1.9;color:#7b8575;margin-bottom:24px}.empty-hint{font-size:10px;color:#909887;margin-top:12px}.history{margin-top:52px}.muted{font-size:11px;color:#8a9383}.history-empty{display:flex;gap:17px;align-items:center;padding:30px 0;color:#808a77}.history-empty>span{display:flex;border-radius:12px;padding:14px;background:#edf1e7}.history-empty b{font-size:12px;font-weight:600;color:#60705b}.history-empty p{font-size:11px;margin:6px 0 0}.day h3{font-size:10px;font-weight:600;color:#87917e;margin:26px 0 9px}.transaction{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e6eadd}.tx-icon{display:grid;place-items:center;height:37px;width:37px;border-radius:11px;background:#eeeee5;color:#8b8971}.tx-icon.income{background:#e6efdf;color:#60834d}.tx-name{display:flex;flex-direction:column;gap:5px;min-width:0}.tx-name b{font-size:12px;overflow-wrap:anywhere}.tx-name span{font-size:10px;color:#8b9383}.transaction>strong{margin-left:auto;font-size:14px;white-space:nowrap}.transaction .positive{color:#60834d}.icon-button{display:grid;place-items:center;background:transparent;border:0;border-radius:7px;width:36px;height:36px;color:#83907d}.icon-button:hover{background:#e9eddf;color:#334b34}.delete-tx{opacity:.6}.delete-tx:hover{color:#b75549;background:#f8e9e4;opacity:1}footer{border-top:1px solid #e3e8dc;margin-top:46px;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:10px;color:#8b9483}footer>span:first-child{display:flex;gap:7px;align-items:center}footer small{flex-basis:100%;font-size:9px;color:#8a9382;line-height:1.7}dialog{width:min(440px,calc(100% - 24px));padding:0;border:1px solid #e1e6d9;border-radius:20px;background:#fafbf7;color:#24372e;box-shadow:0 24px 100px #1c35282b;max-height:90dvh}dialog::backdrop{background:#1e302e55;backdrop-filter:blur(5px)}.dialog-content{padding:27px}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-content h2{font-size:25px;margin:8px 0 24px;overflow-wrap:anywhere}.dialog-balance{font-size:12px;color:#7d8976;display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialog-balance strong{font-size:22px;color:#294b36}.tabs{display:flex;background:#eaf0e2;padding:4px;border-radius:10px;margin-bottom:24px}.tabs button{display:flex;align-items:center;justify-content:center;gap:8px;width:50%;border:0;background:transparent;border-radius:7px;padding:12px 0;font-size:12px;color:#6c7b62}.tabs button.selected{background:#fff;box-shadow:0 2px 5px #32442a0d;color:#294b36}label{display:flex;flex-direction:column;gap:10px;font-size:12px;margin-bottom:20px;font-weight:600}input{border:1px solid #d8e0ce;background:#fff;border-radius:9px;padding:15px;color:#24372e;width:100%;font-size:17px;outline:none}input:focus{border-color:#7b9c69;box-shadow:0 0 0 3px #e5eedb}input::placeholder{color:#a4ad9b}.full{width:100%;margin-top:14px}.form-hint{font-size:12px;line-height:1.8;color:#7c8875}.error{font-size:12px;background:#fbe8e2;color:#974439;padding:12px;border-radius:8px;line-height:1.7;margin:12px 0}.secondary{border:1px solid #d8e0ce;background:transparent;border-radius:9px;padding:12px;color:#52654a}.danger{background:#b65d4e}.danger:hover{background:#984537}.manage-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e3e8dc;margin-top:24px;padding-top:18px}.manage-actions button{display:flex;align-items:center;gap:7px;background:transparent;border:0;font-size:11px;color:#7a8971;padding:8px 0}.manage-actions .delete-link{color:#aa7167}.toast:not(:empty){position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#294e39;color:#fff;padding:14px 22px;border-radius:10px;box-shadow:0 5px 25px #203b3020;display:flex;align-items:center;gap:10px;z-index:5;max-width:90%;font-size:12px}@media(min-width:1400px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:760px){.header{height:72px;padding:0 5%}.header-note{display:none}main{padding:32px 5% 20px}.intro{align-items:start;flex-direction:column;gap:26px;margin-bottom:32px}h1{font-size:32px;letter-spacing:-1.3px}.intro p{font-size:12px}.total{text-align:left;border-left:2px solid #c8d8ba;padding-left:15px;gap:4px}.total strong{font-size:29px}.total small{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bucket{padding:16px;height:245px}.bucket-body{margin-top:23px}.bucket-body strong{font-size:24px}.bucket h3{font-size:12px}.bucket-bottom{font-size:9px;flex-wrap:wrap}.bucket-bottom svg{display:none}.add-card{min-height:245px}.primary{padding:12px;font-size:11px}h2{font-size:17px}.legend{font-size:9px;gap:11px}.section-heading{gap:8px}.count{margin-left:3px}.history{margin-top:35px}.transaction{gap:10px}.transaction>strong{font-size:12px}.delete-tx{width:32px}.muted{font-size:10px}footer{margin-top:32px}.empty-start{padding-top:30px}.empty-start h3{font-size:19px}.local{font-size:9px}.brand{font-size:23px}.bucket-body strong{overflow-wrap:anywhere}}@media(max-width:360px){.grid{grid-template-columns:1fr}.legend{flex-wrap:wrap}.bucket{height:250px}.bucket-body strong{font-size:30px}.section-heading>.primary{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important;animation:none!important}}:root{color-scheme:light;--app-safe-top:calc(max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));--app-safe-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px));--app-safe-left:calc(max(env(safe-area-inset-left,0px),var(--tg-safe-area-inset-left,0px)) + var(--tg-content-safe-area-inset-left,0px));--app-safe-right:calc(max(env(safe-area-inset-right,0px),var(--tg-safe-area-inset-right,0px)) + var(--tg-content-safe-area-inset-right,0px))}html{-webkit-text-size-adjust:100%}body{padding:var(--app-safe-top) var(--app-safe-right) var(--app-safe-bottom) var(--app-safe-left);min-height:100dvh}.toast:not(:empty){bottom:calc(24px + var(--app-safe-bottom))}dialog{overscroll-behavior:contain}@media(max-width:760px){.icon-button,.delete-tx{min-width:44px;min-height:44px}.manage-actions button{min-height:44px}dialog{top:calc(var(--app-viewport-top,0px) + var(--app-safe-top) + 12px);bottom:auto;margin:0 auto;width:min(440px,calc(100% - var(--app-safe-left) - var(--app-safe-right) - 24px));max-height:calc(var(--app-viewport-height,100dvh) - var(--app-safe-top) - var(--app-safe-bottom) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}}
