.greeting-header{justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.125rem 0 .25rem;display:flex}.greeting-header-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.greeting-avatar{background:var(--primary-soft);width:3rem;height:3rem;color:var(--primary);border:2px solid #fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 4px 12px #3bb27324}.greeting-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.greeting-header-text{text-align:left;min-width:0}.greeting-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin:.0625rem 0 0;font-size:1.0625rem;font-weight:800;line-height:1.3;overflow:hidden}.greeting-subtitle{color:var(--text-soft);margin:0;font-size:.8125rem;font-weight:500;line-height:1.35}.greeting-icon-btn{background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .18s,transform .18s;display:flex;position:relative}.greeting-icon-btn:active{transform:scale(.96)}.greeting-noti-btn{color:var(--text)}.greeting-noti-icon{width:1.375rem;height:1.375rem;display:block}.greeting-noti-badge{border:1.5px solid var(--bg);background:#e24b4b;border-radius:9999px;width:.45rem;height:.45rem;position:absolute;top:.45rem;right:.5rem}.subpage-header{width:100%;max-width:1080px;padding:max(calc(env(safe-area-inset-top,0px) + .5rem), calc(var(--bg-display-height) * .045)) 1.25rem .875rem;margin:0 auto}.subpage-header-bar{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.subpage-icon-btn{width:2.75rem;height:2.75rem;color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer;background:#fff;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .18s,transform .18s;display:flex;position:relative}.subpage-icon-btn:active{transform:scale(.96)}.subpage-noti-btn{color:var(--primary)}.subpage-noti-badge{background:var(--primary);border:1.5px solid var(--surface);border-radius:9999px;width:.5rem;height:.5rem;position:absolute;top:.5rem;right:.625rem}.subpage-header-text{text-align:left;margin-top:-1.875rem;margin-left:1rem}.subpage-title{color:var(--text);margin:0;font-size:clamp(1.125rem,4.2vw,1.75rem);font-weight:800;line-height:1.2}.subpage-subtitle{white-space:pre-line;color:var(--text-soft);margin:.3125rem 0 0;font-size:clamp(.75rem,3vw,1rem);font-weight:500;line-height:1.4}.main-layout-content{width:100%;max-width:1080px;margin:0 auto;padding-top:0}.main-layout-footer{z-index:20;width:min(100%,1080px);padding:.5rem .75rem max(.625rem, env(safe-area-inset-bottom,0px));background:#fff;border-top:none;border-radius:1.5rem 1.5rem 0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #3bb2731a}.main-layout-footer-nav{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.main-layout-nav-item{color:#9aa3b2;border-radius:1rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1875rem;min-width:0;padding:.25rem .25rem .125rem;font-size:.6875rem;font-weight:600;line-height:1.15;text-decoration:none;transition:background-color .18s,color .18s,transform .18s;display:flex}.main-layout-nav-icon{width:2.25rem;height:2.25rem;color:inherit;border-radius:9999px;justify-content:center;align-items:center;transition:color .18s,background-color .18s;display:flex}.main-layout-nav-svg{width:1.375rem;height:1.375rem;display:block}.main-layout-nav-img{object-fit:contain;width:2rem;height:2rem;display:block}.main-layout-nav-label{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;overflow:hidden}.main-layout-nav-item.is-active{color:var(--primary);background:0 0}.main-layout-nav-item.is-active .main-layout-nav-icon{background:var(--primary-soft);color:var(--primary)}.main-layout-nav-item:active{transform:scale(.96)}.page-tone{--page-tone-soft:transparent;--page-tone-accent:var(--primary)}.page-tone--green{--page-tone-soft:#e8f8ee;--page-tone-accent:#3bb273}.page-tone--pink{--page-tone-soft:#fdecf2;--page-tone-accent:#e07a9a}.page-tone--blue{--page-tone-soft:#e8f2ff;--page-tone-accent:#4d9eff}.page-tone--purple{--page-tone-soft:#f1ecfb;--page-tone-accent:#8b7bc8}.page-tone:not(.page-tone--neutral) .subpage-header-text:before{content:"";background:color-mix(in srgb, var(--page-tone-accent) 55%, white);border-radius:9999px;width:2.5rem;height:.1875rem;margin:0 0 .625rem;display:block}.page-tone:not(.page-tone--neutral) .subpage-noti-btn{color:color-mix(in srgb, var(--page-tone-accent) 80%, #4a4a4a)}.app-loading-screen{z-index:9999;background:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-loading-mark{will-change:transform;width:min(8.5rem,42vw);height:auto;animation:2.8s ease-in-out infinite app-loading-float;display:block}@keyframes app-loading-float{0%,to{transform:translateY(8px)}50%{transform:translateY(-10px)}}.app-loading-screen--inline{z-index:auto;background:0 0;height:100%;min-height:0;position:relative;inset:auto}.app-loading-screen--inline .app-loading-mark{width:min(4.75rem,30vw)}@media (prefers-reduced-motion:reduce){.app-loading-mark{animation:none}}.weather-hero{color:#fff;cursor:pointer;border-radius:1.5rem;min-height:0;padding:.75rem 1rem .8125rem;text-decoration:none;transition:transform .16s;display:block;position:relative;overflow:hidden;box-shadow:0 10px 24px #4d9eff38}a.weather-hero:visited,a.weather-hero:hover{color:#fff}a.weather-hero:active{transform:scale(.99)}.weather-hero--night{background:radial-gradient(18rem 10rem at 92% -10%,#ffffff29,#0000 62%),linear-gradient(135deg,#3a5f9a 0%,#2c4a7a 48%,#20375e 100%)}.weather-hero--day{background:radial-gradient(16rem 10rem at 92% -8%,#ffffff61,#0000 60%),linear-gradient(135deg,#7ec4ff 0%,#4d9eff 52%,#3b8ff0 100%)}.weather-hero--day.weather-hero--overcast{background:radial-gradient(16rem 10rem at 92% -8%,#ffffff2e,#0000 60%),linear-gradient(135deg,#90a8c0 0%,#6d86a0 52%,#5a738c 100%)}.weather-hero--night.weather-hero--overcast{background:radial-gradient(18rem 10rem at 92% -10%,#ffffff14,#0000 62%),linear-gradient(135deg,#4a5f78 0%,#35485e 52%,#243446 100%)}.weather-hero--day.weather-hero--rain,.weather-hero--night.weather-hero--rain{background:radial-gradient(16rem 10rem at 92% -8%,#b4d2ff29,#0000 60%),linear-gradient(135deg,#4d6d8c 0%,#35506c 52%,#24384f 100%)}.weather-hero--day.weather-hero--cold{background:radial-gradient(16rem 10rem at 92% -8%,#ffffff6b,#0000 60%),linear-gradient(135deg,#9fd8f5 0%,#6bb4de 52%,#4a90c4 100%)}.weather-hero--night.weather-hero--cold{background:radial-gradient(18rem 10rem at 92% -10%,#d2ebff24,#0000 62%),linear-gradient(135deg,#4a7a9b 0%,#355f80 52%,#23405c 100%)}.weather-hero--day.weather-hero--hot{background:radial-gradient(16rem 10rem at 92% -8%,#ffecaa80,#0000 60%),linear-gradient(135deg,#ffc14d 0%,#ff8a3d 52%,#f06a28 100%)}.weather-hero--night.weather-hero--hot{background:radial-gradient(18rem 10rem at 92% -10%,#ffb45038,#0000 62%),linear-gradient(135deg,#c45c26 0%,#8b3a1a 52%,#5c2412 100%)}.weather-hero-decor{pointer-events:none;position:absolute;inset:0}.weather-hero-moon{background:radial-gradient(circle at 35% 32%,#fff7d6 0%,#f0d48a 58%,#d9b45c 100%);border-radius:9999px;width:2.75rem;height:2.75rem;animation:4.5s ease-in-out infinite weather-glow;position:absolute;top:.45rem;right:1.25rem;box-shadow:0 0 18px #f0d48a59}.weather-hero-moon--dim{opacity:.45;filter:grayscale(.35);animation:none}.weather-hero-moon:after{content:"";opacity:.22;background:#2c4a7a;border-radius:9999px;width:2rem;height:2rem;position:absolute;top:.35rem;left:.9rem}.weather-hero-sun{background:radial-gradient(circle at 35% 32%,#fff4c2 0%,#ffd56a 55%,#f5b942 100%);border-radius:9999px;width:2.5rem;height:2.5rem;animation:3.6s ease-in-out infinite weather-sun-pulse;position:absolute;top:.4rem;right:1.15rem;box-shadow:0 0 18px #ffd56a66}.weather-hero-sun--dim{opacity:.35;filter:grayscale(.4);animation:none}.weather-hero-sun--pale{background:radial-gradient(circle at 35% 32%,#fff 0%,#d7eefc 55%,#b7d7f0 100%);box-shadow:0 0 16px #d2ebff73}.weather-hero-sun--hot{background:radial-gradient(circle at 35% 32%,#fff7c2 0%,#ffb347 50%,#ff7a1a 100%);width:2.85rem;height:2.85rem;animation:2.4s ease-in-out infinite weather-sun-hot;box-shadow:0 0 24px #ffa0288c}.weather-hero-star{background:#ffffffd9;border-radius:9999px;width:.28rem;height:.28rem;animation:2.4s ease-in-out infinite weather-twinkle;position:absolute}.weather-hero-star--a{top:.7rem;right:4.75rem}.weather-hero-star--b{opacity:.7;width:.2rem;height:.2rem;animation-delay:.6s;top:1.55rem;right:.7rem}.weather-hero-star--c{opacity:.55;width:.18rem;height:.18rem;animation-delay:1.2s;top:2.65rem;right:4.1rem}.weather-hero-cloud{background:#a8bacef2;border-radius:9999px;width:4.4rem;height:1.35rem;animation:8s ease-in-out infinite weather-cloud-drift;position:absolute;bottom:.45rem;right:.35rem;box-shadow:0 2px 8px #28466438}.weather-hero-cloud:before,.weather-hero-cloud:after{content:"";background:inherit;border-radius:9999px;position:absolute}.weather-hero-cloud:before{width:1.7rem;height:1.7rem;top:-.85rem;left:.7rem}.weather-hero-cloud:after{width:1.25rem;height:1.25rem;top:-.5rem;right:.7rem}.weather-hero-cloud--soft{opacity:.85}.weather-hero-cloud--a{opacity:1;background:#94a8bef5;width:5rem;bottom:.35rem;right:-.4rem}.weather-hero-cloud--b{opacity:.92;background:#8298b0eb;width:3.4rem;height:1.1rem;animation-duration:10s;animation-delay:-2s;bottom:.7rem;right:2.4rem}.weather-hero-cloud--c{opacity:.88;background:#768ca6e6;width:3.8rem;animation-duration:11s;animation-delay:-4s;bottom:-.15rem;right:.6rem}.weather-hero-rain,.weather-hero-snow{position:absolute;inset:0}.weather-hero-drop{background:linear-gradient(#fff0,#ffffffd9);border-radius:9999px;width:1.5px;height:11px;animation-name:weather-rain-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-12px}.weather-hero-flake{background:#ffffffe6;border-radius:9999px;animation-name:weather-snow-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8px;box-shadow:0 0 4px #ffffff8c}.weather-hero-haze{filter:blur(2px);background:#ffffff38;border-radius:9999px;width:4.5rem;height:.7rem;animation:3.2s ease-in-out infinite weather-haze;position:absolute;right:.4rem}.weather-hero-haze--a{bottom:.85rem}.weather-hero-haze--b{opacity:.7;width:3.4rem;animation-delay:-1.4s;bottom:.35rem;right:1.4rem}@keyframes weather-sun-pulse{0%,to{transform:scale(1);box-shadow:0 0 16px #ffd56a61}50%{transform:scale(1.08);box-shadow:0 0 26px #ffd56ab3}}@keyframes weather-sun-hot{0%,to{transform:scale(1);box-shadow:0 0 18px #ff961e80}50%{transform:scale(1.12);box-shadow:0 0 32px #ffaa28d9}}@keyframes weather-glow{0%,to{box-shadow:0 0 14px #f0d48a47}50%{box-shadow:0 0 22px #f0d48a8c}}@keyframes weather-twinkle{0%,to{opacity:.35}50%{opacity:1}}@keyframes weather-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(-14px)}}@keyframes weather-rain-fall{0%{opacity:0;transform:translateY(0)}12%{opacity:1}to{opacity:0;transform:translateY(7rem)}}@keyframes weather-snow-fall{0%{opacity:0;transform:translate(0,0)}12%{opacity:1}to{opacity:.15;transform:translate(-10px,7rem)}}@keyframes weather-haze{0%,to{opacity:.35;transform:translate(0)scaleX(1)}50%{opacity:.7;transform:translate(-10px)scaleX(1.12)}}@media (prefers-reduced-motion:reduce){.weather-hero-sun,.weather-hero-moon,.weather-hero-star,.weather-hero-cloud,.weather-hero-drop,.weather-hero-flake,.weather-hero-haze{animation:none}}.weather-hero-top{z-index:1;align-items:center;gap:.5rem;display:flex;position:relative}.weather-hero-location{color:#ffffffeb;align-items:center;gap:.375rem;min-width:0;max-width:calc(100% - 3.25rem);margin:0;font-size:.8125rem;font-weight:600;display:inline-flex}.weather-hero-location-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weather-hero-body{z-index:1;align-items:center;gap:.75rem;max-width:calc(100% - 3.5rem);margin-top:.5rem;display:flex;position:relative}.weather-hero-temp{letter-spacing:-.04em;margin:0;font-size:1.875rem;font-weight:800;line-height:1}.weather-hero-meta{color:#fff;text-shadow:0 1px 2px #143c7847;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:700;line-height:1.3;display:flex}.weather-hero-condition{letter-spacing:.01em;text-shadow:none;background:#ffffff3d;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:800;display:inline-flex}.weather-hero-humidity{font-size:.75rem;font-weight:700}.weather-page{flex-direction:column;gap:1rem;display:flex}.weather-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;gap:.75rem;padding:1rem 1.0625rem 1.0625rem;display:flex}.weather-card--loading{min-height:10rem}.weather-warning{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;gap:.65rem;padding:1rem 1.0625rem 1.0625rem;display:flex}.weather-warning--alert{background:linear-gradient(180deg, #fff6e8 0%, var(--surface) 48%)}.weather-warning-kicker{letter-spacing:.01em;color:#c47a12;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.75rem;font-weight:800;display:flex}.weather-warning-kicker span{color:var(--text-soft);font-weight:700}.weather-warning-title{color:var(--text);margin:0;font-size:.9375rem;font-weight:800;line-height:1.4}.weather-warning-meta{color:var(--text-soft);margin:0;font-size:.75rem;font-weight:600}.weather-warning-summary{color:var(--text);white-space:pre-wrap;margin:0;font-size:.875rem;font-weight:500;line-height:1.6}.weather-warning-empty{color:var(--text-soft);margin:0;font-size:.875rem;font-weight:500}.weather-warning-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.weather-warning-link{color:#c47a12;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.weather-warning-contact{color:var(--text-soft);margin:0;font-size:.75rem;font-weight:600}.weather-search{flex-direction:column;gap:.875rem;display:flex}.weather-search-grid{grid-template-columns:1fr 1fr;gap:.75rem .5rem;display:grid}.weather-search-field{flex-direction:column;gap:.375rem;min-width:0;display:flex}.weather-search-label{color:var(--text);font-size:.8125rem;font-weight:700}.weather-search-input{background:var(--surface-soft);width:100%;height:2.75rem;color:var(--text);font:inherit;border:none;border-radius:9999px;padding:0 .875rem}.weather-search-input:focus{outline:2px solid #afd3ff}select.weather-search-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.25rem}.weather-search-btn{color:#fff;height:2.75rem;font:inherit;cursor:pointer;background:#4d9eff;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.375rem;padding:0 .95rem;font-size:.875rem;font-weight:700;display:inline-flex}.weather-search-btn:disabled{opacity:.6;cursor:not-allowed}.weather-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.weather-empty,.weather-error{margin:0;font-size:.875rem}.weather-empty{color:var(--text-soft)}.weather-error{color:var(--danger)}.weather-settings-link{color:#fff;background:#4d9eff;border-radius:9999px;justify-content:center;align-self:flex-start;align-items:center;min-height:2.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.weather-hour-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.weather-hour-row{border-bottom:1px solid var(--surface-soft);align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.weather-hour-row:last-child{border-bottom:none;padding-bottom:0}.weather-hour-time{color:#4d9eff;min-width:3.25rem;margin:0;font-size:.875rem;font-weight:800}.weather-hour-body{flex:1;min-width:0}.weather-hour-cond{color:var(--text);margin:0;font-size:.9375rem;font-weight:700}.weather-hour-meta{color:var(--text-soft);margin:.125rem 0 0;font-size:.75rem;font-weight:500}.weather-hour-temp{color:var(--text);flex-shrink:0;margin:0;font-size:1.125rem;font-weight:800}.weather-board{border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);flex-direction:column;gap:1rem;padding:1rem 1.0625rem 1.125rem;display:flex}.weather-board-head{min-width:0}.weather-board-location{min-width:0;color:var(--text);align-items:center;gap:.4rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.weather-board-location span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weather-board-now{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.65rem .75rem;display:grid}.weather-board-glyph--sun{color:#f0b429}.weather-board-glyph--cloud{color:#7b8b9c}.weather-board-glyph--rain{color:#4d9eff}.weather-board-glyph--storm{color:#e89a2d}.weather-board-glyph--cold{color:#5aa3d4}.weather-board-temp-block{align-items:flex-start;gap:.3rem;display:flex}.weather-board-temp{letter-spacing:-.05em;color:var(--text);margin:0;font-size:3rem;font-weight:500;line-height:.9}.weather-board-unit{color:var(--text-soft);margin:.35rem 0 0;font-size:.8125rem;font-weight:600}.weather-board-metrics{min-width:0;color:var(--text-soft);font-size:.8125rem;font-weight:600;line-height:1.45}.weather-board-metrics p{margin:0}.weather-board-status{text-align:right;min-width:0}.weather-board-status-kicker,.weather-board-status-time,.weather-board-status-cond{margin:0}.weather-board-status-kicker{color:var(--text-soft);font-size:.75rem;font-weight:600}.weather-board-status-time{color:var(--text);margin-top:.125rem;font-size:.8125rem;font-weight:700}.weather-board-status-cond{color:var(--text-soft);margin-top:.125rem;font-size:.8125rem;font-weight:600}.weather-board-tabs{border-bottom:1px solid var(--surface-soft);gap:1.25rem;display:flex}.weather-board-tab{appearance:none;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin:0;padding:0 0 .5rem;font-size:.875rem;font-weight:700}.weather-board-tab.is-active{color:#4d9eff;border-bottom-color:#4d9eff}.weather-board-chart{height:9.5rem}.weather-board-chart-empty{height:100%;color:var(--text-soft);justify-content:center;align-items:center;margin:0;font-size:.875rem;font-weight:600;display:flex}.weather-board-days{scrollbar-width:none;gap:.25rem;margin:0 -.25rem;padding:.15rem .25rem .1rem;display:flex;overflow-x:auto}.weather-board-days::-webkit-scrollbar{display:none}.weather-board-day{min-width:3.35rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.85rem;flex-direction:column;flex:1 0 3.35rem;align-items:center;gap:.35rem;padding:.55rem .25rem .6rem;display:flex}.weather-board-day.is-active{background:#e8f2ff}.weather-board-day-name{color:var(--text);font-size:.75rem;font-weight:700}.weather-board-day-temps{gap:.3rem;font-size:.75rem;font-weight:700;display:flex}.weather-board-day-temps span{color:var(--text-soft)}@media (width<=420px){.weather-board-now{grid-template-columns:auto auto 1fr}.weather-board-status{text-align:left;grid-column:1/-1}}.hero{border-radius:var(--radius-card);color:#fff;position:relative;overflow:hidden}.home-error-banner{border-radius:var(--radius-control);color:var(--expense);background:#fdf2f0;border:1px solid #f3c6c2;margin:0;padding:.625rem .875rem;font-size:.875rem}.home-section{margin-top:0}.home-section-title{letter-spacing:-.01em;color:var(--text);align-items:center;gap:.5rem;margin:0;font-size:1.0625rem;font-weight:700;display:flex}.home-section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.home-see-all{color:var(--text-soft);align-items:center;gap:.125rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .16s;display:inline-flex}.home-see-all:hover{color:var(--primary)}.home-add-btn{border:1.5px solid color-mix(in srgb, var(--primary) 45%, white);color:var(--primary);background:#fff;border-radius:9999px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:background-color .16s,transform .16s;display:inline-flex;box-shadow:0 4px 12px #3bb2731f}.home-add-btn:active{transform:scale(.98)}.finance-overview-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.finance-overview-card .home-date-range{min-height:0;box-shadow:none;background:0 0;border-radius:0;padding:.875rem 1.05rem .625rem}.finance-overview-card .home-date-range:hover,.finance-overview-card .home-date-range:active{box-shadow:none;background:0 0}.finance-summary{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;gap:.75rem;padding:1rem 1.05rem 1.05rem;display:flex}.finance-overview-card .finance-summary{box-shadow:none;background:0 0;border-radius:0;padding-top:.75rem}.finance-summary-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.finance-summary-title{color:var(--text-soft);margin:0;font-size:.9375rem;font-weight:700}.finance-summary-actions{align-items:center;gap:.375rem;display:flex}.finance-summary-visibility-btn,.finance-summary-next{background:var(--surface-soft);width:2rem;height:2rem;color:var(--text-soft);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.finance-summary-visibility-btn:active,.finance-summary-next:active{transform:scale(.96)}.finance-summary-hero{padding:.125rem 0 .25rem}.finance-summary-hero-value{letter-spacing:-.04em;color:var(--navy);word-break:break-word;margin:0;font-size:2.125rem;font-weight:800;line-height:1.1}.finance-summary-hero--negative .finance-summary-hero-value{color:var(--expense)}.finance-summary-hero-label{color:var(--text-soft);margin:.375rem 0 0;font-size:.8125rem;font-weight:500}.finance-summary-stats{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.finance-summary-stat{text-align:left;border-radius:1.15rem;min-width:0;padding:.875rem .9rem .9375rem}.finance-summary-stat--income{background:#e8f8ee}.finance-summary-stat--expense{background:#fdecec}.finance-summary-stat-label{color:var(--text-soft);margin:0;font-size:.75rem;font-weight:600}.finance-summary-stat-value{color:var(--text);word-break:break-word;margin:.375rem 0 0;font-size:1.125rem;font-weight:800;line-height:1.2}.finance-summary-stat--income .finance-summary-stat-value{color:var(--income)}.finance-summary-stat--expense .finance-summary-stat-value{color:var(--expense)}.quick-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem;margin-top:.75rem;display:grid}.quick-menu-item{background:var(--surface);box-shadow:var(--shadow-soft);border-radius:1.25rem;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .25rem .5rem;text-decoration:none;transition:transform .16s;display:flex}.quick-menu-item:active{transform:scale(.97)}.quick-menu-icon-slot{width:3rem;height:3rem;box-shadow:none;background:#fff;border:none;border-radius:1.1rem;justify-content:center;align-items:center;display:flex}.quick-menu-item--green .quick-menu-icon-slot{background:#e8f8ee}.quick-menu-item--pink .quick-menu-icon-slot{background:#fdecf2}.quick-menu-item--blue .quick-menu-icon-slot{background:#e8f2ff}.quick-menu-item--purple .quick-menu-icon-slot{background:#f1ecfb}.quick-menu-icon-react--pink{color:#e07a9a}.quick-menu-icon-react--green{color:#3bb273}.quick-menu-icon-react--blue{color:#4d9eff}.quick-menu-icon-react--purple{color:#8b7bc8}.quick-menu-label{text-align:center;color:var(--text);font-size:.75rem;font-weight:600;line-height:1.3}.home-promo-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:.625rem;display:grid}.price-promo-card{border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);color:inherit;border:none;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.8125rem 2.75rem .875rem .875rem;text-decoration:none;transition:transform .16s;display:flex;position:relative;overflow:hidden}.price-promo-card:active{transform:scale(.98)}.price-promo-icon{background:var(--primary-soft);width:2.25rem;height:2.25rem;color:var(--primary);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.price-promo-card--pink .price-promo-icon{color:#e07a9a;background:#fdecf2}.price-promo-next{color:#2c4a7a;background:#fff;border-radius:9999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 4px 12px #1e50a029}.price-promo-card--pink .price-promo-next{color:#8a3d55;box-shadow:0 4px 12px #e07a9a29}.price-promo-copy{width:100%;min-width:0}.price-promo-title{color:var(--text);flex-wrap:wrap;align-items:center;gap:.3125rem;margin:0;font-size:.875rem;font-weight:800;line-height:1.3;display:flex}.price-promo-badge{color:#fff;letter-spacing:.02em;background:#e24b4b;border-radius:9999px;align-items:center;padding:.0625rem .375rem;font-size:.5625rem;font-weight:800;line-height:1.4;display:inline-flex}.price-promo-subtitle{color:var(--text-soft);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.1875rem 0 0;font-size:.6875rem;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.home-cycle-list{flex-direction:column;gap:.625rem;display:flex}.home-cycle-row{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);color:inherit;border:none;align-items:center;gap:.75rem;padding:.875rem 1rem;text-decoration:none;display:flex}.home-cycle-icon{background:var(--primary-soft);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.25rem;display:flex}.home-cycle-body{flex:1;min-width:0}.home-cycle-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9375rem;font-weight:700;overflow:hidden}.home-cycle-meta{color:var(--text-soft);margin:.125rem 0 0;font-size:.75rem;font-weight:500}.home-cycle-value{text-align:right;flex-shrink:0}.home-cycle-remaining-label{color:var(--text-soft);margin:0;font-size:.6875rem;font-weight:600}.home-cycle-remaining{color:var(--primary);margin:.0625rem 0 0;font-size:.9375rem;font-weight:700}.recent-tx-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;padding:.375rem 1rem;overflow:hidden}.recent-tx-list{flex-direction:column;gap:0;display:flex}.recent-tx-row{border-bottom:1px solid var(--surface-soft);align-items:flex-start;gap:.75rem;min-height:3.75rem;padding:.75rem 0;display:flex}.recent-tx-row:last-child{border-bottom:none}.recent-tx-icon{background:var(--surface-soft);border-radius:9999px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.recent-tx-icon-emoji{font-size:1.125rem;line-height:1}.recent-tx-icon-placeholder{background:color-mix(in srgb, var(--border) 80%, white);border-radius:9999px;width:1.125rem;height:1.125rem;display:block}.recent-tx-body{flex:1;min-width:0}.recent-tx-title{color:var(--text);white-space:normal;overflow-wrap:anywhere;margin:0;font-size:.9375rem;font-weight:700;line-height:1.35}.recent-tx-category{color:var(--text-soft);-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:.125rem 0 0;font-size:.75rem;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.recent-tx-meta{text-align:right;flex-shrink:0;min-width:5.25rem;padding-top:.0625rem}.recent-tx-amount{white-space:nowrap;margin:0;font-size:.9375rem;font-weight:700;line-height:1.35}.recent-tx-amount--income{color:var(--income)}.recent-tx-amount--expense{color:var(--expense)}.recent-tx-time{color:var(--text-soft);white-space:nowrap;margin:.125rem 0 0;font-size:.75rem;font-weight:500;line-height:1.35}.home-empty-text{text-align:center;color:var(--text-soft);margin:0;padding:.75rem .25rem;font-size:.875rem}.cycle-page{flex-direction:column;gap:1rem;display:flex}.cycle-card{border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-soft);background:#fff;border:none;padding:1.05rem 1.05rem 1.125rem}.cycle-card-top{grid-template-columns:4.5rem 1fr;align-items:start;column-gap:.75rem;display:grid;position:relative}.cycle-card-icon-wrap{background:var(--primary-soft);border:none;border-radius:9999px;flex-shrink:0;grid-area:1/1;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:flex}.cycle-card-icon{font-size:2.25rem;line-height:1}.cycle-card-info{grid-area:1/2;min-width:0;overflow:visible}.cycle-card-title{color:var(--text);margin:0;padding-right:8.5rem;font-size:1.0625rem;font-weight:800;line-height:1.25}.cycle-card-status{color:#fff;border-radius:9999px;margin-top:.25rem;padding:.125rem .625rem;font-size:.6875rem;font-weight:700;line-height:1.4;display:inline-block}.cycle-card-status--profit{background:var(--income)}.cycle-card-status--loss{background:var(--expense)}.cycle-card-status--nearBreakEven,.cycle-card-status--breakEven{background:#cd883a}.cycle-card-date{width:auto;color:var(--text-soft);align-items:center;gap:.3rem;margin:.125rem 0 0;font-size:.75rem;font-weight:500;display:flex}.cycle-card-date span{white-space:nowrap}.cycle-card-datecomein{white-space:nowrap;width:auto;color:var(--text-soft);margin:.125rem 0 0 .4rem;font-size:.75rem;font-weight:500}.cycle-card-datecomein--overdue{color:#e53935}.cycle-card-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.625rem;display:flex;position:absolute;top:0;right:0}.cycle-card-action-btn{background:var(--surface);min-height:2rem;box-shadow:var(--shadow-soft);cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:.3125rem;padding:.375rem .625rem;font-size:.75rem;font-weight:700;transition:background-color .15s,border-color .15s;display:inline-flex}.cycle-card-action-btn:disabled{opacity:.5;cursor:not-allowed}.cycle-card-action-btn--edit{color:var(--text-soft)}.cycle-card-action-btn--edit:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 40%, var(--border));background:#fff}.cycle-card-action-btn--delete{color:#fff;background:#e57373;border:1.5px solid #c85a5a;transition:transform .18s,filter .18s,box-shadow .18s;box-shadow:0 2px 6px #c85a5a33}.cycle-card-action-btn--delete:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 3px 8px #c85a5a42}.cycle-card-action-btn--delete:active:not(:disabled){filter:brightness(.98);transform:scale(.99)}.cycle-card-stats{background:var(--surface-soft);border:none;border-radius:1.15rem;grid-template-columns:.9fr 1.5fr .9fr .9fr;gap:0;margin-top:.875rem;display:grid;overflow:hidden}.cycle-stat{text-align:center;border-right:1px solid color-mix(in srgb, var(--border) 70%, white);flex-direction:column;align-items:center;gap:.1875rem;padding:.5625rem .25rem .6875rem;display:flex}.cycle-stat:last-child{border-right:none}.cycle-stat-icon{background:var(--surface-soft);border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.25rem;line-height:1;display:flex;overflow:hidden}.cycle-stat-icon--filled{background:0 0}.cycle-stat-icon.is-muted{opacity:.45}.cycle-stat-icon--capital{background-color:#e8f0fa}.cycle-stat-icon--income-expense{background-color:#edf5e8}.cycle-stat-icon--remaining{background-color:#edeaf8}.cycle-stat-icon--budget{background-color:#f5efe6}.cycle-stat-icon--filled.cycle-stat-icon--capital,.cycle-stat-icon--filled.cycle-stat-icon--income-expense,.cycle-stat-icon--filled.cycle-stat-icon--remaining,.cycle-stat-icon--filled.cycle-stat-icon--budget{background-color:#0000}.cycle-stat-label{color:var(--text-soft);font-size:.6875rem;font-weight:600;line-height:1.3}.cycle-stat-value{word-break:break-word;font-size:.8125rem;font-weight:800;line-height:1.3}.cycle-stat-value--capital{color:#2d6fbe}.cycle-stat-value--flow{color:var(--danger)}.cycle-stat-value--remaining{color:var(--balance)}.cycle-stat--income-expense{padding-left:.375rem;padding-right:.375rem}.cycle-stat--income-expense .cycle-stat-label{white-space:nowrap}.cycle-stat--income-expense .cycle-stat-value--flow{white-space:nowrap;font-size:.75rem}.cycle-stat--budget{padding-bottom:.5rem}.cycle-stat-progress{cursor:pointer;width:calc(100% - .5rem);margin-top:.25rem;position:relative}.cycle-stat-progress-track{background:#e4eaf3;border-radius:9999px;height:.5375rem;overflow:hidden}.cycle-stat-progress-tip{z-index:1;white-space:nowrap;opacity:0;pointer-events:none;background:#fffffff5;border-radius:.375rem;padding:.125rem .375rem;font-size:.5625rem;font-weight:700;line-height:1.2;transition:opacity .15s;position:absolute;bottom:calc(100% + .25rem);left:50%;transform:translate(-50%);box-shadow:0 1px 4px #4a4a4a1f}.cycle-stat-progress:hover .cycle-stat-progress-tip,.cycle-stat-progress.is-active .cycle-stat-progress-tip{opacity:1}.cycle-stat-progress-fill{pointer-events:none;border-radius:9999px;height:100%;transition:width .5s}.cycle-card-more-btn{background:var(--primary-soft);width:100%;min-height:2.25rem;color:var(--primary);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.25rem;margin-top:.85rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:800;transition:filter .15s,transform .15s;display:flex}.cycle-card-more-btn:hover{filter:brightness(.97)}.cycle-card-more-btn:active{transform:scale(.99)}.cycle-card-footer{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem;display:grid}.cycle-card-footer--single{grid-template-columns:1fr}.cycle-card-footer .cycle-card-more-btn,.cycle-card-footer .cycle-card-summary-btn{margin-top:0}.cycle-card-summary-btn{background:var(--primary-soft);width:100%;min-height:2.25rem;color:var(--primary);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.25rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:800;transition:filter .15s,transform .15s;display:flex}.cycle-card-summary-btn:hover:not(:disabled){filter:brightness(.97)}.cycle-card-summary-btn:active:not(:disabled){transform:scale(.99)}.cycle-card-summary-btn:disabled{opacity:.5;cursor:not-allowed}.cycle-summary-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(at top,#3bb2732e,#0000 46%),#1b24336b;justify-content:center;align-items:center;padding:1.25rem 1rem 5.5rem;display:flex;position:fixed;inset:0}.cycle-summary-modal{background:#fff;border:none;border-radius:28px;width:100%;max-width:400px;animation:.28s cubic-bezier(.22,1,.36,1) cycle-summary-pop;position:relative;overflow:hidden;box-shadow:0 18px 48px #2d6a4f33,inset 0 2px #ffffffb3}.cycle-summary-hero{background:radial-gradient(circle at 18% 0,#ffffff8c,#0000 42%),linear-gradient(#e8f8ee 0%,#c9ecd6 100%);flex-direction:column;align-items:center;padding:1.35rem 1.25rem 1.15rem;display:flex;position:relative}.cycle-summary-hero:after{content:"";pointer-events:none;background:#ffffff47;border-radius:9999px;width:6.5rem;height:6.5rem;position:absolute;top:-1.25rem;right:-1.25rem}.cycle-summary-close{z-index:1;color:#2d6a4f;cursor:pointer;background:#ffffffb8;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:absolute;top:.7rem;right:.7rem}.cycle-summary-close:hover{background:#fff}.cycle-summary-avatar{background:#f4fbf6;border:3px solid #fff;border-radius:9999px;justify-content:center;align-items:center;width:5.25rem;height:5.25rem;margin-bottom:.55rem;display:flex;overflow:hidden;box-shadow:0 8px 18px #3bb2732e}.cycle-summary-avatar-face{object-fit:contain;width:100%;height:100%;padding:.15rem;display:block}.cycle-summary-eyebrow{letter-spacing:.04em;color:#3bb273;margin:0;font-size:.75rem;font-weight:700}.cycle-summary-title{color:#2d6a4f;text-align:center;margin:.2rem 0 .55rem;font-size:1.2rem;font-weight:700;line-height:1.3}.cycle-summary-cycle-chip{color:#2f9a5f;text-overflow:ellipsis;white-space:nowrap;background:#ffffffc7;border-radius:9999px;max-width:100%;padding:.28rem .75rem;font-size:.8125rem;font-weight:800;line-height:1.3;display:inline-flex;overflow:hidden}.cycle-summary-body{flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.15rem;display:flex}.cycle-summary-bubble{background:#f4fbf6;border-radius:1.15rem;margin:.35rem 0 0;padding:1rem 1.05rem 1.05rem;position:relative;box-shadow:inset 0 0 0 1px #3bb27329}.cycle-summary-bubble:before{content:"";background:#f4fbf6;border-radius:.18rem;width:.9rem;height:.9rem;position:absolute;top:-.55rem;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:-1px -1px #3bb27329}.cycle-summary-text{color:#1b2433;white-space:pre-wrap;margin:0;font-size:.98rem;font-weight:500;line-height:1.7}.cycle-summary-loading{text-align:center;color:#2d6a4f;flex-direction:column;align-items:center;gap:.55rem;min-height:7.5rem;padding:1.15rem .5rem .4rem;font-size:.875rem;font-weight:600;line-height:1.5;display:flex}.cycle-summary-book{font-size:1.85rem;animation:1.6s ease-in-out infinite cycle-summary-float}.cycle-summary-dots{gap:.28rem;display:flex}.cycle-summary-dots i{background:#3bb273;border-radius:9999px;width:.42rem;height:.42rem;animation:1.1s ease-in-out infinite cycle-summary-dot}.cycle-summary-dots i:nth-child(2){animation-delay:.15s}.cycle-summary-dots i:nth-child(3){animation-delay:.3s}.cycle-summary-error{color:#c85a5a;background:#fff5f5;border-radius:1rem;margin:0;padding:.85rem .95rem;font-size:.875rem;font-weight:600;line-height:1.5}.cycle-summary-done{color:#fff;cursor:pointer;background:linear-gradient(#4cbe82 0%,#3bb273 100%);border:none;border-radius:9999px;width:100%;min-height:2.65rem;font-size:.9375rem;font-weight:800;box-shadow:0 8px 18px #3bb27347}.cycle-summary-done:hover{filter:brightness(1.03)}.cycle-summary-done:active{transform:scale(.99)}@keyframes cycle-summary-pop{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cycle-summary-float{0%,to{transform:translateY(3px)}50%{transform:translateY(-5px)}}@keyframes cycle-summary-dot{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.cycle-summary-modal,.cycle-summary-book,.cycle-summary-dots i{animation:none}}.cycle-detail-page{flex-direction:column;gap:1rem;display:flex}.cycle-detail-back{color:var(--text);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.2rem;margin:0;padding:.25rem .15rem;font-size:.875rem;font-weight:700;display:inline-flex}.cycle-detail-header{align-items:center;gap:.75rem;display:flex}.cycle-detail-icon{background:var(--primary-soft);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.65rem;display:flex}.cycle-detail-heading{min-width:0}.cycle-detail-title{color:var(--text);margin:0;font-size:1.125rem;font-weight:800;line-height:1.3}.cycle-detail-dates{color:var(--text-soft);margin:.2rem 0 0;font-size:.8125rem;font-weight:600}.cycle-detail-empty{text-align:center;color:var(--text-soft);margin:1.5rem 0;font-size:.875rem}.cycle-detail-list-title{color:var(--text);margin:0 0 .75rem;font-size:1rem;font-weight:800}.cycle-detail-list.list-page{gap:.75rem}@media (width<=380px){.cycle-card-actions{gap:.5rem}.cycle-card-action-btn{min-height:1.875rem;padding:.3125rem .5rem;font-size:.6875rem}.cycle-stat-label{font-size:.625rem}.cycle-stat-value{font-size:.75rem}}.analytic-page{flex-direction:column;gap:1rem;display:flex}.analytic-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;flex-direction:column;display:flex;overflow:hidden}.analytic-card-body{padding:1.25rem 1.25rem 1.5rem}.analytic-card-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.analytic-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.analytic-card-dropdown{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.analytic-legend{flex-flow:wrap;gap:1rem;margin-bottom:1rem;display:flex}.analytic-legend-item{align-items:center;gap:.5rem;display:flex}.analytic-legend-dot{border-radius:.25rem;flex-shrink:0;width:.75rem;height:.75rem}.analytic-legend-dot--income{background:var(--income)}.analytic-legend-dot--expense{background:var(--expense)}.analytic-legend-label{color:var(--text-soft);margin:0;font-size:.8125rem;font-weight:600}.analytic-chart-wrap{width:100%;height:250px}.analytic-chart-wrap--bar{justify-content:center;align-items:center;height:300px;display:flex}.analytic-loading{width:100%;height:100%;color:var(--text-soft);justify-content:center;align-items:center;font-size:.875rem;display:flex}.analytic-error{color:var(--danger);margin:0 0 .75rem;font-size:.875rem}.analytic-filter-bar{margin-top:1.5rem}.analytic-filter-btn{flex:1}.analytic-pie-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;flex-direction:column;align-items:center;display:flex;overflow:hidden}.analytic-pie-card-header{justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:1.25rem 1.25rem 0;display:flex}.analytic-pie-layout{align-items:center;width:100%;height:200px;padding-bottom:1.25rem;display:flex}.analytic-pie-chart{justify-content:center;align-items:center;width:30%;display:flex}.analytic-pie-legend-list{flex-direction:column;gap:.25rem;width:70%;padding:0 1.5rem;display:flex}.analytic-pie-legend-btn{border-radius:var(--radius-control);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.375rem .5rem;transition:background-color .16s;display:flex}.analytic-pie-legend-btn:hover{background:var(--surface-soft)}.analytic-pie-legend-btn.is-active{background:var(--primary-soft)}.analytic-pie-swatch{border-radius:.25rem;flex-shrink:0;width:1rem;height:1rem}.analytic-pie-legend-label{color:var(--text);margin:0;font-size:.875rem;font-weight:600}.analytic-pie-legend-btn.is-active .analytic-pie-legend-label{color:var(--primary)}.analytic-pie-legend-percent{color:var(--text-soft);margin:0 0 0 auto;font-size:.875rem}.analytic-empty{width:100%;color:var(--text-soft);justify-content:center;align-items:center;padding:2rem 0;font-size:.875rem;display:flex}.analytic-today-btn{flex-shrink:0}.analytic-cal-badge{color:#fff;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex}.analytic-cal-badge--income{background:var(--income)}.analytic-cal-badge--expense{background:var(--expense)}.list-page{flex-direction:column;gap:1rem;display:flex}.list-filter-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;padding:1rem 1.125rem}.list-filter-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.list-filter-chips{flex-wrap:wrap;flex:1;gap:.375rem;min-width:0;display:flex}.list-filter-chip{background:var(--surface-soft);color:var(--text-soft);cursor:pointer;border:none;border-radius:9999px;padding:.4375rem 1rem;font-size:.8125rem;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}.list-filter-chip:hover:not(.list-filter-chip--active){background:var(--surface);color:var(--text)}.list-filter-chip--active.list-filter-chip--all{border-color:var(--primary);background:var(--primary);color:#fff;text-shadow:none;box-shadow:0 6px 14px #3bb2733d}.list-filter-chip--active.list-filter-chip--income{border-color:var(--income);background:var(--income);color:#fff;text-shadow:none;box-shadow:0 6px 14px #3bb27338}.list-filter-chip--active.list-filter-chip--expense{color:#fff;text-shadow:0 1px 2px #78282847;background:#e57373;border-color:#c85a5a;box-shadow:0 2px 8px #c85a5a38}.list-filter-chip--active.list-filter-chip--expense:hover{filter:brightness(1.03);box-shadow:0 3px 10px #c85a5a47}.list-filter-extra-btn{border:1.5px solid var(--border);background:var(--surface-soft);width:2.25rem;height:2.25rem;color:var(--text-soft);cursor:pointer;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.list-filter-extra-btn:hover{background:var(--surface);border-color:color-mix(in srgb, var(--primary) 35%, var(--border));color:var(--text)}.list-category-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:13rem;box-shadow:var(--shadow-soft);padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0}.list-groups{flex-direction:column;gap:.875rem;display:flex}.list-bulk-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list-export-actions{flex-shrink:0}.list-empty,.list-loading{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);text-align:center;color:var(--text-soft);border:none;padding:1.25rem 1rem;font-size:.875rem}.list-load-more-btn{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);cursor:pointer;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .16s}.list-load-more-btn:hover:not(:disabled){background:var(--surface-soft)}.list-load-more-btn:disabled{opacity:.5;cursor:not-allowed}.list-add-fab{--pill-action-bg:var(--primary);--pill-action-border:#2f9a5f;right:1.25rem;bottom:calc(6.25rem + env(safe-area-inset-bottom,0px));z-index:30;background:var(--pill-action-bg);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;transition:transform .18s,filter .18s,box-shadow .18s;display:flex;position:fixed;box-shadow:0 10px 22px #3bb27352}.list-add-fab:hover{filter:brightness(1.03);box-shadow:0 12px 24px #3bb27361}.list-add-fab:active{filter:brightness(.98);transform:scale(.99)}.list-day-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;overflow:hidden}.list-day-card--income{border-color:color-mix(in srgb, var(--income) 22%, white)}.list-day-card--expense{border-color:color-mix(in srgb, var(--expense) 22%, white)}.list-day-card-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;display:flex}.list-day-card-date{color:var(--text);white-space:nowrap;font-size:.875rem;font-weight:800}.list-day-card-summary{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.list-day-card-count{color:var(--text-soft);white-space:nowrap;font-size:.75rem;font-weight:600}.list-day-card-total{white-space:nowrap;font-size:.875rem;font-weight:800}.list-day-card-total--income{color:var(--income)}.list-day-card-total--expense{color:var(--expense)}.list-day-card-chevron{color:var(--text-soft);flex-shrink:0}.list-day-card-body{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent)}.list-tx-row-divider{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent)}.list-tx-row{background:var(--surface);align-items:center;gap:.625rem;width:100%;padding:.75rem .875rem;display:flex}.list-tx-icon-wrap{border:1.5px solid color-mix(in srgb, var(--border) 70%, transparent);background:#ffffffd9;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.list-tx-row--income .list-tx-icon-wrap{border-color:color-mix(in srgb, var(--income) 28%, white)}.list-tx-row--expense .list-tx-icon-wrap{border-color:color-mix(in srgb, var(--expense) 28%, white)}.list-tx-icon{font-size:1.25rem;line-height:1}.list-tx-body{flex:1;min-width:0}.list-tx-title-row{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.list-tx-title{color:var(--text);margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3}.list-tx-type-tag{border-radius:9999px;align-items:center;padding:.1875rem .5625rem;font-size:.75rem;font-weight:700;line-height:1.3;display:inline-flex}.list-tx-type-tag--income{background:color-mix(in srgb, var(--income) 18%, white);color:color-mix(in srgb, var(--income) 75%, #2d4a2f)}.list-tx-type-tag--expense{background:color-mix(in srgb, var(--expense) 16%, white);color:color-mix(in srgb, var(--expense) 78%, #5a3030)}.list-tx-subtitle{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;margin:.1875rem 0 0;font-size:.875rem;font-weight:500;line-height:1.3;overflow:hidden}.list-tx-amount-wrap{text-align:right;flex-shrink:0;min-width:5rem;margin-left:auto}.list-tx-amount{white-space:nowrap;margin:0;font-size:1.0625rem;font-weight:800;line-height:1.3}.list-tx-amount--income{color:var(--income)}.list-tx-amount--expense{color:var(--expense)}.list-tx-row--clickable{text-align:left;cursor:pointer;background:0 0;border:none;font-family:inherit;transition:background-color .15s}.list-tx-row--clickable:hover{background:color-mix(in srgb, var(--border) 28%, transparent)}.list-tx-row--clickable:active{background:color-mix(in srgb, var(--border) 42%, transparent)}.list-tx-chevron{color:var(--text-soft);flex-shrink:0}.list-tx-select-wrap{align-items:stretch;gap:.375rem;padding-left:.5rem;display:flex}.list-tx-select-wrap .list-tx-row{flex:1;min-width:0}.list-tx-select-wrap.is-selected{background:color-mix(in srgb, var(--expense) 6%, var(--surface))}.list-tx-checkbox{align-items:center;padding:0 .25rem;display:flex}.list-round-checkbox{appearance:none;border:1.5px solid color-mix(in srgb, var(--border) 80%, var(--text-soft));background:var(--surface);cursor:pointer;border-radius:9999px;flex-shrink:0;place-content:center;width:1.125rem;height:1.125rem;transition:background-color .15s,border-color .15s;display:grid}.list-round-checkbox:before{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.3125rem;height:.5625rem;margin-top:-.125rem;transition:transform .15s;transform:rotate(45deg)scale(0)}.list-round-checkbox:checked{background:var(--expense);border-color:var(--expense)}.list-round-checkbox:checked:before{transform:rotate(45deg)scale(1)}.list-round-checkbox:indeterminate{background:var(--expense);border-color:var(--expense)}.list-round-checkbox:indeterminate:before{border:none;border-top:2px solid #fff;width:.5rem;height:0;margin-top:0;transform:none}.list-category-checkbox{appearance:none;border:1.5px solid color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--primary-soft) 55%, var(--surface));cursor:pointer;border-radius:9999px;flex-shrink:0;place-content:center;width:1.125rem;height:1.125rem;transition:background-color .15s,border-color .15s;display:grid}.list-category-checkbox:before{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.3125rem;height:.5625rem;margin-top:-.125rem;transition:transform .15s;transform:rotate(45deg)scale(0)}.list-category-checkbox:checked{background:var(--primary);border-color:#2f9a5f}.list-category-checkbox:checked:before{transform:rotate(45deg)scale(1)}.government-page{flex-direction:column;gap:1.25rem;display:flex}.gov-section .home-section-title{margin-bottom:.875rem}.gov-card-list{flex-direction:column;gap:.75rem;display:flex}.gov-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;flex-direction:column;gap:.625rem;padding:1rem 1.0625rem 1.0625rem;display:flex}.gov-card-top{align-items:flex-start;gap:.75rem;display:flex}.gov-card-icon-wrap{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.gov-card-heading{flex:1;min-width:0;padding-top:.0625rem}.gov-card-agency{color:var(--text);margin:0;font-size:.9375rem;font-weight:800;line-height:1.35}.gov-card-parent{color:var(--text-soft);margin:.125rem 0 0;font-size:.75rem;font-weight:500;line-height:1.35}.gov-card-purpose{color:var(--text-soft);margin:0;font-size:.8125rem;font-weight:500;line-height:1.5}.gov-card-phones{flex-wrap:wrap;gap:.5rem;display:flex}.gov-phone-chip{background:var(--gov-chip-bg,var(--primary-soft));color:var(--gov-chip-color,var(--primary));border:1.5px solid #0000;border-radius:9999px;align-items:center;gap:.375rem;padding:.4375rem .75rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:transform .16s,filter .16s;display:inline-flex}.gov-phone-chip:hover{filter:brightness(.96)}.gov-phone-chip:active{transform:scale(.97)}.gov-phone-chip-badge{letter-spacing:.01em;background:#ffffffb3;border-radius:9999px;padding:.0625rem .375rem;font-size:.625rem;font-weight:800}.gov-card-note{background:var(--surface-soft);color:var(--text-soft);border-radius:9999px;align-items:center;gap:.375rem;width:fit-content;margin:0;padding:.4375rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.gov-card--green .gov-card-icon-wrap{color:#4caf50;background:#e8f5e9}.gov-card--green .gov-phone-chip{--gov-chip-bg:#e8f5e9;--gov-chip-color:#388e3c}.gov-card--blue .gov-card-icon-wrap{color:#2196f3;background:#e3f2fd}.gov-card--blue .gov-phone-chip{--gov-chip-bg:#e3f2fd;--gov-chip-color:#1976d2}.gov-card--teal .gov-card-icon-wrap{color:#26a69a;background:#e0f2f1}.gov-card--teal .gov-phone-chip{--gov-chip-bg:#e0f2f1;--gov-chip-color:#00897b}.gov-card--amber .gov-card-icon-wrap{color:#fb8c00;background:#fff3e0}.gov-card--amber .gov-phone-chip{--gov-chip-bg:#fff3e0;--gov-chip-color:#ef6c00}.gov-card--purple .gov-card-icon-wrap{color:#7e57c2;background:#ede7f6}.gov-card--purple .gov-phone-chip{--gov-chip-bg:#ede7f6;--gov-chip-color:#5e35b1}.prices-page{flex-direction:column;gap:1rem;display:flex}.prices-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);border:none;flex-direction:column;gap:.875rem;padding:1rem 1.0625rem 1.0625rem;display:flex}.prices-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.prices-card-title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.prices-search{flex-direction:column;gap:.5rem;display:flex}.prices-search-label{color:var(--text);font-size:.8125rem;font-weight:700}.prices-search-row{gap:.5rem;display:flex}.prices-search-input{background:var(--surface-soft);min-width:0;height:2.75rem;color:var(--text);font:inherit;border:none;border-radius:9999px;flex:1;padding:0 .875rem}.prices-search-input:focus{outline:2px solid color-mix(in srgb, var(--primary) 45%, white);border-color:var(--primary)}.prices-search-btn{background:var(--primary);color:#fff;height:2.75rem;font:inherit;cursor:pointer;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;padding:0 .95rem;font-size:.875rem;font-weight:700;display:inline-flex}.prices-search-btn:disabled{opacity:.6;cursor:not-allowed}.prices-period-track{width:100%}.prices-period-btn{flex:1}.prices-period-hint{color:var(--text-soft);margin:.15rem 0 0;font-size:.75rem;font-weight:600}.prices-suggest{flex-wrap:wrap;gap:.375rem;display:flex}.prices-chip{background:var(--surface-soft);max-width:100%;color:var(--text-soft);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;font-weight:700;overflow:hidden}.prices-chip.is-active{border-color:var(--primary);background:var(--primary-soft);color:#2c4a7a}.prices-variant-label{color:var(--text-soft);margin:0 0 .375rem;font-size:.75rem;font-weight:700}.prices-market-select{background:var(--surface-soft);max-width:10.5rem;height:2.125rem;color:var(--text);font:inherit;border:none;border-radius:9999px;padding:0 .75rem;font-size:.75rem;font-weight:600}.prices-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.prices-stat{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);padding:.85rem .75rem}.prices-stat-label,.prices-stat-meta{color:var(--text-soft);margin:0;font-size:.6875rem;font-weight:600}.prices-stat-value{color:var(--text);margin:.2rem 0 .15rem;font-size:.95rem;font-weight:800}.prices-chart-wrap{width:100%;height:250px}.prices-filter-bar{margin-top:.25rem}.prices-filter-btn{flex:1;min-width:0;padding:.375rem .25rem}.prices-loading,.prices-empty,.prices-error{margin:0;font-size:.875rem}.prices-loading,.prices-empty{color:var(--text-soft)}.prices-error{color:var(--danger)}.prices-loading{justify-content:center;align-items:center;height:100%;display:flex}.prices-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.prices-list-item{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, white);justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.625rem;display:flex}.prices-list-item:last-child{border-bottom:none;padding-bottom:0}.prices-list-main{min-width:0}.prices-list-name,.prices-list-price{color:var(--text);margin:0;font-size:.875rem;font-weight:700}.prices-list-meta{color:var(--text-soft);margin:.15rem 0 0;font-size:.75rem}.prices-list-price{text-align:right;flex-shrink:0}.prices-list-price span{color:var(--text-soft);font-size:.6875rem;font-weight:600;display:block}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-gray-300:oklch(87.2% .01 258.338);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-\[calc\(100\%\+4px\)\]{top:calc(100% + 4px)}.right-0{right:calc(var(--spacing) * 0)}.bottom-0{bottom:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[22vh\]{margin-top:22vh}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[2\.375rem\]{height:2.375rem}.h-\[38px\]{height:38px}.h-\[58px\]{height:58px}.h-\[62vh\]{height:62vh}.h-\[74vh\]{height:74vh}.h-auto{height:auto}.h-full{height:100%}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[78vh\]{max-height:78vh}.max-h-\[180px\]{max-height:180px}.max-h-\[240px\]{max-height:240px}.max-h-\[min\(85vh\,640px\)\]{max-height:min(85vh,640px)}.max-h-\[min\(420px\,85dvh\)\]{max-height:min(420px,85dvh)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[48px\]{min-height:48px}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-\[2\.6rem\]{width:2.6rem}.w-\[46px\]{width:46px}.w-full{width:100%}.max-w-\[240px\]{max-width:240px}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-separate{border-collapse:separate}.border-spacing-0\.5{--tw-border-spacing-x:calc(var(--spacing) * .5);--tw-border-spacing-y:calc(var(--spacing) * .5);border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[var\(--radius-card\)\]{border-radius:var(--radius-card)}.rounded-\[var\(--radius-control\)\]{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-t-\[22px\]{border-top-left-radius:22px;border-top-right-radius:22px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#03C755\]{border-color:#03c755}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--danger\)\],.border-\[var\(--danger\)\]\/35{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--danger\)\]\/35{border-color:color-mix(in oklab, var(--danger) 35%, transparent)}}.border-\[var\(--primary\)\],.border-\[var\(--primary\)\]\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--primary\)\]\/40{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-\[\#03C755\]{background-color:#03c755}.bg-\[\#06C755\]{background-color:#06c755}.bg-\[\#f2ebf0\]{background-color:#f2ebf0}.bg-\[\#fef2f2\]{background-color:#fef2f2}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-soft\)\]{background-color:var(--primary-soft)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-soft\)\]{background-color:var(--surface-soft)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/25{background-color:#00000040}@supports (color:color-mix(in lab, red, red)){.bg-black\/25{background-color:color-mix(in oklab, var(--color-black) 25%, transparent)}}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab, red, red)){.bg-black\/35{background-color:color-mix(in oklab, var(--color-black) 35%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#03C755\]{color:#03c755}.text-\[\#b91c1c\]{color:#b91c1c}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-soft\)\]{color:var(--text-soft)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.accent-\[var\(--danger\)\]{accent-color:var(--danger)}.opacity-95{opacity:.95}.shadow-\[0_-12px_32px_rgba\(90\,130\,190\,0\.14\)\]{--tw-shadow:0 -12px 32px var(--tw-shadow-color,#5a82be24);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_12px_rgba\(90\,130\,190\,0\.14\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#5a82be24);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow:var(--shadow-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--primary\)\]{--tw-ring-color:var(--primary)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:rotate-90:is(:where(.group):hover *){rotate:90deg}}.placeholder\:text-\[var\(--text-soft\)\]::placeholder{color:var(--text-soft)}.focus-within\:border-\[var\(--primary\)\]:focus-within{border-color:var(--primary)}@media (hover:hover){.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:border-\[\#cfdac8\]:hover{border-color:#cfdac8}.hover\:border-\[var\(--danger\)\]:hover{border-color:var(--danger)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:bg-\[\#05b34c\]:hover{background-color:#05b34c}.hover\:bg-\[\#fee2e2\]:hover{background-color:#fee2e2}.hover\:bg-\[var\(--primary-soft\)\]:hover{background-color:var(--primary-soft)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-soft\)\]:hover{background-color:var(--surface-soft)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-\[\#049948\]:active{background-color:#049948}.active\:bg-\[\#fecaca\]:active{background-color:#fecaca}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-\[\#06C755\]:disabled:hover{background-color:#06c755}}.data-\[disabled\]\:text-gray-300[data-disabled]{color:var(--color-gray-300)}.data-\[outside-month\]\:opacity-40[data-outside-month]{opacity:.4}.data-\[selected\]\:bg-\[var\(--primary-soft\)\][data-selected]{background-color:var(--primary-soft)}@media (width>=40rem){.sm\:gap-2{gap:calc(var(--spacing) * 2)}}@media (width>=48rem){.md\:text-\[15px\]{font-size:15px}}.\[\&_tbody_tr\]\:h-\[58px\] tbody tr{height:58px}}:root{--bg:#f4f8f5;--surface:#fff;--surface-soft:#eef6f0;--border:#dce8e0;--text:#1b2433;--text-soft:#6e7a72;--primary:#3bb273;--primary-soft:#e8f8ee;--income:#3bb273;--expense:#f06b6b;--balance:#3bb273;--danger:#f06b6b;--navy:#2d6a4f;--radius-card:22px;--radius-control:16px;--shadow-soft:0 10px 28px #3bb2731a;--mono:ui-monospace, Consolas, monospace;--font-mali:"Mali", cursive;--font-google-sans:"Google Sans", sans-serif;--font-sarabun:"Sarabun", "Noto Sans Thai", "Segoe UI", sans-serif;--sans:var(--font-sarabun);--bg-aspect-ratio-h-w:.34;--bg-display-height:calc(100vw * var(--bg-aspect-ratio-h-w));--home-bg-anchor-ratio:.3;--home-content-top:calc(var(--bg-display-height) * var(--home-bg-anchor-ratio));--home-greeting-header-ratio:.185;--home-greeting-header-offset:calc(var(--bg-display-height) * var(--home-greeting-header-ratio));--home-subpage-header-offset:calc(var(--home-greeting-header-offset) - .75rem);--app-bg-fallback:#f4f8f5;font:17px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (width>=768px){:root{--home-content-top:30dvh;--home-greeting-header-offset:19dvh;--home-subpage-header-offset:calc(19dvh - .75rem)}}@media (orientation:landscape){:root{--bg-aspect-ratio-h-w:.34}}html{background-color:var(--app-bg-fallback);min-height:100%;overflow-y:scroll}body{min-height:100vh;color:var(--text);background-color:var(--app-bg-fallback);margin:0}#root{min-height:100vh}.google-sans{font-family:var(--font-google-sans);font-optical-sizing:auto;font-variation-settings:"GRAD" 0;font-style:normal}.mali-extralight{font-family:var(--font-mali);font-style:normal;font-weight:200}.mali-light{font-family:var(--font-mali);font-style:normal;font-weight:300}.mali-regular{font-family:var(--font-mali);font-style:normal;font-weight:400}.mali-medium{font-family:var(--font-mali);font-style:normal;font-weight:500}.mali-semibold{font-family:var(--font-mali);font-style:normal;font-weight:600}.mali-bold{font-family:var(--font-mali);font-style:normal;font-weight:700}.mali-extralight-italic{font-family:var(--font-mali);font-style:italic;font-weight:200}.mali-light-italic{font-family:var(--font-mali);font-style:italic;font-weight:300}.mali-regular-italic{font-family:var(--font-mali);font-style:italic;font-weight:400}.mali-medium-italic{font-family:var(--font-mali);font-style:italic;font-weight:500}.mali-semibold-italic{font-family:var(--font-mali);font-style:italic;font-weight:600}.mali-bold-italic{font-family:var(--font-mali);font-style:italic;font-weight:700}@keyframes language-sheet-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.language-sheet-enter{animation:.18s ease-out language-sheet-enter}.pill-action-btn{--pill-action-bg:var(--primary);--pill-action-border:#2f9a5f;border:1.5px solid var(--pill-action-border);background:var(--pill-action-bg);color:#fff;cursor:pointer;border-radius:9999px;flex-direction:row;justify-content:center;align-items:center;gap:.75rem;width:100%;height:3.25rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:700;transition:transform .18s,filter .18s,box-shadow .18s;display:flex;box-shadow:0 8px 18px #3bb27347}.pill-action-btn:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 10px 22px #3bb27357}.pill-action-btn:active:not(:disabled){filter:brightness(.98);transform:scale(.99)}.pill-action-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.pill-action-btn-icon{width:2rem;height:2rem;color:var(--pill-action-bg);background:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pill-action-btn-text{text-shadow:0 1px 2px #1e643c38}.pill-action-btn--compact{gap:0;height:auto;min-height:2.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.pill-action-btn--cancel{--pill-action-bg:#fff5f5;--pill-action-border:#f5c6c6;color:#c85a5a;box-shadow:none;background:#fff5f5;border-color:#f5c6c6}.pill-action-btn--cancel:hover:not(:disabled){filter:none;box-shadow:none;background:#ffecec;border-color:#efb4b4}.pill-action-btn--cancel:active:not(:disabled){filter:none}.pill-action-btn--expense{--pill-action-bg:#e57373;--pill-action-border:#c85a5a;box-shadow:0 2px 8px #c85a5a38}.pill-action-btn--expense:hover:not(:disabled){box-shadow:0 3px 10px #c85a5a47}.pill-action-btn--expense .pill-action-btn-text{text-shadow:0 1px 2px #78282847}.danger-action-btn{color:#fff;background:#e57373;border:1.5px solid #c85a5a;transition:transform .18s,filter .18s,box-shadow .18s;box-shadow:0 2px 8px #c85a5a38}.danger-action-btn:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 3px 10px #c85a5a47}.danger-action-btn:active:not(:disabled){filter:brightness(.98);transform:scale(.99)}.danger-action-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.pill-type-btn--idle{border:1.5px solid var(--border);background:var(--surface);width:100%;min-height:2.5rem;color:var(--text-soft);text-align:center;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:transform .18s,background-color .18s,border-color .18s,color .18s;display:flex}.pill-type-btn--idle:active:not(:disabled){transform:scale(.99)}.pill-type-btn--income-idle{border-color:var(--income)}@supports (color:color-mix(in lab, red, red)){.pill-type-btn--income-idle{border-color:color-mix(in srgb, var(--income) 42%, var(--border))}}.pill-type-btn--income-idle{background:var(--surface);color:var(--income)}.pill-type-btn--income-idle:hover:not(:disabled){background:var(--primary-soft)}.pill-type-btn--expense-idle{background:var(--surface);color:#c85a5a;border-color:#e99f9f}.pill-type-btn--expense-idle:hover:not(:disabled){background:#fff5f5}.pill-control{--pill-action-bg:var(--primary);--pill-action-border:#2f9a5f;border:1.5px solid var(--pill-action-border);background:var(--pill-action-bg);color:#fff;cursor:pointer;border-radius:9999px;font-family:inherit;transition:transform .18s,filter .18s,box-shadow .18s,background-color .18s,border-color .18s,color .18s;box-shadow:0 6px 14px #3bb27338}.pill-control:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 8px 16px #3bb27347}.pill-control:active:not(:disabled){filter:brightness(.98);transform:scale(.99)}.pill-control--select{text-align:left;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:2.1875rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:flex}.pill-control--chip{padding:.375rem .5rem;font-size:.6875rem;font-weight:700;line-height:1.2}.pill-control--ghost{color:var(--text-soft);box-shadow:none;background:0 0;border-color:#0000}.pill-control--ghost:hover:not(:disabled){background:var(--pill-action-bg)}@supports (color:color-mix(in lab, red, red)){.pill-control--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--pill-action-bg) 14%, white)}}.pill-control--ghost:hover:not(:disabled){filter:none;box-shadow:none}.pill-control.is-active{background:var(--pill-action-bg);border-color:var(--pill-action-border);color:#fff;box-shadow:0 4px 10px #3bb27338}.pill-control.is-active:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 6px 12px #3bb27347}.pill-control--ghost.is-active,.pill-control--ghost.is-active:hover:not(:disabled),.pill-control--ghost.is-active:active:not(:disabled){background:var(--pill-action-bg);border-color:var(--pill-action-border);color:#fff;box-shadow:0 4px 10px #3bb27338}.pill-control--ghost.is-active:hover:not(:disabled){filter:brightness(1.03);box-shadow:0 6px 12px #3bb27347}.pill-control--ghost.is-active:active:not(:disabled){filter:brightness(.98);transform:scale(.99)}.pill-segment-track{background:var(--surface-soft);border:none;border-radius:9999px;flex-direction:row;justify-content:space-between;gap:.25rem;padding:.25rem;display:flex}.pill-control-chevron{opacity:.92;flex-shrink:0}.pill-control--chip-today{min-height:2.0625rem;padding:.25rem .75rem}.bottom-sheet-scroll{scrollbar-width:none;-ms-overflow-style:none}.bottom-sheet-scroll::-webkit-scrollbar{display:none}.bottom-sheet-panel{inset-inline:0;animation:.22s ease-out bottom-sheet-up;position:fixed;bottom:0}@keyframes bottom-sheet-up{0%{opacity:.2;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes bottom-sheet-backdrop{0%{opacity:0}to{opacity:1}}.bottom-sheet-backdrop{animation:.18s ease-out bottom-sheet-backdrop}.home-page{padding:0 1rem .75rem;padding-top:max(.5rem, calc(var(--home-content-top) - var(--home-header-offset,var(--home-subpage-header-offset))));flex-direction:column;gap:1.25rem;display:flex}.home-page--index{padding:0 1.125rem 1.25rem;padding-top:max(.75rem, calc(env(safe-area-inset-top,0px) + .625rem));gap:1.125rem}.home-content-card{box-shadow:none;background:0 0;border-radius:0;margin-top:0;padding:0}.home-date-range{border-radius:var(--radius-card);background:var(--surface);width:100%;min-height:3.75rem;box-shadow:var(--shadow-soft);border:none;align-items:center;padding:.625rem .75rem;transition:background-color .16s,border-color .16s;display:flex;position:relative}.home-date-range:hover{background:var(--surface);box-shadow:var(--shadow-soft)}.home-date-range:active{background:var(--surface);transform:none}.home-date-range-field{flex-direction:column;gap:.1875rem;display:flex;position:relative}.home-date-range-field-picker,.home-date-range-fields{flex:1;min-width:0}.home-date-range-field-label{color:var(--text-soft);font-size:.6875rem;font-weight:600;line-height:1.25}.home-date-range-field-input{background:var(--surface-soft);border:none;border-radius:.9rem;align-items:center;gap:.375rem;min-width:0;min-height:2rem;padding:.375rem .5rem .375rem .625rem;display:flex}.home-date-range-field-value{min-width:0;color:var(--text);flex:1;font-size:.8125rem;font-weight:600;line-height:1.25}.home-date-range-field-icon{width:1rem;height:1rem;color:var(--text-soft);flex-shrink:0}.home-date-range-sep{color:var(--text-soft);flex-shrink:0;padding-bottom:.5rem;font-size:.875rem;font-weight:600;line-height:1}.list-date-range{border:1.5px solid var(--primary);border-radius:9999px;width:100%;position:relative}@supports (color:color-mix(in lab, red, red)){.list-date-range{border:1.5px solid color-mix(in srgb, var(--primary) 30%, var(--border))}}.list-date-range{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.list-date-range{background:color-mix(in srgb, var(--primary-soft) 60%, var(--surface))}}.list-date-range{cursor:pointer;padding:.6875rem 1rem;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;box-shadow:0 2px 8px #4a4a4a0f}.list-date-range:hover{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.list-date-range:hover{background:color-mix(in srgb, var(--primary-soft) 82%, var(--surface))}}.list-date-range:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.list-date-range:hover{border-color:color-mix(in srgb, var(--primary) 48%, var(--border))}}.list-date-range:hover{box-shadow:0 6px 16px #3bb27324}.list-date-range:active{background:var(--primary-soft);transform:scale(.99)}@supports (color:color-mix(in lab, red, red)){.list-date-range:active{background:color-mix(in srgb, var(--primary-soft) 95%, var(--surface))}}.date-range-trigger-btn{cursor:pointer}.date-picker-popover{z-index:40;width:max(var(--trigger-width,17.5rem), 17.5rem);border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);min-width:17.5rem;box-shadow:var(--shadow-soft);padding:.5rem .5rem .625rem;overflow:hidden;max-height:min(24rem,100dvh - 1.25rem)!important}.date-picker-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.date-picker-calendar-nav{width:1.75rem;height:1.75rem;color:var(--text-soft);border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;line-height:1;display:flex}.date-picker-calendar-nav:hover{background:var(--surface-soft)}.date-picker-calendar-title{color:var(--text);margin:0;font-size:.8125rem;font-weight:700}.date-picker-calendar-grid{table-layout:fixed;border-collapse:collapse;border-spacing:0;width:100%}.date-picker-calendar-weekday{text-align:center;color:var(--text-soft);padding:0 0 .25rem;font-size:.6875rem;font-weight:600;line-height:1.2}.date-picker-calendar-grid td{text-align:center;vertical-align:middle;padding:1px}.date-picker-calendar-cell{width:100%;height:1.875rem;color:var(--text);cursor:pointer;border-radius:9999px;outline:none;justify-content:center;align-items:center;margin:0 auto;padding:0;font-size:.8125rem;font-weight:500;line-height:1;display:flex}.date-picker-calendar-cell[data-outside-month],.date-picker-calendar-cell[data-disabled]{color:#c5cdc8}.date-picker-calendar-cell[data-hovered]{background:var(--surface-soft)}.date-picker-calendar-cell[data-selected]{background:var(--primary);color:#fff;font-weight:700}.date-picker-calendar-cell[data-focused]{box-shadow:inset 0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.date-picker-calendar-cell[data-focused]{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 35%, white)}}.list-date-range-label{color:var(--text);font-size:.875rem;font-weight:700}.list-date-range-sep{color:var(--text-soft);font-size:.875rem;font-weight:700}.list-date-range-icon{color:var(--primary);font-size:1.0625rem}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
