.app-shell{color:#1f2937;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;display:flex}.app-shell h1{margin:0;font-size:40px;font-weight:700}.app-shell p{color:#4b5563;margin:0;font-size:18px}.app-shell.home-page{justify-content:flex-start;align-items:stretch;width:100%;max-width:560px;margin:0 auto;padding:20px 12px}.home-header{text-align:center;flex-direction:column;gap:8px;display:flex}.month-selector,.month-settings-toggle,.month-settings-form input,.month-settings-form button{width:100%;min-height:44px;font:inherit;padding:8px 10px}.month-settings-panel{flex-direction:column;gap:8px;width:100%;display:flex}.month-settings-toggle{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px}.month-settings-toggle:hover{background:#f9fafb}.month-settings-form{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;gap:10px;width:100%;padding:12px;display:flex}.month-settings-field label{flex-direction:column;gap:4px;display:flex}.budget-summary,.health-panel{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.budget-summary p{overflow-wrap:anywhere}.health-panel{align-items:stretch}.health-panel span,.health-panel strong{overflow-wrap:anywhere}.home-error,.error-text{color:#b91c1c;overflow-wrap:anywhere}.home-daily-list,.home-daily-cards{flex-direction:column;gap:6px;width:100%;display:flex}.home-daily-list h2{margin:0;font-size:18px}.home-daily-card{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;grid-template-columns:minmax(56px,.9fr) repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid}.home-daily-card:hover{background:#f9fafb}.home-daily-card span{color:#6b7280;min-width:0;font-size:12px}.home-daily-card strong{color:#111827;overflow-wrap:anywhere;font-size:15px;display:block}.app-shell.daily-page{justify-content:flex-start;align-items:stretch;width:100%;max-width:720px;margin:0 auto;padding:20px 12px}.daily-page h1,.daily-page>p{text-align:center}.daily-plan-form,.daily-expense-form form,.daily-edit-form{flex-direction:column;gap:8px;width:100%;display:flex}.daily-plan-form label,.daily-expense-form label,.daily-edit-form label{flex-direction:column;gap:4px;display:flex}.daily-page input,.daily-page select,.daily-page button{width:100%;min-height:44px;font:inherit;padding:8px 10px}.daily-page button{cursor:pointer}.daily-list{flex-direction:column;gap:12px;width:100%;display:flex}.daily-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.daily-item-row{grid-template-columns:minmax(56px,.9fr) repeat(3,minmax(0,1fr)) 44px;align-items:center;gap:8px;width:100%;display:grid}.daily-item-cell{min-width:0}.daily-item-cell span{color:#6b7280;font-size:12px;display:block}.daily-item-cell strong{color:#111827;overflow-wrap:anywhere;font-size:15px;display:block}.daily-page .daily-add-button{width:44px;min-width:44px;min-height:44px;padding:0;font-size:24px;line-height:1}.daily-action-menu,.daily-plan-actions{gap:8px;width:100%;display:flex}.daily-action-menu{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;padding:10px}.daily-panel-divider{background:#d1d5db;width:100%;height:1px}.daily-expense-form{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:10px}.daily-plan-actions{flex-direction:column;align-items:stretch}.daily-plan-row{grid-template-columns:minmax(0,1fr) minmax(72px,auto) 112px;align-items:center;gap:8px;width:100%;display:grid}.daily-plan-row strong{color:#111827;overflow-wrap:anywhere;min-width:0;font-size:15px}.daily-plan-row span{color:#111827;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:15px}.daily-expense-add-button{background:#fff}.daily-plan-actions-buttons{gap:6px;width:100%;display:flex}.daily-detail{background:0 0;border-left:0;flex-direction:column;gap:8px;width:100%;margin-top:4px;padding:0;display:flex}.daily-detail h2{margin:0;font-size:16px}.daily-expense-detail{background:0 0;border-bottom:1px solid #d1d5db;flex-direction:column;gap:4px;padding:8px 0;display:flex}.daily-expense-detail:last-of-type{border-bottom:0}.daily-expense-row{grid-template-columns:minmax(0,1fr) minmax(72px,auto) 112px;align-items:center;gap:8px;width:100%;display:grid}.daily-expense-row strong{color:#111827;overflow-wrap:anywhere;min-width:0;font-size:15px}.daily-expense-row span{color:#111827;text-align:right;overflow-wrap:anywhere;min-width:0;font-size:15px}.daily-page .daily-expense-memo{color:#6b7280;overflow-wrap:anywhere;margin:0;padding-right:120px;font-size:12px}.daily-expense-actions{gap:6px;width:100%;display:flex}.daily-plan-actions-buttons button,.daily-expense-actions button{color:#374151;background:0 0;border:1px solid #d1d5db;border-radius:4px;flex:1;min-height:32px;padding:3px 6px;font-size:12px;line-height:1.2}.daily-plan-actions-buttons button:hover,.daily-expense-actions button:hover{color:#1f2937;background:#eef2ff;border-color:#c7d2fe}.daily-error{color:#b91c1c;overflow-wrap:anywhere;width:100%}.home-page{--home-accent:#4f46e5;--home-soft:#eef2ff;--home-border:#dbe3ec;--home-muted:#5f6f82;--home-radius:14px;--home-card-border:#dce4ed;--home-card-shadow:0 2px 8px #0f172a0d;--home-card-shadow-raised:0 4px 14px #0f172a12;--home-divider:#e1e7ee;--home-button-radius:9px;--home-button-touch-size:44px;--home-button-transition:.14s cubic-bezier(.2, 0, 0, 1);--home-control-height:44px;--home-control-radius:9px;--home-control-transition:.14s ease;--home-meta-font-size:10px;--home-badge-radius:999px}.app-shell.home-page{max-width:720px;padding:max(12px, env(safe-area-inset-top)) 14px max(56px, calc(32px + env(safe-area-inset-bottom)));gap:16px;overflow-x:hidden}.home-page .home-hero-area,.home-page .home-information-area{flex-direction:column;min-width:0;display:flex}.home-page .home-hero-area{background:#f8f8fc;border:1px solid #eceaf5;border-radius:20px;gap:12px;padding:10px}.home-page .home-information-area{gap:12px}.home-page>*,.home-page .home-daily-row-group,.home-page .home-daily-action-section{min-width:0}.home-page .home-overview{flex-direction:column;gap:8px;padding:0 2px;display:flex}.home-page .home-navigation-row{align-items:center;gap:8px;min-width:0;display:flex}.home-page .home-navigation-row .month-navigation{flex:auto;min-width:0}.home-page .home-header{text-align:left;gap:2px;padding:0 4px}.home-page .home-header h1{color:var(--home-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.2}.home-page .month-navigation{flex-direction:column;gap:2px;width:100%;display:flex}.home-page .month-navigation-main{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;width:100%;display:grid}.home-page .month-navigation-main>button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e8edf3;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.home-page .month-navigation-main>button:disabled{opacity:.35;cursor:not-allowed}.home-page .month-navigation-main svg{width:20px;height:20px}.home-page .month-selector{color:#111827;letter-spacing:-.035em;text-align:center;text-align-last:center;cursor:pointer;background:0 0;border:0;min-width:0;min-height:44px;padding:0 8px;font-size:clamp(24px,7vw,30px);font-weight:800}.home-page .plan-start-guide{border:1px solid var(--home-card-border);border-radius:var(--home-radius);min-width:0;box-shadow:var(--home-card-shadow);background:#fff;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.home-page .plan-start-guide h2,.home-page .plan-start-guide p{margin:0}.home-page .plan-start-guide h2{color:#1e293b;font-size:14px}.home-page .plan-start-guide>.plan-carryover-button{width:100%}.home-page .plan-start-guide>small{color:#64748b;font-size:10px;line-height:1.35}.home-page .plan-carryover-button{color:#475569;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:6px 8px;font-size:11px;font-weight:700}.home-page .plan-carryover-button.is-primary{border:1px solid var(--home-accent);background:var(--home-accent);color:#fff}.home-page .plan-start-guide button:disabled{color:#94a3b8;cursor:default;background:#e2e8f0;border-color:#cbd5e1}.home-page .plan-carryover-success{color:#047857;background:#ecfdf5;border-radius:8px;margin:0;padding:7px 10px;font-size:11px;font-weight:700;line-height:1.4}.home-page .home-budget-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.home-page .budget-highlight-card,.home-page .home-insight-card{border:1px solid var(--home-card-border);border-radius:var(--home-radius);min-width:0;box-shadow:var(--home-card-shadow)}.home-page .budget-highlight-card{grid-template-rows:30px auto 12px 14px 18px 10px;align-content:start;gap:3px;min-height:150px;padding:12px;display:grid;overflow:hidden}.home-page .budget-highlight-card.is-interactive{cursor:pointer;touch-action:manipulation;transition:border-color .13s,box-shadow .13s,transform .13s}@media (hover:hover){.home-page .budget-highlight-card.is-interactive:hover{border-color:#cbd5e1;box-shadow:0 5px 14px #0f172a14}}.home-page .budget-highlight-card.is-interactive:active{transform:scale(.99)}.home-page .budget-highlight-card.is-interactive:focus-visible{outline-offset:2px;outline:3px solid #3b82f659}.home-page .today-budget-summary{background:#f6f1ff;border-color:#e7dcf8}.home-page .monthly-budget-summary{background:#eff6ff;border-color:#dbe7fa}.home-page .budget-highlight-heading{align-items:center;gap:7px;min-width:0;display:flex}.home-page .budget-highlight-heading h2{color:#334155;white-space:nowrap;min-width:0;margin:0;font-size:clamp(11px,3vw,13px);font-weight:700}.home-page .budget-highlight-icon,.home-page .home-section-icon{border-radius:50%;flex:none;place-items:center;display:grid}.home-page .budget-highlight-icon{color:#7441c8;background:#ede9fe;width:32px;height:32px}.home-page .monthly-budget-summary .budget-highlight-icon{color:#2563c9;background:#dbeafe}.home-page .budget-highlight-icon svg,.home-page .home-section-icon svg{stroke-width:2.3px;width:17px;height:17px}.home-page .budget-highlight-amount{color:#6932bd;letter-spacing:-.045em;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;place-self:center;width:100%;min-width:0;font-size:clamp(24px,7vw,34px);font-weight:820;line-height:1.08}.home-page .monthly-budget-summary .budget-highlight-amount{color:#1760c4}.home-page .budget-highlight-amount.is-restricted,.home-page .budget-highlight-status.is-over{color:#b91c1c}.home-page .budget-highlight-status{align-self:start;font-size:10px;font-weight:700}.home-page .budget-highlight-status.is-placeholder{visibility:hidden}.home-page .budget-highlight-details{grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;gap:4px;margin:0;display:grid}.home-page .budget-highlight-details>div{align-items:baseline;gap:2px;min-width:0;display:flex}.home-page .budget-highlight-details>div:last-child{justify-content:flex-end}.home-page .budget-highlight-details dt,.home-page .budget-highlight-details dd{margin:0}.home-page .budget-highlight-details dt{color:#64748b;white-space:nowrap;font-size:9px;font-weight:600}.home-page .budget-highlight-details dd{color:#334155;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;font-size:clamp(10px,2.7vw,11px);font-weight:700}.budget-usage-bar-slot{align-self:start;width:100%;height:10px}.budget-usage-bar-slot.is-detail{width:calc(100% - 4px);height:12px;margin:6px 2px 0}.budget-comparison-bar{width:100%;height:9px;display:block;position:relative}.budget-comparison-bar__total,.budget-comparison-bar__actual,.budget-comparison-bar__zero-marker,.budget-comparison-bar__planned-marker,.budget-comparison-bar__overflow{border-radius:999px;position:absolute;left:0}.budget-comparison-bar__total{z-index:1;background:#d7dfe9;width:100%;height:9px;top:0}.budget-comparison-bar__actual{z-index:3;transform-origin:0;background:#6d28d9;height:7px;transition:width .24s ease-out;animation:.24s ease-out budget-bar-grow;display:block;top:50%;transform:translateY(-50%)}.budget-comparison-bar.is-monthly .budget-comparison-bar__actual{background:#1d4ed8}.budget-comparison-bar__planned-marker{z-index:5;pointer-events:none;background:#2563eb;width:2px;height:13px;transition:left .2s ease-out,transform .2s ease-out;top:-2px;box-shadow:0 0 0 1px #ffffffd9}.budget-comparison-bar__overflow{z-index:4;transform-origin:100%;background:#dc2626;min-width:2px;height:7px;transition:width .22s ease-out;animation:.22s ease-out budget-bar-grow;top:50%;left:auto;right:0;transform:translateY(-50%)}.budget-comparison-bar.is-detail,.budget-comparison-bar.is-detail .budget-comparison-bar__total{height:11px}.budget-comparison-bar.is-detail .budget-comparison-bar__actual,.budget-comparison-bar.is-detail .budget-comparison-bar__overflow{height:9px}.budget-comparison-bar.is-detail .budget-comparison-bar__planned-marker{width:3px;height:15px;top:-2px}.budget-comparison-bar.is-detail.is-today .budget-comparison-bar__zero-marker{z-index:4;background:#6d28d9;width:4px;height:4px;top:50%;transform:translateY(-50%)}.home-page .budget-summary-unplanned{flex-direction:column;gap:3px;min-width:0;margin-top:auto;display:flex}.home-page .budget-summary-unplanned span{color:var(--home-muted);font-size:9px;font-weight:650}.home-page .budget-summary-unplanned strong{color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(18px,5vw,24px)}.home-page .home-insight-card{background:#fff;padding:16px}.home-page .monthly-pace-summary{flex-direction:column;gap:5px;display:flex}.home-page .monthly-pace-summary .home-section-heading{gap:6px}.home-page .home-section-heading{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.home-page .home-section-icon{color:#4f46c7;background:#eef2ff;width:32px;height:32px}.home-page .today-expense-summary .home-section-icon{color:#c2410c;background:#fff1e8}.home-page .monthly-pace-summary .home-section-icon{color:#1d4ed8;background:#e8f1ff}.home-page .home-section-heading h2{color:#1f2937;min-width:0;margin:0;font-size:15px;font-weight:760}.home-page .home-section-status{color:#64748b;white-space:nowrap;font-size:10px;font-weight:650}.home-page .monthly-pace-message{border-radius:var(--home-badge-radius);color:#15803d;background:#ecfdf3;width:fit-content;padding:2px 6px;font-size:9.5px;font-weight:750;line-height:1.2}.home-page .monthly-pace-message.is-over{color:#b91c1c;background:#fff1f2}.home-page .monthly-pace-message.is-undetermined{color:#64748b;background:#f1f5f9;font-weight:650}.home-page .monthly-pace-heading-actions{align-items:center;gap:2px;display:flex}.home-page .monthly-pace-help-button{color:#64748b;background:#f8fafc;border-color:#0000;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid}.home-page .monthly-pace-help-button svg{width:16px;height:16px}.home-modal-backdrop{z-index:1400;padding:max(16px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:#0f172a7a;justify-content:center;animation:.13s ease-out home-fade-in;display:flex;position:fixed;inset:0}.home-modal-backdrop.is-dialog{align-items:center}.home-modal-backdrop.is-sheet{align-items:flex-end}.home-modal-surface{background:#fff;border:1px solid #e2e8f0;flex-direction:column;width:min(100%,520px);min-height:0;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a2e}.home-modal-surface.is-dialog{border-radius:18px;width:min(88vw,390px);max-height:min(72dvh,440px);animation:.14s ease-out home-dialog-in}.home-modal-surface.is-sheet{border-radius:22px 22px 16px 16px;max-height:min(78dvh,650px);animation:.15s ease-out home-sheet-in}.home-modal-drag-handle{background:#cbd5e1;border-radius:999px;flex:none;width:36px;height:4px;margin:8px auto 0;display:block}.home-modal-header{z-index:1;border-bottom:1px solid var(--home-divider,#e8edf3);background:#fffffff7;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 8px 16px;display:flex;position:sticky;top:0}.home-modal-header h2{color:#111827;margin:0;font-size:18px;line-height:1.3}.home-modal-header>button{color:#475569;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;min-width:44px;min-height:44px;margin-top:-3px;margin-right:-3px;padding:0;display:grid;position:relative}.home-modal-header>button:before{content:"";background:#fff;border:1px solid #dbe2ea;border-radius:50%;width:33px;height:33px;position:absolute}.home-modal-header>button svg{z-index:1;width:15px;height:15px;position:relative}.home-modal-header>button:active{background:0 0;transform:scale(.98)}.home-modal-header>button:active:before{background:#f1f5f9}.home-modal-header>button:focus-visible{outline-offset:2px;outline:3px solid #3b82f659}.home-modal-content{min-height:0;padding:12px 16px max(18px, env(safe-area-inset-bottom));color:#334155;overscroll-behavior:contain;font-size:13px;line-height:1.65;overflow-y:auto}.home-modal-content>p,.budget-detail-rows{margin:0}.budget-detail-hero{border-radius:14px;justify-items:center;gap:3px;margin:-2px 0 8px;padding:12px;display:grid}.budget-detail-hero.is-today{color:#6932bd;background:#f6f1ff}.budget-detail-hero.is-monthly{color:#1760c4;background:#eff6ff}.budget-detail-hero>span{color:#64748b;font-size:11px;font-weight:700}.budget-detail-hero>strong{letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(28px,9vw,36px);font-weight:820;line-height:1.1}.budget-detail-hero>small{font-size:11px;font-weight:700}.budget-detail-hero .is-over{color:#b91c1c}.budget-detail-rows>div{border-bottom:1px solid #eef2f7;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:9px 0;display:grid}.budget-detail-rows>div.is-result{border-top:1px solid #b8c4d1;border-bottom:0;margin-top:4px;padding-top:12px}.budget-detail-rows>div:has(+div.is-result){border-bottom:0}.budget-detail-rows>div.is-result dt,.budget-detail-rows>div.is-result dd{color:#1f2937;font-weight:800}.budget-detail-rows dt,.budget-detail-rows dd{margin:0}.budget-detail-rows dt{color:#64748b;font-size:12px}.budget-detail-rows dd{color:#1f2937;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:750}.budget-detail-rows dd.is-over{color:#b91c1c}.budget-detail-rows dd.is-good{color:#166534}.budget-detail-section{margin-top:20px}.budget-detail-section.is-first{margin-top:12px}.budget-detail-section h3{color:#1f2937;margin:0 0 6px;font-size:13px;font-weight:750}.budget-detail-note{color:#475569;background:#f4f6f9;border-radius:10px;margin:12px 0 0;padding:7px 12px;font-size:12px;line-height:1.55}.budget-detail-note.is-today{color:#514264;background:#f3edff}.budget-detail-note.is-monthly{color:#3f536d;background:#edf5ff}.budget-forecast{background:#f7fbff;border:1px solid #dbe7fa;border-radius:14px;margin-top:16px;padding:12px}.budget-forecast h3{color:#1f2937;margin:0 0 8px;font-size:13px;font-weight:750}.budget-forecast-main{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.budget-forecast-main span{color:#5f6f82;font-size:12px}.budget-forecast-main strong{color:#1760c4;letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(22px,7vw,28px);font-weight:820}.budget-forecast-status{color:#1760c4;margin-top:8px;font-size:12px;display:block}.budget-forecast.is-near .budget-forecast-main strong,.budget-forecast.is-near .budget-forecast-status{color:#475569}.budget-forecast.is-over{background:snow;border-color:#fecaca}.budget-forecast.is-over .budget-forecast-main strong,.budget-forecast.is-over .budget-forecast-status{color:#b91c1c}.budget-forecast>p{color:#5f6f82;margin:6px 0 0;font-size:11px;line-height:1.5}@keyframes budget-bar-grow{0%{scale:0 1}to{scale:1}}@keyframes home-dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.home-page .monthly-pace-chart{gap:4px;min-width:0;display:grid}.home-page .monthly-pace-view-toggle{background:#edf2f7;border:1px solid #d3dce6;border-radius:8px;padding:1px;display:inline-flex}.home-page .monthly-pace-view-toggle button{color:#56657a;min-width:38px;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700;position:relative}.home-page .monthly-pace-view-toggle button:before{content:"";position:absolute;inset:-8px 0}.home-page .monthly-pace-view-toggle button.is-selected{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0f172a1a}.home-page .monthly-pace-view-toggle button:focus-visible{outline-offset:2px;outline:2px solid #6366f1}.home-page .monthly-pace-view-toggle button:active{transform:scale(.98)}.home-page .monthly-pace-chart svg{width:100%;height:auto;max-height:126px;display:block;overflow:visible}.home-page .monthly-pace-grid-line{stroke:#edf1f6;stroke-width:1px}.home-page .monthly-pace-day-grid{stroke:#eef2f6;stroke-width:.8px;vector-effect:non-scaling-stroke}.home-page .monthly-pace-day-grid.is-comparison{stroke:#aeb9c8;stroke-width:1.2px}.home-page .monthly-pace-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.home-page .monthly-pace-line.is-actual,.home-page .monthly-pace-point.is-actual{stroke:#2563eb;stroke-width:2.8px}.home-page .monthly-pace-line.is-planned,.home-page .monthly-pace-point.is-planned{stroke:#94a3b8;stroke-width:1.8px;stroke-dasharray:5 5}.home-page .monthly-pace-point{fill:#fff;vector-effect:non-scaling-stroke}.home-page .monthly-pace-point.is-planned{stroke-dasharray:none}.home-page .monthly-pace-point.is-actual{fill:#2563eb;stroke:#fff;stroke-width:1.5px}.home-page .monthly-pace-comparison-line{stroke:#cbd5e1;stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.home-page .monthly-pace-point.is-overflow{fill:#fff;stroke:#dc2626;stroke-width:2.2px}.home-page .monthly-pace-overflow-label{fill:#b91c1c;font-size:9px;font-weight:750}.home-page .monthly-pace-axis-label{fill:#94a3b8;font-size:9px;font-weight:600}.home-page .monthly-pace-axis-label.is-y-axis{text-anchor:start;font-size:8px}.home-page .monthly-pace-axis-label.is-daily{fill:#a1aaba;font-size:8px;font-weight:550}.home-page .monthly-pace-axis-label.is-daily.is-comparison{fill:#475569;font-weight:750}.home-page .monthly-pace-legend{color:#7c8798;justify-content:flex-end;gap:12px;font-size:9px;font-weight:600;display:flex}.home-page .monthly-pace-legend span{align-items:center;gap:5px;display:inline-flex}.home-page .monthly-pace-legend i{border-top:2px solid #2563eb;width:18px;display:inline-block}.home-page .monthly-pace-legend i.is-planned{border-color:#94a3b8;border-top-style:dashed}.home-page .monthly-pace-chart-empty{color:#64748b;text-align:center;background:#f8fafc;border-radius:10px;margin:0;padding:18px 8px;font-size:11px}.home-page .monthly-pace-chart-note{color:#64748b;text-align:center;margin:0;font-size:10px}.home-page .budget-planning-controls{border-top:1px solid var(--home-divider);flex-direction:column;gap:8px;min-width:0;padding:7px 14px;display:flex}.home-page .budget-planning-toggle{color:#475569;width:auto;min-width:0;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:9px;justify-content:center;align-self:flex-start;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:11px;font-weight:700;display:flex}.home-page .budget-planning-toggle[aria-expanded=true]{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.home-page .budget-planning-toggle svg{stroke-width:2.3px;flex:none;width:16px;height:16px}.home-page .planning-label-short{display:none}@media (width<=520px){.home-page .budget-planning-toggle{gap:4px;width:auto;min-height:44px;padding:6px 8px;font-size:10px}.home-page .planning-label-full{display:none}.home-page .planning-label-short{display:inline}}.home-page .today-expense-summary{flex-direction:column;gap:8px;display:flex}.home-page .home-section-link{color:#64748b;background:0 0;border-color:#0000;align-items:center;gap:2px;min-height:36px;padding:2px 4px;font-size:10px;display:inline-flex}.home-page .home-section-link svg{width:14px;height:14px}.home-page .today-expense-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.home-page .today-expense-list li{justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:36px;padding:4px 2px;display:flex}.home-page .today-expense-list li+li{border-top:1px solid #f0f3f7}.home-page .today-expense-list span{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.home-page .today-expense-category-name{align-items:center;gap:9px;min-width:0;display:flex}.home-page .today-expense-category-name>svg{color:#6554c0;stroke-width:2px;flex:none;width:18px;height:18px}.home-page .today-expense-category-name>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.home-page .today-expense-list strong{color:#1f2937;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.home-page .today-expense-list .expense-breakdown-values{text-overflow:clip;white-space:nowrap;flex:none;justify-content:flex-end;align-items:baseline;gap:6px;min-width:0;display:inline-flex;overflow:visible}.home-page .expense-breakdown-amount{text-align:right;flex:none;min-width:72px}.home-page .today-expense-list .expense-breakdown-percent{color:#7c8798;text-align:right;text-overflow:clip;font-variant-numeric:tabular-nums;flex:0 0 42px;width:42px;min-width:42px;font-size:10px;font-weight:600;overflow:visible}.home-page .today-expense-empty{color:#64748b;margin:2px 0;font-size:11px}.home-page .today-expense-footer{border-top:1px solid var(--home-divider);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding-top:8px;display:flex}.home-page .today-expense-footer.is-empty{border-top:0;justify-content:flex-end;padding-top:2px}.home-page .today-expense-footer p{align-items:baseline;gap:5px;min-width:0;margin:0;display:flex}.home-page .today-expense-footer p span{color:#64748b;font-size:10px}.home-page .today-expense-footer p strong{color:#1f2937;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px}.home-page .today-expense-footer button{flex:none;min-height:40px}.home-page .today-expense-footer button svg{width:16px;height:16px}.home-page .budget-planning-panel{flex-direction:column;gap:6px;width:100%;min-width:0;padding-top:2px;animation:.13s ease-out home-panel-in;display:flex}.home-page .budget-planning-section{min-width:0}.home-page .budget-planning-section-toggle{color:#334155;width:100%;min-width:0;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ee;border-radius:9px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:13px;font-weight:700;display:flex}.home-page .budget-planning-section-toggle:after{color:#64748b;content:"＋"}.home-page .budget-planning-section-toggle[aria-expanded=true]{color:#3730a3;background:#f5f7ff;border-color:#c7d2fe}.home-page .budget-planning-section-toggle[aria-expanded=true]:after{content:"−"}.home-page .today-pace-summary{background:#fff}.home-page .pace-summary-heading{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.home-page .pace-summary-title{align-items:baseline;min-width:0;display:flex}.home-page .pace-summary-heading h2,.home-page .today-pace-summary>h2{color:#334155;margin:0;font-size:14px;line-height:1.3}.home-page .pace-summary-heading>span{border-radius:var(--home-badge-radius);color:var(--home-muted);font-size:var(--home-meta-font-size);background:#f1f5f9;padding:2px 6px;font-weight:700;line-height:1.3}.home-page .pace-summary-heading>strong{color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px;line-height:1.2}.home-page .pace-summary-heading>strong.is-restricted{color:#b91c1c}.home-page .today-remaining-summary{flex-direction:column;flex:none;align-items:flex-end;min-width:0;line-height:1.15;display:flex}.home-page .today-remaining-summary small{color:var(--home-muted);font-size:10px;font-weight:650}.home-page .today-remaining-summary strong{color:#1f2937;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.home-page .today-remaining-summary strong.is-restricted{color:#b91c1c;font-size:clamp(12px,3.5vw,15px)}.home-page .pace-bar{background:#e9edf3;border:0;border-radius:999px;width:100%;height:8px;position:relative;overflow:visible}.home-page .pace-bar.has-marker-label{margin-top:16px}.home-page .pace-bar-fill{z-index:0;border-radius:inherit;background:#6d5bd0;max-width:100%;height:100%;display:block;position:relative;box-shadow:0 1px 2px #4f46e52e}.home-page .pace-bar-fill.is-saving{background:#4f7fe5}.home-page .pace-bar-fill.is-over{background:#d86168}.home-page .pace-bar-warning{z-index:1;border-radius:inherit;max-width:100%;box-shadow:none;background:#d86168;position:absolute;top:0;bottom:0}.home-page .pace-bar-marker{z-index:2;background:#334155;border-radius:2px;width:1.5px;height:14px;position:absolute;top:-3px;box-shadow:0 0 0 1px #fff}.home-page .pace-bar-marker-label{z-index:3;border-radius:var(--home-badge-radius);color:#475569;white-space:nowrap;background:#eef2f7;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.35;position:absolute;top:-19px}.home-page .pace-bar-marker-label:after{content:"";border-top:3px solid #eef2f7;border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.home-page .pace-status{color:#475569;margin:0;font-size:13px;font-weight:750}.home-page .pace-status.is-saving{color:#1d4ed8}.home-page .pace-status.is-over{color:#b91c1c}.home-page .pace-empty{color:#475569;margin:0;padding:7px 0 2px;font-size:13px}.home-page .budget-usage-item,.home-page .budget-usage-difference{color:#64748b;white-space:nowrap;align-items:baseline;gap:3px;min-width:0;margin:0;font-size:10px;font-weight:600;display:flex}.home-page .budget-usage-item strong,.home-page .budget-usage-difference strong{color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(11px,3.35vw,13px);font-weight:700}.home-page .budget-usage-difference.is-saving strong{color:#1d4ed8}.home-page .budget-usage-difference.is-over strong{color:#b91c1c}.home-page .monthly-usage-details{grid-template-columns:repeat(3,minmax(0,1fr));align-items:baseline;gap:6px;min-width:0;display:grid}.home-page .monthly-usage-details .budget-usage-item{grid-template-columns:22px minmax(0,1fr);align-items:baseline;gap:3px;width:100%;display:grid}.home-page .monthly-usage-details .budget-usage-item strong{text-align:right;min-width:0}.home-page .today-usage-details{padding-bottom:0}.home-page .budget-highlight-comparison{color:#64748b;justify-content:center;align-items:baseline;gap:5px;min-width:0;margin:0;padding:0;font-size:9px;line-height:1.2;display:flex}.home-page .budget-highlight-comparison>span{white-space:nowrap;align-items:baseline;gap:3px;display:inline-flex}.home-page .budget-highlight-comparison small{font-size:8px}.home-page .budget-highlight-comparison strong{color:#2563eb;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;font-weight:750}.home-page .budget-highlight-comparison.is-over strong{color:#b91c1c}.home-page .budget-highlight-comparison.is-on-track strong{color:#64748b}.home-page .budget-highlight-comparison.is-placeholder{visibility:hidden}.home-page .monthly-pace-current-indicator line{stroke:#94a3b8;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.home-page .monthly-pace-current-indicator circle{fill:#64748b}.home-page .monthly-pace-current-indicator text{fill:#475569;stroke:#fff;stroke-width:3px;paint-order:stroke;font-size:9.5px;font-weight:750}.home-page .today-budget-calculation{min-width:0;box-shadow:none;background:#fafbfc;border-color:#e8ebf0;flex-direction:column;gap:0;padding:4px 12px;display:flex}.home-page .today-deficit-toggle{min-width:0;min-height:var(--home-control-height);grid-template-columns:minmax(0,1fr) 44px 52px;align-items:center;gap:4px;display:grid}.home-page .today-deficit-toggle>strong{color:#475569;min-width:0;font-size:12px;font-weight:700}.home-page .today-adjustment-help-button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.home-page .today-adjustment-help-button svg{width:17px;height:17px}.home-page .today-adjustment-help-content{border:1px solid var(--home-card-border);color:#475569;background:#fff;border-radius:14px;width:min(320px,100vw - 32px);margin:auto;padding:14px;box-shadow:0 12px 32px #0f172a29}.home-page .today-adjustment-help-content::backdrop{background:#0f172a1f}.home-page .today-adjustment-help-content p{margin:0;font-size:11px;line-height:1.55}.home-page .today-adjustment-help-content p+p{margin-top:8px}.home-page .today-deficit-toggle>button[role=switch]{cursor:pointer;background:0 0;border:0;flex:none;width:52px;min-height:44px;padding:0;position:relative}.home-page .today-deficit-toggle>button[role=switch]:before{content:"";background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;position:absolute;inset:9px 4px}.home-page .today-deficit-toggle>button[role=switch] span{z-index:1;background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .13s;position:absolute;top:11px;left:7px;box-shadow:0 1px 3px #0f172a33}.home-page .today-deficit-toggle>button[role=switch][aria-checked=true]:before{background:#4f46e5;border-color:#4f46e5}.home-page .today-deficit-toggle>button[role=switch][aria-checked=true] span{transform:translate(16px)}.home-page .today-deficit-note{color:#b45309;margin:1px 0 0;font-size:10px;line-height:1.35}.home-page .month-settings-content{flex-direction:column;gap:10px;min-width:0;display:flex}.home-page .month-budget-section{border:1px solid var(--home-card-border);background:#fff;border-radius:10px;flex-direction:column;gap:7px;min-width:0;padding:9px;display:flex}.home-page .month-budget-section.is-income{border-left:3px solid #2563eb}.home-page .month-budget-section.is-deduction{border-left:3px solid #d97706}.home-page .month-budget-section-heading{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.home-page .month-budget-section-heading>div{flex-direction:column;gap:1px;min-width:0;display:flex}.home-page .month-budget-section-heading h3,.home-page .month-budget-section-heading p{margin:0}.home-page .month-budget-section-heading h3{color:#334155;font-size:13px}.home-page .month-budget-section-heading p{color:#64748b;font-size:9px}.home-page .month-budget-section-heading>strong{color:#1e293b;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.home-page .month-budget-item-list{border-top:1px solid var(--home-divider)}.home-page .month-budget-item-row{grid-template-columns:minmax(0,1fr) minmax(92px,.8fr) auto auto;align-items:center;gap:5px;min-width:0;padding:5px 0;display:grid}.home-page .month-budget-item-row+.month-budget-item-row{border-top:1px solid #f1f5f9}.home-page .month-settings-content input{width:100%;min-width:0}.home-page .month-budget-item-amount{color:#64748b;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;font-size:11px;display:grid}.home-page .month-budget-item-amount input{text-align:right;font-variant-numeric:tabular-nums}.home-page .month-budget-item-save,.home-page .month-budget-item-delete{min-height:40px;font:inherit;cursor:pointer;border-radius:8px}.home-page .month-budget-item-save{color:#3730a3;background:#eef2ff;border:1px solid #a5b4fc;padding:5px 7px;font-size:11px;font-weight:700}.home-page .month-budget-item-save:disabled{color:#94a3b8;cursor:default;background:#f8fafc;border-color:#e2e8f0}.home-page .month-budget-item-delete{color:#b91c1c;background:snow;border:1px solid #fecaca;justify-content:center;align-items:center;width:40px;padding:0;display:inline-flex}.home-page .month-budget-item-delete svg{width:15px;height:15px}.home-page .month-budget-add-toggle{color:#475569;min-height:40px;font:inherit;background:#f8fafc;border:1px solid #0000;border-radius:8px;align-self:flex-start;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.home-page .month-budget-add-toggle svg{width:14px;height:14px}.home-page .month-budget-add-form{border-top:1px dashed #cbd5e1;grid-template-columns:minmax(0,1fr) minmax(92px,.8fr);gap:6px;min-width:0;padding-top:7px;display:grid}.home-page .month-budget-add-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.home-page .month-budget-add-actions button{color:#475569;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:11px;font-weight:700}.home-page .month-budget-add-actions button[type=submit]{border-color:var(--home-accent);background:var(--home-accent);color:#fff}.home-page .month-settings-budget-breakdown{color:#64748b;font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:9px;font-size:11px;font-weight:700;display:flex}.home-page .month-settings-budget-breakdown strong{color:#1e293b;white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:17px;display:flex}.home-page .month-settings-budget-breakdown small{color:#64748b;font-size:8px}.home-page .month-settings-budget-warning{color:#9a3412;overflow-wrap:anywhere;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;padding:9px 10px;font-size:12px;line-height:1.5}.home-page .month-settings-budget-warning p{margin:0}.home-page .month-settings-budget-warning strong{font-variant-numeric:tabular-nums;margin:0 2px}.home-page .home-daily-action-panel label{color:#475569;gap:4px;font-size:12px;font-weight:600;line-height:1.35}.home-page .home-daily-action-panel input,.home-page .home-daily-action-panel select,.home-page .category-manager input{width:100%;min-width:0}.home-page input:focus-visible,.home-page select:focus-visible,.home-page textarea:focus-visible,.home-page button:focus-visible{outline-offset:2px;border-color:var(--home-accent);outline:3px solid #4f46e538}.home-page .home-daily-action-panel form button[type=submit]{border:1px solid var(--home-accent);background:var(--home-accent);color:#fff;border-radius:9px;min-height:44px;font-weight:700}.home-page .bulk-plan-creator{border:1px solid var(--home-card-border);background:#fbfcfe;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.home-page .bulk-plan-creator h3,.home-page .bulk-plan-creator h4{color:#1e293b;margin:0}.home-page .bulk-plan-creator h3{font-size:15px}.home-page .bulk-plan-creator h4{font-size:13px}.home-page .bulk-plan-flow-section{flex-direction:column;gap:7px;min-width:0;display:flex}.home-page .bulk-plan-method-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:40px;display:flex}.home-page .bulk-plan-method-heading>strong{color:#475569;font-size:12px}.home-page .bulk-plan-help-toggle,.home-page .bulk-plan-help-heading button{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:40px;min-width:40px;min-height:40px;padding:0;display:grid}.home-page .bulk-plan-help-toggle[aria-expanded=true]{color:#475569;background:#f8fafc;border-color:#cbd5e1}.home-page .bulk-plan-help-toggle svg,.home-page .bulk-plan-help-heading button svg{width:17px;height:17px}.home-page .bulk-plan-help{color:#475569;background:#f1f5f9;border-radius:9px;padding:8px 9px;font-size:11px;line-height:1.45}.home-page .bulk-plan-help-heading{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}.home-page .bulk-plan-help-heading button{width:36px;min-width:36px;min-height:36px}.home-page .bulk-plan-help ul{margin:3px 0 0;padding-left:18px}.home-page .bulk-plan-help li+li{margin-top:3px}.home-page .bulk-plan-flow-section>h4{color:#475569;font-size:12px}.home-page .bulk-plan-result-section{border-top:1px solid var(--home-divider);gap:5px;padding-top:6px}.home-page .bulk-plan-creator fieldset{border:0;min-width:0;margin:0;padding:0}.home-page .bulk-plan-creator legend{color:#475569;margin-bottom:5px;font-size:12px;font-weight:700}.home-page .bulk-plan-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.home-page .bulk-plan-options label{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:7px;min-width:0;min-height:44px;padding:7px 9px;font-size:13px;font-weight:600;display:flex}.home-page .bulk-plan-options input{width:17px;height:17px;accent-color:var(--home-accent);margin:0}.home-page .bulk-plan-options label:has(input:checked){color:#3730a3;background:#eef2ff;border-color:#818cf8}.home-page .bulk-plan-options label:has(input:focus-visible){outline-offset:2px;outline:3px solid #4f46e53d}.home-page .bulk-plan-creator fieldset:disabled label{cursor:default;opacity:.62}.home-page .bulk-plan-day-type-settings{flex-direction:column;gap:8px;min-width:0;display:flex}.home-page .bulk-plan-day-type-heading{color:#334155;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.home-page .bulk-plan-day-type-heading small{color:#64748b;text-align:right;font-size:9px;font-weight:500}.home-page .bulk-plan-day-type-priority{color:#94a3b8;font-size:var(--home-meta-font-size);margin:0;line-height:1.35}.home-page .bulk-plan-day-type-list{background:#fff;border:1px solid #dbe4ee;border-radius:10px;min-width:0;overflow:hidden}.home-page .bulk-plan-day-type-group+.bulk-plan-day-type-group{border-top:1px solid #dbe4ee}.home-page .bulk-plan-day-type-group>h4,.home-page .bulk-plan-day-type-choice-group>h4{color:#64748b;font-size:var(--home-meta-font-size);margin:0;font-weight:700;line-height:1.3}.home-page .bulk-plan-day-type-group>h4{background:#f8fafc;padding:5px 9px 3px}.home-page .bulk-plan-day-type-group-rows{min-width:0}.home-page .bulk-plan-day-type-row{color:#334155;grid-template-columns:minmax(84px,1fr) minmax(72px,106px) 24px 44px;align-items:center;gap:4px;min-width:0;min-height:48px;padding:4px 4px 4px 9px;font-size:12px;font-weight:700;display:grid}.home-page .bulk-plan-day-type-row+.bulk-plan-day-type-row{border-top:1px solid #eef2f7}.home-page .bulk-plan-day-type-row.is-auto{background:#f5f7ff}.home-page .bulk-plan-day-type-row.is-unused{color:#94a3b8;background:#f1f5f9}.home-page .bulk-plan-day-type-label{flex-direction:column;gap:1px;min-width:0;display:flex}.home-page .bulk-plan-day-type-name{overflow-wrap:anywhere;min-width:0}.home-page .bulk-plan-day-type-status{color:#94a3b8;white-space:nowrap;font-variant-numeric:tabular-nums;grid-template-columns:2ch auto auto 2ch auto;justify-content:end;align-items:baseline;column-gap:2px;min-width:92px;font-size:10px;font-weight:600;line-height:1.25;display:grid}.home-page .bulk-plan-day-type-status span:first-child,.home-page .bulk-plan-day-type-status span:nth-child(4){text-align:right}.home-page .bulk-plan-day-type-status span:last-child{color:#a1aab8;font-size:9px;font-weight:500}.home-page .bulk-plan-day-type-unavailable{color:#94a3b8;font-size:10px;font-weight:500;line-height:1.2}.home-page .bulk-plan-day-type-row.is-unused .bulk-plan-day-type-status{color:#94a3b8}.home-page .bulk-plan-auto-label{border-radius:var(--home-badge-radius);color:#64748b;text-align:center;white-space:nowrap;background:#f1f5f9;min-width:0;padding:1px 5px;font-size:9px;font-weight:700}.home-page .bulk-plan-auto-label:empty{background:0 0;padding:0}.home-page .bulk-plan-input-with-unit{color:#64748b;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;display:grid}.home-page .bulk-plan-input-with-unit input{width:100%;min-width:0}.home-page .bulk-plan-day-type-row .bulk-plan-input-with-unit input{text-align:right}.home-page .bulk-plan-day-type-row.is-auto .bulk-plan-input-with-unit input{color:#3730a3;background:#eef2ff;border-color:#c7d2fe;font-weight:700}.home-page .bulk-plan-day-type-row.is-unused .bulk-plan-input-with-unit{color:#94a3b8}.home-page .bulk-plan-day-type-row.is-unused .bulk-plan-input-with-unit input{color:#64748b;background:#e9eef4;border-color:#d8dee8}.home-page .bulk-plan-day-type-remove{color:#b91c1c;width:44px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.home-page .bulk-plan-day-type-remove svg{width:15px;height:15px}.home-page .bulk-plan-day-type-add{border-top:1px solid var(--home-divider);flex-direction:column;gap:6px;padding-top:7px;display:flex}.home-page .bulk-plan-day-type-add-toggle{color:#475569;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ee;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:700;display:grid}.home-page .bulk-plan-day-type-add-toggle small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:112px;font-size:9px;font-weight:600;overflow:hidden}.home-page .bulk-plan-day-type-add-toggle svg{width:16px;height:16px;transition:transform .13s}.home-page .bulk-plan-day-type-add-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.home-page .bulk-plan-day-type-add-controls{background:#f8fafc;border:1px solid #dbe4ee;border-radius:9px;flex-direction:column;gap:6px;min-width:0;padding:6px;display:flex}.home-page .bulk-plan-day-type-add-controls fieldset{border:0;min-width:0;margin:0;padding:0}.home-page .bulk-plan-day-type-choice-groups{flex-direction:column;gap:7px;min-width:0;display:flex}.home-page .bulk-plan-day-type-choice-group{flex-direction:column;gap:4px;min-width:0;display:flex}.home-page .bulk-plan-day-type-choice-group+.bulk-plan-day-type-choice-group{border-top:1px solid #e2e8f0;padding-top:7px}.home-page .bulk-plan-day-type-add-heading{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.home-page .bulk-plan-day-type-add-heading strong{color:#475569;font-size:11px;font-weight:700}.home-page .bulk-plan-day-type-add-close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;min-width:40px;min-height:40px;padding:0;display:grid}.home-page .bulk-plan-day-type-add-close svg{width:16px;height:16px}.home-page .bulk-plan-day-type-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.home-page .bulk-plan-day-type-choices label{color:#334155;text-align:center;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;min-width:0;min-height:40px;padding:4px 7px;font-size:12px;font-weight:600;transition:transform 90ms,filter 90ms;display:flex;position:relative}.home-page .bulk-plan-day-type-choices input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-page .bulk-plan-day-type-choices label.is-selected{color:#fff;background:#3730a3;border-color:#3730a3}.home-page .bulk-plan-day-type-choices label.is-added{color:#94a3b8;cursor:default;background:#e2e8f0;border-color:#dbe4ee;gap:4px}.home-page .bulk-plan-day-type-choices label.is-added small{border-radius:var(--home-badge-radius);background:#ffffffb8;flex:none;padding:1px 5px;font-size:9px;font-weight:700}.home-page .bulk-plan-day-type-choices label:active{filter:brightness(.94);transform:scale(.98)}.home-page .bulk-plan-day-type-choices label.is-added:active{filter:none;transform:none}.home-page .bulk-plan-day-type-choices label:has(input:focus-visible){outline-offset:2px;outline:3px solid #4f46e53d}.home-page .bulk-plan-day-type-add-submit{color:#fff;width:100%;min-width:0;min-height:44px;font:inherit;border:1px solid #cbd5e1;border-color:var(--home-accent);background:#fff;background:var(--home-accent);border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700}.home-page .bulk-plan-day-type-add-submit:disabled{color:#94a3b8;background:#e2e8f0;border-color:#cbd5e1}.home-page .bulk-plan-preview dl div.is-over dt,.home-page .bulk-plan-preview dl div.is-over dd{color:#b91c1c}.home-page .bulk-plan-recommendation{border-top:1px solid #fee2e2;flex-direction:column;gap:7px;margin-top:8px;padding-top:8px;display:flex}.home-page .bulk-plan-recommendation p{color:#7f1d1d;margin:0;font-size:12px;line-height:1.5}.home-page .bulk-plan-recommendation button{color:#b91c1c;min-height:44px;font:inherit;background:#fff;border:1px solid #fca5a5;border-radius:9px;font-size:13px;font-weight:700}.home-page .bulk-plan-warning{color:#a16207;background:#fffaf0;border-radius:8px;margin:0;padding:6px 8px;font-size:11px;line-height:1.45}.home-page .bulk-plan-unallocated-note{color:#64748b;overflow-wrap:anywhere;background:#f8fafc;border-radius:8px;margin:0;padding:7px 8px;font-size:11px;line-height:1.55}.home-page .bulk-plan-apply-button{width:100%;min-height:44px;font:inherit;cursor:pointer;border:1px solid var(--home-accent);background:var(--home-accent);color:#fff;border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700}.home-page .bulk-plan-apply-button:disabled{cursor:default;color:#475569;opacity:.78;background:#cbd5e1;border-color:#94a3b8}.home-page .bulk-plan-calculating{color:#64748b;margin:0;font-size:12px}.home-page .bulk-plan-preview{background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:4px;padding:7px 8px;display:flex}.home-page .bulk-plan-preview dl{flex-direction:column;gap:3px;margin:0;display:flex}.home-page .bulk-plan-preview dl div{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.home-page .bulk-plan-preview dl div.is-primary dd{color:#111827;font-size:17px}.home-page .bulk-plan-preview dl div.is-secondary dt,.home-page .bulk-plan-preview dl div.is-secondary dd{color:#64748b;font-size:11px;font-weight:600}.home-page .bulk-plan-budget-difference dd{white-space:normal}.home-page .bulk-plan-budget-difference.is-exact dd{color:#047857}.home-page .bulk-plan-budget-difference.is-over dd{color:#c2410c}.home-page .bulk-plan-preview dt{color:#64748b;font-size:12px}.home-page .bulk-plan-preview dd{color:#1e293b;text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:700}.home-page .bulk-plan-preview-details-toggle{color:#64748b;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe4ee;border-radius:7px;align-self:flex-start;padding:3px 7px;font-size:11px;font-weight:700}.home-page button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--home-button-transition), filter var(--home-button-transition), box-shadow var(--home-button-transition), background-color var(--home-button-transition), border-color var(--home-button-transition), color var(--home-button-transition), opacity var(--home-button-transition)}.home-page button:not(:disabled){cursor:pointer}.home-page button:not(:disabled):active{filter:brightness(.96);box-shadow:none;transform:scale(.985)}.home-page button:disabled{cursor:not-allowed}.home-page .bulk-plan-preview-details{background:#f8fafc;border-radius:8px;padding:7px 8px}.home-page .bulk-plan-preview-details dl{gap:3px}.home-page .bulk-plan-success{color:#047857;background:#ecfdf5;border-radius:8px;margin:0;padding:8px 9px;font-size:12px;font-weight:700}.home-page .category-manager-backdrop{z-index:1000;padding:max(16px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:#0f172a6b;justify-content:center;align-items:flex-end;animation:.13s ease-out home-fade-in;display:flex;position:fixed;inset:0}.home-page .category-manager-dialog{background:#fff;border-radius:18px 18px 16px 16px;width:min(100%,560px);max-height:min(82dvh,720px);animation:.14s ease-out home-sheet-in;overflow:auto;box-shadow:0 10px 30px #0f172a24}.home-page .category-manager-dialog-header{z-index:1;border-bottom:1px solid var(--home-divider);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 10px 16px;display:flex;position:sticky;top:0}.home-page .category-manager-dialog-header div{min-width:0}.home-page .category-manager-dialog-header span{color:var(--home-muted);font-size:11px;font-weight:700}.home-page .category-manager-dialog-header h2{color:#111827;margin:2px 0 0;font-size:18px;line-height:1.25}.home-page .category-manager-dialog-header>button{border:1px solid var(--home-border);color:#475569;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid}.home-page .category-manager-dialog-header>button svg{width:20px;height:20px}.home-page .planning-settings-dialog{width:min(100%,640px);max-height:min(82vh,100vh - 96px);max-height:min(82dvh, calc(100dvh - var(--planning-modal-top) - var(--planning-modal-bottom)));border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.home-page .category-manager-backdrop.planning-settings-backdrop{--planning-modal-top:max(68px, calc(env(safe-area-inset-top) + 52px));--planning-modal-bottom:max(16px, env(safe-area-inset-bottom));padding-top:var(--planning-modal-top);padding-bottom:var(--planning-modal-bottom);align-items:flex-start}.home-page .planning-settings-content{overscroll-behavior:contain;flex:auto;min-width:0;min-height:0;padding:8px 10px;overflow-y:auto}.home-page .planning-settings-adjustment{border-bottom:1px solid var(--home-divider);margin-bottom:4px;padding-bottom:6px}.home-page .planning-settings-adjustment .today-budget-calculation{box-shadow:none;background:0 0;border:0;padding:4px 2px}.home-page .planning-settings-content .budget-planning-controls{border-top:0;padding:0}.home-page .planning-settings-content .budget-planning-panel{gap:4px;padding-top:0}.home-page .planning-settings-content .budget-planning-section{padding:3px 0 1px}.home-page .planning-settings-content .budget-planning-section-toggle{min-height:42px;padding-top:5px;padding-bottom:5px}.home-page .planning-settings-content .month-settings-content{gap:7px}.home-page .planning-settings-content .month-budget-section{gap:5px;padding:7px 8px}.home-page .planning-settings-backup{border-top:1px solid var(--home-divider);gap:8px;margin-top:8px;padding:12px 8px 4px;display:grid}.home-page .planning-settings-backup h3{color:var(--home-text);margin:0;font-size:.9rem;font-weight:650}.home-page .planning-settings-backup p{color:var(--home-muted);margin:3px 0 0;font-size:.78rem;line-height:1.5}.home-page .planning-settings-backup>button{justify-self:start}.home-page .planning-settings-backup .planning-settings-backup__status{min-height:1.2em;margin:0}.home-page .planning-settings-restore{border-top:1px solid var(--home-divider);gap:8px;padding-top:10px;display:grid}.home-page .planning-settings-restore__file{justify-self:start;position:relative;overflow:hidden}.home-page .planning-settings-restore__file input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.home-page .planning-settings-restore__file:has(input:focus-visible){outline-offset:2px;outline:3px solid #4f46e547}.home-page .planning-settings-restore__summary{border:1px solid var(--home-border);background:#f8fafc;border-radius:12px;gap:10px;padding:10px;display:grid}.home-page .planning-settings-restore__summary dl{gap:5px;margin:0;display:grid}.home-page .planning-settings-restore__summary dl>div{justify-content:space-between;gap:12px;display:flex}.home-page .planning-settings-restore__summary dt,.home-page .planning-settings-restore__summary dd{margin:0;font-size:.78rem}.home-page .planning-settings-restore__summary dd{text-align:right;overflow-wrap:anywhere;min-width:0}.home-page .planning-settings-restore__prebackup{background:#fff7ed;border-radius:10px;padding:8px}.home-page .planning-settings-restore__confirmation{min-height:44px;color:var(--home-text);align-items:center;gap:8px;font-size:.8rem;line-height:1.4;display:flex}.home-page .planning-settings-restore__confirmation input{flex:none;width:20px;height:20px}.home-page .planning-settings-restore__error{color:#b42318!important}.home-page .planning-settings-footer{padding:7px 10px max(7px, env(safe-area-inset-bottom));border-top:1px solid var(--home-divider);background:#fffffffa;flex:none}.home-page .planning-settings-footer:empty{display:none}.home-page .planning-settings-dialog .category-manager-dialog-header>button{background:0 0;border-color:#0000;position:relative}.home-page .planning-settings-dialog .category-manager-dialog-header>button:before{border:1px solid var(--home-border);content:"";background:#fff;border-radius:50%;width:36px;height:36px;position:absolute}.home-page .planning-settings-dialog .category-manager-dialog-header>button svg{z-index:1;width:17px;height:17px}.home-page .planning-settings-dialog>.category-manager-dialog-header{flex:none;padding:8px 10px 7px 14px}.home-page .planning-settings-dialog>.category-manager-dialog-header h2{margin-top:0}.home-page .category-manager{background:#fff;border:0;border-radius:0;width:100%;overflow:hidden}.home-page .category-manager-content{background:#fff;border-top:0;flex-direction:column;gap:8px;padding:12px;display:flex}.home-page .category-manager-note{color:var(--home-muted);margin:0;font-size:11px}.home-page .category-manager-list{border:1px solid var(--home-card-border);background:#fff;border-radius:10px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.home-page .category-manager-item{border-bottom:1px solid var(--home-divider);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;min-height:48px;padding:4px 6px 4px 10px;display:grid}.home-page .category-manager-item:last-child{border-bottom:0}.home-page .category-manager-item.is-inactive{color:var(--home-muted);background:#f8fafc}.home-page .category-manager-name{flex-direction:column;min-width:0;display:flex}.home-page .category-manager-name strong{overflow-wrap:anywhere;font-size:14px}.home-page .category-manager-name small{border-radius:var(--home-badge-radius);color:#b45309;font-size:var(--home-meta-font-size);background:#fff7ed;align-self:flex-start;padding:1px 5px;font-weight:700;line-height:1.3}.home-page .category-manager-actions{gap:2px;display:flex}.home-page .category-manager-actions button,.home-page .category-inline-form button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;place-items:center;width:38px;min-width:38px;min-height:38px;padding:0;display:grid}.home-page .category-manager-actions button:disabled,.home-page .category-inline-form button:disabled,.home-page .category-form-actions button:disabled{opacity:.35;cursor:not-allowed}.home-page .category-manager-actions button.is-danger{color:#b91c1c;background:snow;border-color:#fee2e2}.home-page .category-manager-actions svg,.home-page .category-inline-form svg{width:16px;height:16px}.home-page .category-inline-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:4px;width:100%;display:grid}.home-page .category-add-form{flex-direction:column;gap:7px;padding:4px 0;display:flex}.home-page .category-add-form label{color:#475569;flex-direction:column;gap:4px;font-size:12px;font-weight:600;line-height:1.35;display:flex}.home-page .category-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.home-page .category-form-actions button,.home-page .category-add-toggle{color:#475569;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:13px;font-weight:700;display:flex}.home-page .category-add-toggle{width:100%;color:var(--home-accent)}.home-page .category-form-actions svg,.home-page .category-add-toggle svg{width:16px;height:16px}.home-page .category-manager-error{color:#b91c1c;overflow-wrap:anywhere;margin:0;font-size:12px}.home-page .home-daily-list{gap:8px}.home-page .home-daily-list h2{letter-spacing:-.01em;margin:0 2px;font-size:15px;font-weight:760}.home-page .home-daily-list-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:44px;display:flex}.home-page .home-daily-list-header>.home-section-heading{flex:auto}.home-page .home-daily-range-toggle{color:#475569;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;padding:6px 8px;font-size:11px;font-weight:700}.home-page .home-daily-range-toggle:hover{background:#f1f5f9}.home-page .home-daily-table{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.home-page .home-daily-rows{flex-direction:column;gap:6px;display:flex}.home-page .home-daily-row-group{border:1px solid var(--home-card-border);border-radius:var(--home-radius);box-shadow:var(--home-card-shadow);background:#fff;transition:border-color .13s,box-shadow .13s;overflow:hidden}.home-page .home-daily-row-group.is-expanded{box-shadow:var(--home-card-shadow-raised);border-color:#cbd5e1}.home-page .home-daily-row-group.is-today{background:#f6f1ff;border-color:#d6caec;position:relative}.home-page .home-daily-row-group.is-today:before{z-index:1;content:"";background:#7c3aed;border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.home-page .home-daily-row-group.is-today .home-daily-date{color:#6932bd;font-weight:800}.home-page .home-daily-row{grid-template-columns:minmax(58px,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(68px,.9fr) 44px;align-items:center;gap:5px;width:100%;min-width:0;min-height:48px;padding:3px 5px 3px 7px;display:grid}.home-page .home-daily-metric{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:3px;min-width:0;padding:0 2px;display:grid}.home-page .home-daily-metric+.home-daily-metric,.home-page .home-daily-difference{border-left:1px solid #eef2f7;padding-left:4px}.home-page .home-daily-metric small{color:#64748b;white-space:nowrap;justify-self:start;font-size:9.5px;font-weight:700}.home-page .home-daily-metric strong{color:#1f2937;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;justify-self:end;min-width:0;font-size:clamp(11px,3.2vw,13px);font-weight:700;line-height:1.2;overflow:hidden}.home-page .home-daily-metric.is-adjusted strong{color:#9a3412}.home-page .home-daily-date{white-space:nowrap;color:#111827;font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;min-width:0;font-size:12.5px;line-height:1.2;display:flex}.home-page .home-daily-date small{font-size:var(--home-meta-font-size);font-weight:700;line-height:1.2}.home-page .home-daily-date.is-saturday{color:#2563eb}.home-page .home-daily-date.is-holiday{color:#dc2626}.home-page .home-daily-amount{color:#1f2937;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;min-width:0;font-size:clamp(11px,3.1vw,13px);font-weight:650;line-height:1.2;overflow:hidden}.home-page .home-daily-difference.is-positive{color:#2563eb}.home-page .home-daily-difference.is-negative{color:#b91c1c}.home-page .home-daily-expand-button{width:44px;min-width:44px;min-height:44px;color:var(--home-muted);font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:relative}.home-page .home-daily-expand-button:before{content:"";border:1px solid #f0f2f5;border-radius:50%;width:34px;height:34px;position:absolute}.home-page .home-daily-expand-button svg{width:18px;height:18px;position:relative}.home-page .home-daily-expand-button[aria-expanded=true]{color:var(--home-accent)}.home-page .home-daily-expand-button[aria-expanded=true]:before{background:#eef2ff;border-color:#c7d2fe}.home-page .home-daily-action-panel{border-top:1px solid var(--home-divider);background:#fbfcfe;flex-direction:column;gap:0;min-width:0;padding:5px 10px 9px;animation:.13s ease-out home-panel-in;display:flex}.home-page .home-daily-action-section{border-bottom:1px solid var(--home-divider);flex-direction:column;gap:6px;min-width:0;padding:8px 0;display:flex}.home-page .home-plan-section{gap:2px;padding-top:2px;padding-bottom:3px}.home-page .home-daily-action-section:last-child{border-bottom:0;padding-bottom:0}.home-page .home-daily-action-section h3{color:#334155;margin:0;font-size:14px;font-weight:750;line-height:1.25}.home-page .daily-plan-summary{grid-template-columns:minmax(54px,auto) minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;min-height:44px;display:grid}.home-page .daily-plan-summary>strong{color:#111827;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.2}.home-page .home-compact-actions{flex:none;gap:3px;display:flex}.home-page .home-compact-actions button{color:#475569;width:44px;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:16px;display:grid;position:relative}.home-page .home-compact-actions button:before{content:"";background:#fff;border:1px solid #edf0f4;border-radius:50%;width:34px;height:34px;position:absolute}.home-page .home-compact-actions svg{width:16px;height:16px;position:relative}.home-page .home-danger-button,.home-page .home-daily-action-panel form .home-danger-button{color:#b91c1c;background:0 0;border-color:#0000}.home-page .home-danger-button:before,.home-page .home-daily-action-panel form .home-danger-button:before{background:snow;border-color:#fee2e2}.home-page .home-danger-button:disabled{opacity:.4;cursor:not-allowed}.home-page .home-expense-block>.daily-expense-form{background:0 0;border:0;padding:1px 0 0}.home-page .home-daily-action-panel .daily-plan-form,.home-page .home-daily-action-panel .daily-edit-form,.home-page .home-daily-action-panel .daily-expense-form form{border:1px solid var(--home-card-border);background:#fff;border-radius:10px;gap:9px;min-width:0;padding:9px}.home-page .daily-plan-limit{color:#475569;background:#eef2ff;border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 8px;font-size:12px;display:flex}.home-page .daily-plan-limit strong{color:#1e293b;text-align:right;font-variant-numeric:tabular-nums}.home-page .daily-plan-limit.is-over{color:#b91c1c;background:#fff1f2}.home-page .daily-plan-limit.is-over strong{color:#b91c1c}.home-page .home-daily-action-panel form .daily-plan-limit-action{color:#b91c1c;background:#fff;border-color:#fca5a5;min-height:44px}.home-page .home-daily-action-panel .daily-edit-form{margin:5px 0 2px 12px}.home-page .home-expense-block .daily-expense-form form{background:0 0;border:0;padding:2px 0 0}.home-page .home-daily-form-actions{gap:7px;margin-top:2px;display:flex}.home-page .home-daily-form-actions button{border:1px solid var(--home-border);color:#475569;background:#fff;border-radius:9px;width:100%;min-height:44px;font-weight:700}.home-page .expense-entry-form .home-primary-action{border-color:var(--home-accent);background:var(--home-accent);color:#fff}.home-page .expense-entry-form .home-primary-action:disabled{color:#64748b;cursor:default;background:#cbd5e1;border-color:#cbd5e1}.home-page .expense-entry-form .home-secondary-action{border-color:var(--home-border);color:#475569;background:#fff}.home-page .home-expense-block{border:1px solid var(--home-card-border);background:#f3f6fa;border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:7px;display:flex}.home-page .home-expense-groups{flex-direction:column;gap:5px;min-width:0;display:flex}.home-page .home-expense-group{background:#ffffffc7;border:1px solid #e8edf3;border-radius:10px;min-width:0}.home-page .home-expense-category-row{color:#111827;width:100%;min-width:0;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(72px,auto) 30px;align-items:center;gap:7px;padding:3px 4px 3px 8px;display:grid}.home-page .home-expense-category-row[aria-expanded=true]{background:#fff}.home-page .home-expense-category-label{align-items:baseline;gap:7px;min-width:0;display:flex}.home-page .home-expense-category-row strong{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.25}.home-page .home-expense-category-count{color:var(--home-muted);font-size:var(--home-meta-font-size);white-space:nowrap;flex:none;font-weight:650;line-height:1.3}.home-page .home-expense-category-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.home-page .home-expense-category-indicator{width:28px;height:28px;color:var(--home-muted);border:1px solid #e5eaf0;border-radius:50%;justify-self:end;place-items:center;font-size:16px;line-height:1;display:grid}.home-page .home-expense-category-indicator svg{width:16px;height:16px}.home-page .home-expense-category-row[aria-expanded=true] .home-expense-category-indicator{color:#475569;background:#f8fafc;border-color:#d9dee7}.home-page .home-expense-category-details{background:0 0;border-top:0;border-left:2px solid #cbd5e1;border-radius:0 8px 8px 0;min-width:0;margin:0 4px 4px 10px;padding:3px 3px 3px 7px;animation:.12s ease-out home-panel-in}.home-page .daily-expense-detail{background:#ffffffbf;border:0;border-radius:8px;gap:4px;margin:3px 0;padding:3px 4px}.home-page .daily-expense-row{grid-template-columns:minmax(0,1fr) minmax(62px,auto) 88px;gap:3px}.home-page .home-expense-memo{color:#334155;overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.3}.home-page .home-expense-detail-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.home-page .home-expense-add-toggle{color:#475569;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#ffffff8c;border:1px solid #cbd5e1b3;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin-top:0;padding:6px 12px;font-size:13px;font-weight:700;display:flex}.home-page .home-expense-memo.is-empty{min-height:1em}.home-page .home-detail-actions{gap:0}.home-page .home-expense-add-toggle svg{width:17px;height:17px}.home-page .home-expense-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.home-page .home-expense-section-heading>strong{color:#1f2937;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;line-height:1.2}.home-page .expense-entry-form{flex-direction:column;gap:8px;display:flex}.home-page .expense-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.home-page .expense-form-fields>label{gap:2px}.home-page .expense-form-fields>label,.home-page .expense-category-field{min-width:0}.home-page .expense-category-field{flex-direction:column;grid-column:1/-1;gap:2px;display:flex}.home-page .expense-category-label-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:40px;display:flex}.home-page .expense-category-label-row label{color:#475569;font-size:12px;font-weight:600;line-height:1.35}.home-page .expense-category-manage{color:#64748b;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.home-page .expense-category-manage svg{width:15px;height:15px}.home-page .form-error,.home-page .daily-error,.home-page .category-manager-error{color:#b91c1c;overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;line-height:1.4}.home-page .health-panel{border-color:var(--home-border);border-radius:var(--home-radius)}.home-page .month-settings-content input,.home-page .home-daily-action-panel input,.home-page .home-daily-action-panel select,.home-page .home-daily-action-panel textarea,.home-page .category-manager input,.home-page .bulk-plan-input-with-unit input{min-height:var(--home-control-height);border-radius:var(--home-control-radius);color:#111827;transition:border-color var(--home-control-transition), background-color var(--home-control-transition), box-shadow var(--home-control-transition);background:#fff;border:1px solid #cbd5e1;padding:8px 10px;font-family:inherit;font-size:16px;line-height:1.25}.home-page input::placeholder,.home-page textarea::placeholder{color:#94a3b8;opacity:1}.home-page input:not([type=checkbox]):not([type=radio]):disabled,.home-page select:disabled,.home-page textarea:disabled{color:#64748b;cursor:not-allowed;opacity:1;background:#eef2f6;border-color:#d8dee8}.home-page :is(.budget-planning-toggle,.month-budget-add-toggle,.bulk-plan-help-toggle,.bulk-plan-day-type-add-toggle,.category-add-toggle,.expense-category-manage,.home-expense-add-toggle) svg{stroke-width:2px;width:16px;height:16px}.home-page .home-button{min-height:var(--home-button-touch-size);border-radius:var(--home-button-radius);font-family:inherit;font-size:13px;font-weight:700;line-height:1.2}.home-page .home-button.home-button--primary,.home-page .home-button.home-button--secondary,.home-page .home-button.home-button--danger:not(.home-button--icon){justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.home-page .home-button.home-button--primary{border:1px solid var(--home-accent);background:var(--home-accent);color:#fff;box-shadow:0 1px 1px #0f172a12}.home-page .home-button.home-button--secondary{color:#5b677a;background:#fff;border:1px solid #d9e0e8}.home-page .home-button.home-button--danger:not(.home-button--icon){color:#b91c1c;background:snow;border:1px solid #fecaca}.home-page .home-button.home-button--icon{width:var(--home-button-touch-size);min-width:var(--home-button-touch-size);min-height:var(--home-button-touch-size);color:#475569;box-shadow:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid;position:relative}.home-page .home-button.home-button--icon:before{content:"";width:36px;height:36px;transition:background-color var(--home-button-transition), border-color var(--home-button-transition), box-shadow var(--home-button-transition);background:#fff;border:1px solid #e8edf3;border-radius:50%;position:absolute}.home-page .home-button.home-button--icon>svg{z-index:1;width:17px;height:17px;position:relative}.home-page .home-button.home-button--icon.home-button--primary{color:#fff}.home-page .home-button.home-button--icon.home-button--primary:before{border-color:var(--home-accent);background:var(--home-accent)}.home-page .home-button.home-button--danger{color:#b91c1c}.home-page .home-button.home-button--icon.home-button--danger:before{background:snow;border-color:#fecaca}.home-page .home-button.home-button--secondary[aria-expanded=true]{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.home-page .home-button.home-button--icon.home-button--secondary[aria-expanded=true]{background:0 0;border-color:#0000}.home-page .home-button.home-button--icon.home-button--secondary[aria-expanded=true]:before{background:#eef2ff;border-color:#c7d2fe}.home-page .home-button:disabled{filter:saturate(.65);opacity:.52;box-shadow:none}.home-page .home-button.home-button--primary:disabled{color:#64748b;background:#e2e8f0;border-color:#cbd5e1}.home-page .home-button.home-button--secondary:disabled{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.home-page .home-button.home-button--icon:disabled{background:0 0;border-color:#0000}.home-page .home-button.home-button--icon:disabled:before{background:#f8fafc;border-color:#e2e8f0}@media (hover:hover) and (pointer:fine){.home-page .home-button.home-button--primary:not(:disabled):hover{background:#4338ca;border-color:#4338ca}.home-page .home-button.home-button--secondary:not(:disabled):hover{color:#475569;background:#f8fafc;border-color:#cbd5e1}.home-page .home-button.home-button--icon.home-button--secondary:not(:disabled):hover{background:0 0;border-color:#0000}.home-page .home-button.home-button--icon.home-button--secondary:not(:disabled):hover:before{background:#f8fafc;border-color:#d9e0e8}.home-page .home-button.home-button--danger:not(:disabled):hover{color:#991b1b}.home-page .home-button.home-button--icon.home-button--danger:not(:disabled):hover:before{background:#fff1f2;border-color:#fca5a5}}@keyframes home-fade-in{0%{opacity:0}}@keyframes home-sheet-in{0%{opacity:0;transform:translateY(12px)}}@keyframes home-panel-in{0%{opacity:0;transform:translateY(-3px)}}@media (width<=420px){.app-shell.home-page{gap:10px;padding-left:10px;padding-right:10px}.home-page .home-overview{padding:0}.home-page .budget-summary-primary,.home-page .budget-planning-controls{padding-left:10px;padding-right:10px}.home-page .month-navigation-main{grid-template-columns:42px minmax(0,1fr) 42px;gap:5px}.home-page .month-navigation-main>button{width:42px}.home-page .home-daily-row{grid-template-columns:minmax(52px,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(58px,.9fr) 44px;gap:3px;padding-left:5px;padding-right:3px}.home-page .home-daily-metric{padding-left:1px;padding-right:1px}.home-page .home-daily-metric+.home-daily-metric,.home-page .home-daily-difference{padding-left:3px}.home-page .daily-plan-summary{grid-template-columns:minmax(42px,auto) minmax(0,1fr) auto;gap:2px}.home-page .daily-plan-summary>strong{font-size:14px}.home-page .home-daily-amount{letter-spacing:-.025em}.home-page .home-daily-date{font-size:11.5px}.home-page .home-daily-date small{font-size:8px}.home-page .home-expense-category-row{grid-template-columns:minmax(0,1fr) minmax(62px,auto) 28px;gap:3px}.home-page .home-expense-category-details{margin-left:8px;padding-left:7px}.home-page .daily-expense-row{grid-template-columns:minmax(0,1fr) minmax(58px,auto) 88px;gap:2px}.home-page .expense-form-fields{grid-template-columns:minmax(0,1fr)}.home-page .expense-category-field{grid-column:auto}}@media (width<=360px){.home-page .monthly-pace-summary .home-section-heading{grid-template-columns:32px minmax(0,1fr);row-gap:0}.home-page .monthly-pace-heading-actions{grid-column:1/-1;justify-self:end;margin-top:-2px}.home-page .home-hero-area{padding:8px}.home-page .home-budget-highlights{grid-template-columns:minmax(0,1fr)}.home-page .budget-highlight-card{padding:11px 12px}.home-page .budget-highlight-amount{font-size:27px}.home-page .budget-summary-amounts{grid-template-columns:minmax(0,1fr);gap:5px}.home-page .budget-summary-separator{display:none}.home-page .budget-summary-amount-group,.home-page .budget-summary-amount-group.is-remaining,.home-page .budget-summary-amount-group.is-total{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;width:100%;display:grid}.home-page .budget-summary-amount-group>span{text-align:right}}@media (width<=340px){.home-page .month-navigation-main{grid-template-columns:40px minmax(0,1fr) 40px;gap:3px}.home-page .month-navigation-main>button{width:40px}.home-page .month-selector{padding-left:2px;padding-right:2px;font-size:21px}.home-page .home-daily-row{grid-template-columns:minmax(48px,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(52px,.9fr) 44px;gap:2px;padding-left:3px;padding-right:2px}.home-page .home-daily-metric{padding-left:0;padding-right:0}.home-page .home-daily-metric+.home-daily-metric,.home-page .home-daily-difference{padding-left:2px}.home-page .home-daily-metric small{font-size:8px}.home-page .home-daily-metric strong,.home-page .home-daily-amount{font-size:9.5px}.home-page .home-daily-action-panel{padding:5px 6px}.home-page .home-expense-category-row{grid-template-columns:minmax(0,1fr) minmax(58px,auto) 28px;gap:2px}}@media (width>=640px){.home-page .planning-settings-dialog>.category-manager-dialog-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.home-page .planning-settings-dialog.is-dragging>.category-manager-dialog-header{cursor:grabbing}.home-page .planning-settings-dialog>.category-manager-dialog-header button{cursor:pointer}.home-page .category-manager-backdrop{align-items:center}.home-page .category-manager-dialog{border-radius:18px}}@media (prefers-reduced-motion:reduce){.home-modal-backdrop,.home-modal-surface,.home-page .budget-highlight-card.is-interactive{transition:none;animation:none}.home-page .category-manager-backdrop,.home-page .category-manager-dialog,.home-page .home-daily-action-panel,.home-page .home-expense-category-details{animation:none}.home-page .home-daily-row-group{transition:none}.budget-comparison-bar__actual,.budget-comparison-bar__overflow,.budget-comparison-bar__planned-marker{transition:none;animation:none}.home-page button,.home-page input,.home-page select,.home-page textarea,.home-page .today-deficit-toggle button span,.home-page .bulk-plan-day-type-choices label{transition:none}.home-page button:not(:disabled):active,.home-page .bulk-plan-day-type-choices label:active{filter:none;transform:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:#f9fafb;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pwa-update-prompt{z-index:1200;right:max(16px, env(safe-area-inset-right));bottom:max(84px, calc(env(safe-area-inset-bottom) + 72px));left:max(16px, env(safe-area-inset-left));color:#24324a;background:#fffffff7;border:1px solid #dbe3ef;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;max-width:440px;min-height:52px;margin-inline:auto;padding:8px 8px 8px 16px;font-size:.875rem;font-weight:600;display:flex;position:fixed;box-shadow:0 8px 24px #1f29371f}.pwa-update-prompt button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#365fba;border:0;border-radius:12px;flex:none;padding:0 14px}.pwa-update-prompt button:focus-visible{outline-offset:2px;outline:3px solid #365fba4d}.pwa-update-prompt button:disabled{cursor:default;opacity:.68}@media (prefers-reduced-motion:reduce){.pwa-update-prompt button{transition:none}}
