:root{color-scheme:light;--paper:oklch(97.5% 0.014 83);--surface:oklch(99.4% 0.006 82);--surface-raised:oklch(100% 0.004 82);--ink:oklch(23% 0.038 325);--muted:oklch(53% 0.027 320);--line:oklch(89% 0.023 74);--line-strong:oklch(82% 0.032 70);--accent:oklch(45% 0.13 327);--accent-hover:oklch(39% 0.14 327);--accent-soft:oklch(93% 0.035 344);--accent-ink:oklch(31% 0.09 327);--coral:oklch(62% 0.16 31);--coral-soft:oklch(94% 0.045 39);--good:oklch(49% 0.09 153);--bad:oklch(54% 0.16 26);--focus:oklch(65% 0.17 328/.7);--chart-plum:oklch(48% 0.14 326);--chart-coral:oklch(67% 0.17 35);--chart-gold:oklch(74% 0.13 79);--chart-blue:oklch(62% 0.12 244);--chart-sage:oklch(61% 0.09 155);--chart-berry:oklch(57% 0.14 7);--chart-ochre:oklch(67% 0.12 60);--chart-lilac:oklch(63% 0.11 300);--shadow:0 18px 50px oklch(28% 0.045 325/.1);--shadow-soft:0 5px 24px oklch(28% 0.045 325/.06)}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:oklch(18% 0.025 318);--surface:oklch(22% 0.03 318);--surface-raised:oklch(25% 0.033 318);--ink:oklch(94% 0.012 80);--muted:oklch(69% 0.025 315);--line:oklch(32% 0.028 318);--line-strong:oklch(40% 0.035 318);--accent:oklch(76% 0.12 333);--accent-hover:oklch(81% 0.12 333);--accent-soft:oklch(30% 0.055 326);--accent-ink:oklch(91% 0.06 340);--coral:oklch(75% 0.14 37);--coral-soft:oklch(30% 0.055 29);--good:oklch(73% 0.1 153);--bad:oklch(75% 0.12 28);--focus:oklch(78% 0.14 333/.75);--chart-plum:oklch(76% 0.12 333);--chart-coral:oklch(77% 0.14 38);--chart-gold:oklch(82% 0.13 82);--chart-blue:oklch(74% 0.1 244);--chart-sage:oklch(75% 0.1 155);--chart-berry:oklch(74% 0.13 7);--chart-ochre:oklch(77% 0.12 60);--chart-lilac:oklch(75% 0.1 300);--shadow:0 20px 60px oklch(5% 0.02 318/.42);--shadow-soft:0 5px 24px oklch(5% 0.02 318/.22)}}:root[data-theme=dark]{color-scheme:dark;--paper:oklch(18% 0.025 318);--surface:oklch(22% 0.03 318);--surface-raised:oklch(25% 0.033 318);--ink:oklch(94% 0.012 80);--muted:oklch(69% 0.025 315);--line:oklch(32% 0.028 318);--line-strong:oklch(40% 0.035 318);--accent:oklch(76% 0.12 333);--accent-hover:oklch(81% 0.12 333);--accent-soft:oklch(30% 0.055 326);--accent-ink:oklch(91% 0.06 340);--coral:oklch(75% 0.14 37);--coral-soft:oklch(30% 0.055 29);--good:oklch(73% 0.1 153);--bad:oklch(75% 0.12 28);--focus:oklch(78% 0.14 333/.75);--chart-plum:oklch(76% 0.12 333);--chart-coral:oklch(77% 0.14 38);--chart-gold:oklch(82% 0.13 82);--chart-blue:oklch(74% 0.1 244);--chart-sage:oklch(75% 0.1 155);--chart-berry:oklch(74% 0.13 7);--chart-ochre:oklch(77% 0.12 60);--chart-lilac:oklch(75% 0.1 300);--shadow:0 20px 60px oklch(5% 0.02 318/.42);--shadow-soft:0 5px 24px oklch(5% 0.02 318/.22)}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{min-height:100%}body,html{background:var(--paper)}body{min-width:320px;min-height:100dvh;margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.56}a{color:inherit;text-decoration:none}.shell{min-height:100dvh;padding:env(safe-area-inset-top) 0 calc(88px + env(safe-area-inset-bottom))}.app-header{justify-content:space-between;gap:14px;width:min(100%,900px);margin:0 auto;padding:15px 19px 10px}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px}.header-actions{display:flex;align-items:center;gap:8px}.app-header-home .month-picker{flex:0 0 auto}@media (max-width:679px){.app-header-home .brand-copy small{display:none}}@media (max-width:400px){.app-header-home{gap:8px;padding-inline:14px}.app-header-home .month-picker>span{min-width:66px}}@media (max-width:359px){.app-header-home .brand-mark{display:none}}.theme-control{position:relative}.theme-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;width:168px;grid-gap:2px;gap:2px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:var(--shadow);animation:theme-menu-enter .14s ease-out}.theme-option{display:flex;min-height:40px;align-items:center;gap:9px;padding:0 10px;border:0;border-radius:11px;background:transparent;color:var(--ink);font-size:12px;font-weight:650;text-align:left;cursor:pointer}.theme-option:hover{background:color-mix(in oklch,var(--accent-soft) 62%,transparent)}.theme-option.selected{background:var(--accent-soft);color:var(--accent-ink)}.theme-option span{flex:1 1}.theme-check{color:var(--accent)}@keyframes theme-menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-menu{width:190px}.menu-label{display:block;padding:7px 10px 3px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.menu-divider{display:block;height:1px;margin:4px 6px;background:var(--line)}.menu-item{color:var(--bad)}.menu-item:hover{background:color-mix(in oklch,var(--bad) 10%,transparent)}.login-theme{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:5}.brand-mark{display:grid;width:39px;height:39px;place-items:center;border-radius:14px;background:var(--accent);color:var(--surface)}.brand-mark-compact{width:35px;height:35px}.brand-copy{display:grid;grid-gap:2px;gap:2px}.brand-copy strong{font-size:14px;font-weight:780;letter-spacing:-.035em}.brand-copy strong[lang=hi]{letter-spacing:0;font-size:16px}.brand-copy small{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.105em}.header-action,.icon-button,.primary-icon-button{display:inline-grid;min-width:44px;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;transition:background-color .16s ease-out,border-color .16s ease-out,transform .16s ease-out}.header-action:hover,.icon-button:hover{background:var(--surface-raised);border-color:var(--line-strong)}.primary-icon-button{border-color:transparent;background:var(--accent);color:var(--surface)}.primary-icon-button:hover{background:var(--accent-hover)}.main-content{width:min(100%,900px);margin:0 auto;padding:18px 19px 30px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:5px 0 22px}.page-heading-copy{min-width:0}.page-heading-action{flex:0 0 auto}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:10px;font-weight:760;letter-spacing:.13em}.eyebrow [lang=hi]{letter-spacing:0;font-size:13px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{margin-bottom:4px;font-size:27px;line-height:1.12;font-weight:760}h2{font-size:16px;line-height:1.25;font-weight:730}h2,h3{margin-bottom:0}h3{font-size:15px}.page-subtitle{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.month-picker{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:1px 4px;border:1px solid var(--line);border-radius:15px;background:var(--surface);white-space:nowrap}.month-picker>span{min-width:78px;color:var(--ink);font-size:11px;font-weight:720;text-align:center}.month-step{min-width:35px;min-height:38px;border-color:transparent;background:transparent}.month-overview{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:16px;margin-bottom:11px;padding:19px 18px;border:1px solid color-mix(in oklch,var(--accent) 13%,var(--line));border-radius:22px;background:var(--accent-soft)}.overview-copy{display:grid;align-content:start;min-width:0;grid-gap:4px;gap:4px}.overview-copy .eyebrow{margin:0;color:var(--accent)}.overview-amount{overflow:hidden;color:var(--ink);font-size:32px;font-weight:760;letter-spacing:-.06em;line-height:1.08;text-overflow:ellipsis}.overview-note{color:var(--muted);font-size:10px}.overview-side{display:grid;align-self:center;justify-items:end;grid-gap:8px;gap:8px}.overview-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:14px;background:var(--surface);color:var(--accent)}.overview-compare{display:flex;align-items:center;gap:3px;color:var(--accent-ink);font-size:9px;font-weight:700;white-space:nowrap}.overview-skeleton{width:190px;height:36px}.overview-today{display:grid;align-content:start;flex:0 0 auto;grid-gap:4px;gap:4px;min-width:0;padding-left:16px;border-left:1px solid color-mix(in oklch,var(--accent) 18%,var(--line))}.overview-today .eyebrow{margin:0;color:var(--accent)}.overview-today-amount{overflow:hidden;color:var(--accent);font-size:22px;font-weight:760;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.08;text-overflow:ellipsis}@media (max-width:679px){.overview-side{display:flex;flex:1 0 100%;align-items:center;gap:8px;padding-top:10px;border-top:1px solid color-mix(in oklch,var(--accent) 13%,var(--line))}}.home-section{margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.section-heading h2{flex:1 1}.section-heading.compact-heading{margin:0}.text-action{display:inline-flex;align-items:center;gap:5px;min-height:35px;padding:4px 1px;border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:720;cursor:pointer;white-space:nowrap}.text-action:hover{color:var(--accent-hover)}.transaction-list{display:grid}.transaction-row{display:flex;width:100%;min-height:69px;align-items:center;gap:12px;padding:10px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.transaction-row:first-child{border-top:1px solid var(--line)}.transaction-row:hover{background:color-mix(in oklch,var(--accent-soft) 45%,transparent)}.category-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:15px;background:var(--coral-soft);color:var(--coral)}.transaction-main{display:grid;flex:1 1;min-width:0;grid-gap:3px;gap:3px}.transaction-main strong{font-size:12px;font-weight:700}.transaction-main small,.transaction-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main small{color:var(--muted);font-size:10px}.transaction-amount{color:var(--ink);font-size:12px;font-weight:720;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.transaction-amount small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:540}.analysis-tag{display:inline-flex;align-items:center;gap:4px;color:var(--coral);font-size:9px;font-weight:680}.chart-wrap{width:100%;height:210px;margin:5px 0 0}.chart-wrap.chart-compact{height:170px}.donut-chart{max-width:360px;height:220px;margin:0 auto}.chart-data{margin-top:4px;color:var(--muted);font-size:10px}.chart-data summary{display:inline-flex;min-height:36px;align-items:center;color:var(--accent);font-weight:680;cursor:pointer}.chart-data table{width:100%;border-collapse:collapse;text-align:left}.chart-data caption{padding:8px 0;color:var(--ink);text-align:left;font-weight:700}.chart-data td,.chart-data th{padding:8px 4px;border-bottom:1px solid var(--line)}.chart-data td{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-data[open]{padding:0 10px 9px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.chart-skeleton{height:184px;margin:6px 0}.category-breakdown{display:grid;grid-gap:1px;gap:1px}.category-breakdown-row{display:flex;min-height:39px;align-items:center;gap:8px;border-bottom:1px solid var(--line);font-size:11px}.category-breakdown-row>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-breakdown-row small{color:var(--muted)}.category-breakdown-row strong{margin-left:auto;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.chart-swatch{width:9px;height:9px;flex:0 0 9px;border-radius:50%}.empty-state{display:grid;min-height:150px;align-content:center;justify-items:center;grid-gap:8px;gap:8px;padding:24px 18px;color:var(--muted);text-align:center}.empty-state-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:15px;background:var(--accent-soft);color:var(--accent)}.empty-state>strong{color:var(--ink);font-size:13px;font-weight:720}.empty-state p{max-width:31ch;margin:0;font-size:11px;line-height:1.5}.empty-state-action{margin-top:2px}.secondary-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:1px solid var(--line-strong);border-radius:13px;background:var(--surface);color:var(--accent);font-size:11px;font-weight:700;cursor:pointer}.skeleton-block{position:relative;overflow:hidden;border-radius:14px;background:var(--accent-soft)}.skeleton-block:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent,color-mix(in oklch,var(--surface-raised) 90%,transparent),transparent);content:"";transform:translateX(-100%);animation:skeleton-shimmer 1.5s ease-in-out infinite;will-change:transform}.skeleton-heading{width:70%;height:70px;margin-bottom:22px}.skeleton-feature{height:150px}.skeleton-list{height:250px}.overview-skeleton{height:35px}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.page-loading{padding-top:12px}.page-loading .skeleton-feature{margin-bottom:18px}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:11px 13px;border:1px solid color-mix(in oklch,var(--bad) 20%,var(--line));border-radius:14px;background:color-mix(in oklch,var(--bad) 7%,var(--surface));line-height:1.4}.error-message,.notice{color:var(--bad);font-size:11px}.error-message{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in oklch,var(--bad) 8%,var(--surface))}.success-message{color:var(--good);font-size:11px;font-weight:700}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;padding:7px 13px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in oklch,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .16s ease-out,transform .16s ease-out}.bottom-nav.keyboard-open{transform:translateY(120%);opacity:0;pointer-events:none}.nav-inner{display:grid;width:min(100%,540px);grid-template-columns:repeat(5,1fr);align-items:end;margin:0 auto}.nav-item{display:grid;min-width:0;min-height:49px;align-content:center;justify-items:center;grid-gap:3px;gap:3px;border:0;background:transparent;color:var(--muted);font-size:9px;font-weight:650;cursor:pointer}.nav-item.active{color:var(--accent)}.nav-item svg{transition:transform .16s ease-out}.nav-item.active svg{transform:translateY(-1px)}.nav-add-item{gap:0}.nav-add-item>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.nav-add{display:grid;width:52px;height:48px;place-items:center;margin-top:-12px;border:4px solid var(--paper);border-radius:17px;background:var(--accent);color:var(--surface);box-shadow:0 6px 17px color-mix(in oklch,var(--accent) 24%,transparent);transition:transform .16s ease-out,background-color .16s ease-out}.nav-add-item:hover .nav-add{transform:translateY(-2px);background:var(--accent-hover)}.screen-tools{display:grid;grid-gap:10px;gap:10px;margin:3px 0 15px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border-radius:15px;background:var(--accent-soft)}.segment{display:flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 8px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:11px;font-weight:680;cursor:pointer}.segment.selected{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-soft)}.segment-count{color:inherit;opacity:.68;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.search-field{display:flex;min-height:45px;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted)}.search-field:focus-within{border-color:var(--accent)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.search-field input::placeholder{color:var(--muted)}.search-field:focus-within input:focus-visible{outline:0}.search-row{display:flex;align-items:stretch;gap:8px}.search-row .search-field{flex:1 1;min-width:0}.filter-help-button{display:inline-flex;min-height:45px;flex:0 0 auto;align-items:center;gap:6px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--accent);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.filter-help-button.on{border-color:color-mix(in oklch,var(--accent) 30%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}.filter-help{display:grid;grid-gap:11px;gap:11px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.filter-help-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.filter-help-head h3{font-size:12px;font-weight:720}.filter-help-head .icon-button{min-width:34px;min-height:34px;border-color:transparent;background:transparent;color:var(--muted)}.filter-help-list{display:grid;grid-gap:9px;gap:9px;margin:0}.filter-help-list>div{display:grid;grid-template-columns:minmax(98px,auto) 1fr;grid-gap:10px;gap:10px;align-items:baseline}.filter-help-list dt{color:var(--accent-ink);font-size:11px;font-weight:700}.filter-help-list dd{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.filter-help-list code{padding:1px 5px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);font-size:10px}.search-help-chips{display:flex;flex-wrap:wrap;gap:6px}.search-help-chips .category-chip{min-height:36px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.search-hint{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.search-hint b{color:var(--ink);font-weight:680}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 5px 0 12px;border:1px solid color-mix(in oklch,var(--accent) 26%,var(--line));border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:10px;font-weight:650}.filter-chip button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.filter-chip button:hover{background:color-mix(in oklch,var(--accent) 16%,transparent)}@media (max-width:420px){.filter-help-list>div{grid-template-columns:1fr;gap:2px}}.insight-tools{display:flex;align-items:center;justify-content:space-between}.currency-select select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700}.insight-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:14px;background:var(--coral-soft);color:var(--coral)}.insight-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:4px 0 25px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.insight-summary>div{display:grid;grid-gap:5px;gap:5px}.insight-summary span{color:var(--muted);font-size:10px}.insight-summary strong{font-size:17px;font-weight:740;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.insights-layout{display:grid;grid-gap:25px;gap:25px}.insight-section{min-width:0;padding-top:2px}.insight-section+.insight-section{border-top:1px solid var(--line);padding-top:22px}.count-label,.unit-label{color:var(--muted);font-size:10px;font-weight:650}.heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;margin-top:10px}.heatmap-day{display:grid;min-height:24px;place-items:center;color:var(--muted);font-size:9px}.heatmap-cell{display:grid;min-width:0;aspect-ratio:1;place-items:center;border-radius:8px;color:var(--ink);font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recurring-row{display:flex;align-items:center;gap:10px;min-height:68px;padding:9px 0;border-bottom:1px solid var(--line)}.recurring-row:first-of-type{border-top:1px solid var(--line)}.recurring-info{flex:1 1;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.recurring-info strong{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.recurring-info strong span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.recurring-info small{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.switch{position:relative;flex:0 0 42px;width:42px;height:25px;border:0;border-radius:99px;background:var(--line-strong);cursor:pointer;transition:background-color .16s ease-out}.switch:after{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px oklch(20% .03 320/.2);content:"";transition:transform .16s ease-out}.switch.on{background:var(--accent)}.switch.on:after{transform:translateX(17px)}.archive-button{min-width:38px;min-height:38px;border-color:transparent;background:transparent;color:var(--muted)}.archived-section{margin-top:27px;padding-top:19px;border-top:1px solid var(--line)}.archived-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:47px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.cron-monitor{margin:0 0 25px}.cron-toggle{min-height:38px;padding:0 12px;font-size:10px}.cron-run-history{margin-top:11px}.cron-run-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.cron-run-heading p{margin:0;color:var(--muted);font-size:10px}.cron-refresh{min-width:34px;min-height:34px;border-color:transparent;background:transparent;color:var(--muted)}.cron-run-list{display:grid;margin:4px 0 0;padding:0;list-style:none}.cron-run-row{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.cron-run-row:first-child{border-top:1px solid var(--line)}.cron-run-icon{flex:0 0 auto;margin-top:2px}.cron-run-icon.is-success{color:var(--good)}.cron-run-icon.is-failure{color:var(--bad)}.cron-run-icon.is-running{color:var(--muted)}.cron-run-main{min-width:0;flex:1 1}.cron-run-topline{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cron-run-topline strong{font-size:12px;font-weight:720}.cron-run-topline time{color:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cron-run-main p{margin:3px 0 0;font-size:11px}.cron-run-main small{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.cron-run-empty{margin:8px 0 0;color:var(--muted);font-size:11px}.sheet-backdrop{position:fixed;z-index:60;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top) 0 0;background:oklch(17% .035 320/.47)}.sheet,.sheet-backdrop{overscroll-behavior:contain}.sheet{width:min(100%,580px);overflow-x:hidden;overflow-y:auto;padding:11px 19px calc(17px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;background:var(--paper);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;animation:sheet-enter .2s ease-out}.sheet-handle{width:38px;height:4px;margin:0 auto 14px;border-radius:99px;background:var(--line-strong)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.sheet-head .eyebrow{margin-bottom:4px}.sheet-head h2{font-size:18px}.sheet-close{min-width:40px;min-height:40px;border-color:transparent;background:transparent}.entry-form{display:grid;grid-gap:15px;gap:15px;padding-bottom:2px}.amount-field{display:flex;min-height:69px;align-items:center;gap:10px;padding:0 15px;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface)}.amount-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 12%,transparent)}.amount-field>span{color:var(--accent);font-size:13px;font-weight:720}.amount-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:33px;font-weight:740;letter-spacing:-.055em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amount-field input:focus-visible{outline:0}.amount-field input::placeholder{color:var(--muted);opacity:.52}.field-hint{margin:-9px 1px 0;color:var(--muted);font-size:10px}.field{display:grid;min-width:0;grid-gap:6px;gap:6px}.field label,.field-label{color:var(--muted);font-size:10px;font-weight:690}.field input,.field select,.field textarea{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:12px}.field textarea{min-height:80px;padding:11px 12px;resize:vertical}.field input::placeholder{color:var(--muted);opacity:.72}.category-picker{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none;overscroll-behavior-x:contain}.category-picker::-webkit-scrollbar{display:none}.category-search{display:flex;min-height:43px;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}.category-search:focus-within{border-color:var(--accent)}.category-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.category-empty{padding:10px 2px;color:var(--muted);font-size:11px}.category-chip{display:inline-flex;flex:0 0 auto;min-height:39px;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:650;cursor:pointer;transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out}.category-chip.selected{border-color:color-mix(in oklch,var(--accent) 30%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}.entry-details{border-top:1px solid var(--line)}.entry-details summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;color:var(--ink);font-size:11px;font-weight:680;cursor:pointer;list-style:none}.entry-details summary::-webkit-details-marker{display:none}.entry-details summary:after{width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);content:"";transform:rotate(45deg) translateY(-2px);transition:transform .15s ease-out}.entry-details[open] summary:after{transform:rotate(225deg) translate(-2px,-1px)}.entry-details summary span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:500}.entry-details-content{display:grid;grid-gap:12px;gap:12px;padding:0 0 13px}.entry-always-visible{gap:13px;padding:0}.expense-date-time-row{display:grid;width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;grid-gap:12px;gap:12px}.expense-date-time-input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:48px;min-height:48px;padding:0 10px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:16px;line-height:46px;text-align:left;vertical-align:middle}.expense-date-time-input::-webkit-date-and-time-value{display:block;box-sizing:border-box;width:100%;min-width:0;height:46px;margin:0;padding:0;line-height:46px;text-align:left}.time-field{display:flex;align-items:center;gap:2px;padding:0 8px}.time-field select{flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:15px;font-weight:680;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.time-field select:focus-visible,.time-field select:hover{background:var(--accent-soft)}.time-field select:focus-visible{outline:2px solid var(--focus);outline-offset:0}.time-field>span{color:var(--muted);font-size:15px;font-weight:700}.time-field-boxed{min-height:45px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0 2px;border-top:1px solid var(--line)}.toggle-copy strong{display:block;font-size:11px}.toggle-copy small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.primary-button{display:inline-flex;min-height:49px;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:0;border-radius:14px;background:var(--accent);color:var(--surface);font-size:12px;font-weight:720;cursor:pointer;transition:background-color .16s ease-out,transform .16s ease-out}.primary-button:hover{background:var(--accent-hover)}.primary-button:active{transform:scale(.985)}.entry-submit{width:100%;margin-top:1px}.delete-zone{margin-top:3px;padding-top:14px;border-top:1px solid var(--line)}.delete-trigger{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:0 13px;border:1px solid color-mix(in oklch,var(--bad) 30%,var(--line));border-radius:13px;background:transparent;color:var(--bad);font-size:11px;font-weight:700;cursor:pointer}.delete-trigger:hover{background:color-mix(in oklch,var(--bad) 7%,transparent)}.delete-confirm{display:grid;grid-gap:12px;gap:12px;padding:13px;border:1px solid color-mix(in oklch,var(--bad) 22%,var(--line));border-radius:15px;background:color-mix(in oklch,var(--bad) 5%,var(--surface))}.delete-confirm-copy strong{display:block;font-size:12px}.delete-confirm-copy small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.delete-actions{display:flex;justify-content:flex-end;gap:8px}.danger-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:13px;background:var(--bad);color:var(--surface);font-size:11px;font-weight:720;cursor:pointer}.danger-button:disabled{opacity:.55;cursor:default}.form-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:11px;gap:11px}.form-two-columns>.field{min-width:0}.form-two-columns input{min-width:0;max-width:100%}.recurring-fields .field{width:100%}.pagination{justify-content:space-between;gap:10px;margin:13px 0 4px;color:var(--muted);font-size:10px}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:7px}.pagination .secondary-button{min-height:38px;padding:0 10px;font-size:10px}.pagination-page{min-width:35px;color:var(--ink);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.transaction-results{transition:opacity .14s ease}.transaction-results.is-refreshing{opacity:.62}@media (prefers-reduced-motion:reduce){.transaction-results{transition:none}}.recurring-form{gap:12px}.muted{color:var(--muted);font-weight:450}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.login-page{display:grid;min-height:100dvh;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.login-card{width:min(100%,400px);padding:26px 23px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-soft)}.login-card .brand{margin-bottom:28px}.login-card h1{margin-bottom:7px;font-size:25px}.login-card>p{margin-bottom:19px;color:var(--muted);font-size:12px;line-height:1.55}.login-form-grid{display:grid;grid-gap:14px;gap:14px}.login-footnote{margin:16px 0 0!important;font-size:10px!important}@keyframes sheet-enter{0%{opacity:.7;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:679px){input,select,textarea{font-size:16px!important}.form-two-columns{grid-template-columns:minmax(0,1fr)}.expense-date-time-row{width:100%;margin:0}.expense-date-time-input{width:calc(100% - 12px);margin-inline:auto;padding-right:4px;padding-left:6px}.expense-date-time-input::-webkit-datetime-edit,.expense-date-time-input::-webkit-datetime-edit-fields-wrapper{margin:0;padding:0}}@media (max-width:359px){.expense-date-time-row{grid-template-columns:minmax(0,1fr)}}@media (min-width:680px){.app-header{padding:22px 30px 14px}.main-content{padding:27px 30px 45px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:31px}.overview-amount{font-size:38px}.bottom-nav{right:0;bottom:18px;left:0;width:min(540px,calc(100% - 40px));margin:0 auto;padding:6px 12px;border:1px solid var(--line);border-radius:21px;background:color-mix(in oklch,var(--surface) 96%,transparent);box-shadow:var(--shadow-soft)}.shell{padding-bottom:100px}.sheet-backdrop{align-items:center;padding:18px}.sheet{border-bottom:1px solid var(--line);border-radius:25px}.chart-wrap{height:245px}.chart-wrap.chart-compact{height:205px}.screen-tools{grid-template-columns:minmax(250px,.8fr) minmax(260px,1.2fr);align-items:center}.insight-tools{display:flex}}@media (min-width:860px){.main-content{width:min(100%,940px)}.insights-layout{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px;row-gap:28px}.insight-section:first-child{grid-column:1/-1}.insight-section+.insight-section{border-top:1px solid var(--line)}.insight-section:nth-child(2),.insight-section:nth-child(3){border-top:0;padding-top:2px}}