:root{--bg:#eef1f0;--fg:#1e2a2f;--muted:#59696f;--faint:#90a0a6;--line:#e3e9e8;--card:#ffffff;--brand:#14996b;--brand-deep:#0c7351;--brand-soft:#e4f4ee;--warn:#a55d10;--warn-soft:#fdf1e2;--danger:#b42318;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--shell-max:720px;--rail-w:74px;--mid-w:352px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100%;min-height:100%;background:var(--bg);color:var(--fg);font-family:Zen Kaku Gothic New,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a,button,div,h1,h2,h3,label,li,p,span{overflow-wrap:anywhere;word-break:normal}li,p{text-wrap:pretty}button,input{font-family:inherit}body,html{touch-action:manipulation;text-size-adjust:100%}.app-pad-sheet button{min-height:44px}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(20,153,107,.12)}.pad-date-field{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;height:44px;box-sizing:border-box;border:1.5px solid #e3e9e8;border-radius:11px;background:#fff;overflow:hidden;padding:0 12px}.pad-date-display{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,Zen Kaku Gothic New,sans-serif;font-size:15px;line-height:1.2;color:#1e2a2f;text-align:center}.pad-date-display,.pad-date-icon{pointer-events:none;z-index:0;font-weight:700}.pad-date-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;line-height:1;color:#90a0a6}.pad-date-calendar{position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:none;min-width:0;margin:0;padding:0;border:0;border-radius:11px;opacity:.001;cursor:pointer;appearance:none;color:transparent;background:transparent;font-size:16px}.pad-date-calendar::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}a{color:var(--brand-deep);text-underline-offset:3px}.app-shell{min-height:100dvh;height:100dvh;max-height:100dvh;flex-direction:column;max-width:var(--shell-max);margin:0 auto;padding-left:var(--safe-left);padding-right:var(--safe-right)}.app-shell,.app-shell-body{display:flex;width:100%;background:var(--bg);overflow:hidden;min-width:0}.app-shell-body{flex:1 1;min-height:0;flex-direction:column}.app-header-stack{flex:none;position:sticky;top:0;z-index:45;background:#fff}.app-header{flex:none;position:relative;z-index:1;background:#fff;border-bottom:1px solid var(--line)}.app-header-actions{flex:none;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:44px;grid-auto-flow:column;align-items:center;width:120px;height:44px;margin-left:auto}@media (max-width:899px){.app-header--phone-month{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "month month";column-gap:4px!important;row-gap:4px!important}.app-header--phone-month.app-header--has-back{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"back title actions" "month month month"}.app-header--phone-month .app-header-back{grid-area:back}.app-header--phone-month .app-header-title-block{grid-area:title;display:flex!important;align-items:center;height:44px;max-width:none;min-width:0}.app-header--phone-month .app-header-title-block .app-header-page-title{font-size:14px!important;line-height:1.2!important}.app-header--phone-month .app-header-actions{grid-area:actions}.app-header--phone-month .app-header-month-inline{grid-area:month;display:grid!important;grid-template-columns:44px 60px 44px;align-items:center;justify-content:center!important;column-gap:0!important;width:100%;height:44px}.app-header--phone-month .app-header-month-current{width:60px!important;min-width:0}.app-header--phone-month .app-header-crumb,.app-header--phone-month .app-header-sub,.app-month-nav{display:none!important}}@media (min-width:390px) and (max-width:899px){.app-header--phone-month{grid-template-columns:120px minmax(150px,1fr) 120px;grid-template-areas:"title month actions";column-gap:0!important;row-gap:0!important;padding-left:0!important;padding-right:0!important}.app-header--phone-month.app-header--has-back{grid-template-columns:44px 76px minmax(150px,1fr) 120px;grid-template-areas:"back title month actions"}.app-header--phone-month .app-header-title-block{box-sizing:border-box;padding-left:10px}.app-header--phone-month.app-header--has-back .app-header-title-block{padding-left:0}.app-header--phone-month .app-header-month-inline{grid-template-columns:44px 30px 44px;width:118px;justify-self:center;column-gap:0!important}.app-header--phone-month .app-header-month-current{width:30px!important}.app-header--phone-month .app-header-month-badge{display:none!important}}.app-main{--main-pad-x:14px;--main-pad-y:14px;flex:1 1;min-height:0;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--main-pad-y) var(--main-pad-x) calc(64px + var(--safe-bottom))}.app-month-nav{--month-nav-outer:8px;margin:calc(var(--month-nav-outer) - var(--main-pad-y)) calc(-1 * var(--main-pad-x)) var(--month-nav-outer);width:calc(100% + 2 * var(--main-pad-x));max-width:calc(100% + 2 * var(--main-pad-x));min-width:0;box-sizing:border-box;background:#fff;border-top:1px solid #e3e9e8;border-bottom:1px solid #e3e9e8;padding:10px}.truncate{text-overflow:ellipsis;white-space:nowrap}.line-clamp-2,.truncate{overflow:hidden;min-width:0}.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;max-width:100%}.card,.history-filter-row,.history-page,.history-row,.history-row-body,.history-row-heading{min-width:0}.history-export-buttons,.history-pagination,.history-toolbar{display:flex;align-items:center;gap:6px}.history-toolbar{flex-wrap:nowrap;margin:11px 3px 8px}.history-export-buttons>a,.history-toolbar>a{flex:none;white-space:nowrap}.history-export-buttons{flex-wrap:nowrap}.history-pagination{justify-content:center;margin:12px 3px 2px}.history-pagination>a,.history-pagination>span{min-width:56px;padding:7px 10px;border:1px solid #e3e9e8;border-radius:999px;color:#59696f;background:#fff;font-size:11px;font-weight:700;text-align:center;text-decoration:none}.history-pagination>span[aria-disabled=true]{color:#b7c1c4;background:#f6f8f8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:15px;padding:14px 16px;font-size:15px;font-weight:700;cursor:pointer;min-height:48px}.btn-primary{background:var(--brand);color:#fff;width:100%}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.household-admin,.household-member-list{display:grid;gap:12px}.household-member-card,.household-member-invite{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 7px 24px rgba(23,59,49,.035)}.household-member-heading,.household-member-invite-heading{display:flex;align-items:center;min-width:0}summary.household-member-heading,summary.household-member-invite-heading{min-height:44px;cursor:pointer;list-style:none}.household-member-heading{gap:11px;padding-bottom:14px;border-bottom:1px solid #edf2f1}.household-member-avatar{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:15px;color:var(--brand-deep);background:linear-gradient(145deg,#e8f7f1,#d8efe6);font-size:17px;font-weight:800}.household-member-identity{flex:1 1 auto;min-width:0}.household-member-invite-title,.household-member-name{color:var(--fg);font-size:15px;font-weight:800;line-height:1.35}.household-member-email{margin-top:2px;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.household-member-status{flex:none;border-radius:999px;padding:5px 9px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:800;line-height:1.2}.household-member-status--pending{color:var(--warn);background:var(--warn-soft)}.household-member-status--disabled{color:var(--muted);background:#eef2f1}.household-member-field-grid,.household-member-invite-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 10px;margin-top:14px}.household-member-field{display:grid;min-width:0;gap:5px}.household-member-field>span{color:var(--muted);font-size:14px;font-weight:700;line-height:1.3}.household-member-field input,.household-member-field select{width:100%;min-width:0;height:44px;margin:0;border:1px solid #dce6e3;border-radius:12px;padding:0 11px;color:var(--fg);background:#fbfdfc;font:inherit;font-size:14px;font-weight:650}.household-member-field input:focus,.household-member-field select:focus{border-color:#69b99d;outline:3px solid #dff2eb;background:#fff}.household-member-permissions,.household-member-scope{min-width:0;margin:14px 0 0;border:0;border-radius:14px;padding:11px 12px 12px;background:#f5f8f7}.household-member-permissions legend,.household-member-scope legend{padding:0;color:var(--muted);font-size:14px;font-weight:800}.household-member-invite-heading p,.household-member-scope p{margin:2px 0 9px;color:var(--muted);font-size:14px;line-height:1.55}.household-member-choice-list{display:flex;flex-wrap:wrap;gap:7px}.household-member-choice{display:inline-flex;align-items:center;min-height:44px;gap:7px;border:1px solid #dfe8e5;border-radius:11px;padding:5px 10px;color:#405057;background:#fff;font-size:14px;font-weight:700;cursor:pointer}.household-member-choice input{width:16px;height:16px;margin:0;accent-color:var(--brand)}.household-member-empty{color:var(--muted);font-size:14px}.household-member-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.household-member-actions>span{color:var(--muted);font-size:14px}.household-member-primary,.household-member-save{min-height:44px;border-radius:12px;padding:10px 14px;font-size:14px}.household-member-save{color:var(--brand-deep);background:var(--brand-soft)}.household-member-primary{color:#fff;background:linear-gradient(145deg,#0c7351,#075d42);box-shadow:0 7px 18px rgba(12,115,81,.16)}.household-member-primary:disabled,.household-member-save:disabled{opacity:.45;cursor:not-allowed}.household-member-invite{border-color:#cae5db;background:linear-gradient(180deg,#fbfefd,#f6fbf9)}.household-member-invite-heading{justify-content:space-between;gap:12px}.household-member-invite-heading>span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:var(--brand-deep);background:var(--brand-soft);font-size:20px;font-weight:500}.household-member-field-grid--invite{grid-template-columns:repeat(3,minmax(0,1fr))}.household-member-scope--invite{background:rgba(255,255,255,.72)}.household-member-invite-actions{display:flex;justify-content:flex-end;margin-top:13px}.household-member-message{border-radius:12px;padding:10px 12px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:700}.household-member-message--error{color:var(--danger);background:#fdecea}.settings-page{display:grid;gap:24px;padding-bottom:4px}.settings-page button{min-height:44px;font-size:14px}.settings-page details>summary{list-style:none}.settings-page details>summary::-webkit-details-marker{display:none}.settings-page details>summary:before{content:"›";flex:none;color:var(--muted);font-size:20px;line-height:1;transition:transform .12s ease}.settings-page details[open]>summary:before{transform:rotate(90deg)}.settings-page .annual-frame-heading p,.settings-page .annual-item-title>span,.settings-page .household-bootstrap-copy p,.settings-page .savings-create-card label>span,.settings-page .savings-edit-card>summary span:last-child,.settings-page .savings-months legend,.settings-page .savings-rule-editor label>span,.settings-page .settings-action-body p,.settings-page .settings-action-message,.settings-page .settings-editor-card-heading p,.settings-page .settings-editor-field>span,.settings-page .settings-editor-help,.settings-page .settings-field-hint,.settings-page .settings-household-switcher-label,.settings-page .settings-result-preview,.settings-page .settings-result-preview strong,.settings-page .settings-rule-item p,.settings-page .settings-rules-disclosure>summary span,.settings-page .settings-section-heading p,.settings-page .settings-section-nav-item span,.settings-page .settings-subsection>p{font-size:14px}.settings-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-section-nav-item{display:grid;gap:3px;min-width:0;border:1px solid var(--line);border-radius:14px;padding:11px 12px;color:var(--fg);background:var(--card);text-decoration:none}.settings-section-nav-item strong{font-size:14px;font-weight:800}.settings-section-nav-item span{color:var(--muted);font-size:14px;line-height:1.4}.settings-section-nav-item.active{border-color:#8bcab3;color:var(--brand-deep);background:var(--brand-soft)}.settings-section{display:grid;min-width:0;gap:10px}.settings-section-heading{margin:0 3px}.settings-section-heading>h2{margin:0;color:var(--fg);font-size:14px;font-weight:800;line-height:1.4}.settings-section-heading p{margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.settings-household-switcher{display:grid;gap:8px;border:1px solid #cfe6dd;border-radius:var(--radius);padding:12px;background:#f8fcfa}.settings-household-switcher-label{color:var(--muted);font-size:14px;font-weight:800}.settings-household-switcher-list{display:flex;flex-wrap:wrap;gap:7px}.settings-household-switcher-button{min-height:44px;border:1px solid #d9e7e2;border-radius:12px;padding:8px 12px;color:var(--brand-deep);background:#fff;font-size:14px;font-weight:750;cursor:pointer}.settings-household-switcher-button:disabled{border-color:transparent;background:var(--brand-soft);cursor:default}.household-bootstrap-card,.settings-action-card,.settings-editor-card,.settings-readonly-card,.settings-rule-list{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 7px 24px rgba(23,59,49,.035)}.settings-readonly-card{display:grid;gap:3px;padding:15px 16px;color:var(--muted);font-size:14px}.settings-readonly-card strong{color:var(--fg);font-size:14px}.settings-readonly-chip-list{display:flex;flex-wrap:wrap;gap:7px}.settings-readonly-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;color:var(--fg);background:#f2f6f5;font-size:14px;font-weight:700}.household-bootstrap-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-style:dashed;border-color:#c8ddd5;background:rgba(255,255,255,.65)}.household-bootstrap-copy{min-width:0}.household-bootstrap-copy>div{color:var(--muted);font-size:14px;font-weight:800}.household-bootstrap-copy p{margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.household-bootstrap-form{flex:0 1 270px;display:flex;min-width:0;gap:7px}.household-bootstrap-form input{width:100%;min-width:0;height:44px;border:1px solid #dce6e3;border-radius:11px;padding:0 10px;background:#fff;font:inherit;font-size:14px}.household-bootstrap-form button{flex:none;min-height:44px;border:0;border-radius:11px;padding:8px 13px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:800;cursor:pointer}.household-bootstrap-form button:disabled{opacity:.5;cursor:not-allowed}.household-bootstrap-error{margin:8px 3px 0;color:var(--danger);font-size:14px;font-weight:700}.settings-action-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 16px}.settings-action-icon,.settings-editor-card-heading>span{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:800}.settings-action-body{min-width:0}.settings-action-title{color:var(--fg);font-size:14px;font-weight:800}.settings-action-body p{margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.settings-action-button{min-height:44px;border:1px solid #d9e4e1;border-radius:11px;padding:8px 11px;color:var(--muted);background:#f8faf9;font-size:14px;font-weight:800;cursor:pointer}.settings-action-button:disabled{opacity:.5;cursor:default}.settings-action-message{margin-top:5px;color:var(--brand-deep);font-size:14px;font-weight:700}.settings-rule-list{overflow:hidden}.settings-rule-item{padding:12px 15px;border-bottom:1px solid #edf2f1}.settings-rule-item:last-child{border-bottom:0}.settings-rule-summary{display:flex;align-items:baseline;gap:10px}.settings-rule-summary>span{flex:1 1 auto;min-width:0;color:var(--fg);font-size:14px;font-weight:800}.settings-rule-summary>strong{flex:none;color:var(--brand-deep);font-size:14px}.settings-rule-item p{margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.savings-rule-list,.savings-settings,.savings-target-list,.settings-subsection{display:grid;gap:10px}.settings-subsection{gap:8px}.settings-subsection>h3{margin:3px 3px 0;color:var(--fg);font-size:14px}.settings-subsection>p{margin:-3px 3px 2px;color:var(--muted);font-size:14px;line-height:1.6}.savings-create-card,.savings-edit-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card)}.savings-create-card>summary,.savings-edit-card>summary{display:flex;align-items:center;gap:9px;min-height:44px;color:var(--fg);cursor:pointer;list-style:none}.savings-create-card>summary::-webkit-details-marker,.savings-edit-card>summary::-webkit-details-marker{display:none}.savings-create-card>summary strong,.savings-edit-card>summary strong{flex:1 1;font-size:14px}.savings-edit-card>summary span:last-child{color:var(--muted);font-size:14px}.savings-color{flex:none;width:10px;height:10px;border-radius:999px}.savings-create-card{display:grid;gap:9px;border-style:dashed}.savings-create-card label{display:grid;gap:4px}.savings-create-card label>span{color:var(--muted);font-size:14px;font-weight:800}.savings-create-card label input,.savings-create-card>input,.savings-rule-editor input,.savings-rule-editor select{width:100%;min-width:0;min-height:44px;border:1px solid #dce6e3;border-radius:11px;padding:8px 10px;color:var(--fg);background:#fff;font:inherit;font-size:14px}.savings-rule-editor{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #edf2f1}.savings-rule-editor label{display:grid;gap:4px}.savings-months legend,.savings-rule-editor label>span{color:var(--muted);font-size:14px;font-weight:800}.settings-field-hint{margin:0;color:#8a4d17;font-size:14px;line-height:1.6}.savings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.savings-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;border:0;padding:0}.savings-check,.savings-months label{display:flex!important;align-items:center;gap:5px!important;min-height:44px;color:var(--fg);font-size:14px}.savings-check input,.savings-months input{width:16px;min-height:16px}.savings-color-list{display:flex;flex-wrap:wrap;gap:8px}.savings-color-list button{width:44px;min-height:44px;border:4px solid #fff;border-radius:999px;box-shadow:0 0 0 1px var(--line);cursor:pointer}.savings-color-list button[aria-pressed=true]{box-shadow:0 0 0 3px var(--brand-deep)}.settings-save-button{min-height:44px;border:0;border-radius:11px;padding:8px 14px;color:#fff;background:var(--brand);font-size:14px;font-weight:800;cursor:pointer}.settings-save-button:disabled{opacity:.45;cursor:not-allowed}.settings-inline-message{border-radius:11px;padding:9px 11px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:700}.settings-inline-message[role=alert]{color:var(--danger);background:#fdecea}.settings-result-preview{display:grid;gap:3px;border:1px solid #b9dece;border-radius:11px;padding:10px 11px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;line-height:1.6}.settings-result-preview strong{font-size:14px}@media (max-width:720px){.settings-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-form-grid{grid-template-columns:1fr}.savings-months{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-editor{display:grid;gap:12px}.settings-editor-card{overflow:hidden;padding:16px}.settings-editor-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #edf2f1}.settings-editor-card-heading>div{min-width:0}.settings-editor-card-heading strong{color:var(--fg);font-size:14px;font-weight:800}.settings-editor-card-heading p{margin:3px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.settings-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.settings-editor-grid--rules{grid-template-columns:minmax(0,1fr)}.settings-editor-field{display:grid;min-width:0;gap:5px}.settings-editor-field>span{color:var(--muted);font-size:14px;font-weight:750}.settings-color-control,.settings-editor-field>input,.settings-editor-field>select,.settings-editor-field>textarea,.settings-editor-money,.settings-locked-value{width:100%;min-width:0;height:44px;border:1px solid #dce6e3;border-radius:11px;color:var(--fg);background:#fbfdfc;font:inherit;font-size:14px;font-weight:650}.settings-editor-field>input,.settings-editor-field>select,.settings-editor-field>textarea{padding:0 10px}.settings-editor-field>textarea{height:auto;min-height:168px;padding-block:10px;resize:vertical;line-height:1.6}.settings-editor-field>input:focus,.settings-editor-field>select:focus,.settings-editor-field>textarea:focus,.settings-editor-money:focus-within{border-color:#69b99d;outline:3px solid #dff2eb;background:#fff}.settings-editor-help{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.settings-color-control,.settings-editor-money,.settings-locked-value{display:flex;align-items:center;overflow:hidden}.settings-editor-money input{flex:1 1 auto;min-width:0;height:100%;border:0;outline:0;padding:0 9px;color:var(--fg);background:transparent;font:inherit;font-size:14px;font-weight:750;text-align:right}.settings-editor-money>span{flex:none;padding-right:9px;color:var(--muted);font-size:14px}.settings-catalog-actions,.settings-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.settings-catalog-actions button,.settings-editor-actions button{min-height:44px;border:0;border-radius:11px;padding:8px 12px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:800;cursor:pointer}.settings-catalog-actions button:disabled,.settings-editor-actions button:disabled{opacity:.5;cursor:not-allowed}.settings-catalog-list{margin:0 -16px -16px}.settings-catalog-item{padding:13px 16px 14px;border-bottom:1px solid #edf2f1}.settings-catalog-item:last-child{border-bottom:0}.settings-catalog-title{display:flex;align-items:center;min-width:0;min-height:44px;gap:7px;cursor:pointer;list-style:none}.annual-frame-heading::-webkit-details-marker,.annual-item-title::-webkit-details-marker,.household-member-heading::-webkit-details-marker,.household-member-invite-heading::-webkit-details-marker,.settings-catalog-title::-webkit-details-marker,.settings-rules-disclosure>summary::-webkit-details-marker{display:none}.household-member-card>form,.household-member-invite>form,.settings-catalog-item>form{padding-top:12px}.savings-rule-editor details>summary,.settings-advanced-settings>summary,.settings-rules-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;color:var(--muted);cursor:pointer;font-size:14px;font-weight:800}.settings-advanced-settings>.settings-editor-field,.settings-advanced-settings>.settings-editor-grid{margin-top:8px}.settings-rules-disclosure>summary span{font-size:14px;font-weight:700}.settings-catalog-title>span:first-child{flex:none;width:9px;height:9px;border-radius:999px}.settings-catalog-title>strong{min-width:0;color:var(--fg);font-size:14px;font-weight:800}.settings-method-dot{background:#aab7b3}.settings-color-control{gap:8px;padding:0 9px}.settings-color-control input{width:100%;height:30px;border:0;padding:0;background:transparent}.settings-locked-value{justify-content:space-between;gap:6px;padding:0 10px;color:var(--muted)}.settings-locked-value span{border-radius:999px;padding:3px 7px;color:var(--muted);background:#edf2f1;font-size:14px}.settings-enabled-toggle{display:inline-flex;align-items:center;min-height:44px;gap:7px;color:var(--muted);font-size:14px;font-weight:700;cursor:pointer}.settings-enabled-toggle input{width:17px;height:17px;margin:0;accent-color:var(--brand)}.settings-editor-error{border:1px solid #f0d2ce;border-radius:12px;padding:10px 12px;color:var(--danger);background:#fff6f5;font-size:14px;font-weight:700}.annual-frame-list,.annual-item-list,.annual-settings{display:grid;min-width:0;gap:12px}.annual-settings-card{padding-bottom:16px}.annual-frame-list{margin-top:12px}.annual-frame-card{min-width:0;overflow:hidden;border:1px solid #e1ebe8;border-radius:15px;padding:14px;background:#fbfdfc}.annual-frame-card--new,.annual-item-form--new{border-style:dashed;border-color:#bfd9d0;background:#f8fcfa}.annual-frame-heading,.annual-item-title{display:flex;align-items:center;min-width:0;gap:9px;min-height:44px;cursor:pointer;list-style:none}.annual-frame-heading>span{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:var(--brand-deep);background:var(--brand-soft);font-size:14px;font-weight:800}.annual-frame-heading>div,.annual-item-title>strong{min-width:0}.annual-frame-heading strong,.annual-item-title strong{color:var(--fg);font-size:14px;font-weight:800}.annual-frame-heading p{margin:2px 0 0;color:var(--muted);font-size:14px}.annual-frame-grid,.annual-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.annual-item-list{margin-top:14px;padding-top:13px;border-top:1px solid #e7eeec}.annual-frame-disclosure>form,.annual-item-form>form{margin-top:8px}.annual-item-form{min-width:0;border:1px solid #e5ecea;border-radius:13px;padding:12px;background:#fff}.annual-item-title{justify-content:space-between}.annual-item-title>span{flex:none;color:var(--muted);font-size:14px;font-weight:700}.annual-settings-limit,.annual-settings-message,.annual-settings-state{border-radius:12px;padding:11px 12px;color:var(--muted);background:#f2f6f5;font-size:14px;font-weight:700;line-height:1.6}.annual-settings-limit{text-align:center}.annual-settings-message{color:var(--brand-deep);background:var(--brand-soft)}.annual-settings-retry{margin-top:8px;border:1px solid #cbd9d5;border-radius:10px;background:#fff;color:var(--brand-deep);font-size:14px;font-weight:700;padding:8px 14px}.settings-footer{display:grid;gap:11px;padding-top:2px}.settings-logout-button{width:100%;min-height:46px;border:1px solid #dfe7e5;border-radius:14px;padding:11px 13px;color:var(--muted);background:rgba(255,255,255,.78);font-size:14px;font-weight:750;cursor:pointer}.muted.settings-version{text-align:center;font-size:14px;line-height:1.6}@media (max-width:640px){.history-card{padding:2px 10px!important}.history-row{display:grid!important;grid-template-columns:32px minmax(0,1fr);grid-template-areas:"avatar body" ". actions";column-gap:10px!important;row-gap:8px}.history-row-avatar{grid-area:avatar}.history-row-body{grid-area:body;width:100%}.history-row-actions{grid-area:actions;width:100%;justify-content:flex-end}.household-member-card,.household-member-invite{padding:14px}.household-member-field-grid,.household-member-field-grid--invite,.household-member-invite-identity{grid-template-columns:minmax(0,1fr)}.household-member-field-grid--invite .household-member-field:last-child{grid-column:auto}.household-member-actions{align-items:flex-end}.household-bootstrap-card,.settings-action-card{align-items:stretch;grid-template-columns:auto minmax(0,1fr)}.household-bootstrap-card{display:grid}.household-bootstrap-form,.settings-action-button{grid-column:1/-1;width:100%}.settings-editor-grid,.settings-editor-grid--rules{grid-template-columns:minmax(0,1fr)}.settings-editor-grid--rules .settings-editor-field:last-child{grid-column:auto}.annual-frame-grid,.annual-item-grid{grid-template-columns:minmax(0,1fr)}}@media (min-width:1180px){.household-member-field-grid:not(.household-member-field-grid--invite){grid-template-columns:repeat(4,minmax(0,1fr))}}.logout-confirm-popover{width:min(calc(100% - 32px),390px);margin:auto;padding:0!important;overflow:visible;border:0!important;outline:0!important;border-radius:0!important;appearance:none;-webkit-appearance:none;color:inherit;background:transparent!important;box-shadow:none!important}.logout-confirm-popover::backdrop{background:rgba(19,57,47,.24);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.logout-confirm-accent{height:7px;background:linear-gradient(90deg,#1eab7d,#0c7351)}.logout-confirm-card{overflow:hidden;border:0;outline:0;border-radius:24px;color:var(--ink);background:#fbfefd;box-shadow:0 22px 64px rgba(12,115,81,.14)}.logout-confirm-body{padding:21px 21px 20px}.logout-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,136px));align-items:stretch;justify-content:center;gap:10px}.logout-confirm-actions>button,.logout-confirm-actions>form{width:100%;margin:0}.logout-confirm-actions>form{display:flex}.logout-confirm-cancel,.logout-confirm-submit{width:100%;height:100%;min-height:46px;border-radius:13px;font-size:12.5px}.logout-confirm-cancel:focus-visible,.logout-confirm-submit:focus-visible{outline:3px solid #bfe4d6;outline-offset:2px}.logout-confirm-cancel{border:1px solid #dce8e4;color:#59696f;background:#f2f6f5}.logout-confirm-submit{color:#fff;background:linear-gradient(145deg,#0c7351,#075d42);box-shadow:0 7px 18px rgba(12,115,81,.18)}.btn-ghost{background:#fff;border:1.5px solid var(--line);width:100%}.btn-ghost,.muted{color:var(--muted)}.muted{font-size:12.5px;line-height:1.75}.num{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}.app-rail-nav,.app-tablet-mid{display:none}@media (min-width:641px) and (max-width:899px){:root{--shell-max:960px}.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 0 1px rgba(20,40,36,.02)}.app-main{--main-pad-x:18px;--main-pad-y:16px;padding:var(--main-pad-y) var(--main-pad-x) calc(68px + var(--safe-bottom))}}@media (min-width:900px){:root{--shell-max:100%;--rail-w:74px;--mid-w:min(352px,32vw)}body,html{height:100%;background:var(--bg)}.app-shell.app-shell-3col{display:grid!important;grid-template-columns:var(--rail-w) var(--mid-w) minmax(0,1fr);grid-template-rows:100dvh;grid-template-areas:"rail mid detail";width:100%;max-width:100%;min-height:100dvh;height:100dvh;margin:0;padding:0;border:0;box-shadow:none;overflow:hidden;background:var(--bg);align-items:stretch}.app-rail-nav{grid-area:rail}.app-tablet-mid{grid-area:mid}.app-shell-body{grid-area:detail}.app-phone-nav{display:none!important}.app-rail-nav{align-items:center;padding:16px 0 14px;z-index:30;overflow-y:auto;overflow-x:hidden}.app-rail-nav,.app-tablet-mid{display:flex!important;flex-direction:column;width:100%;min-width:0;height:100%;background:#fff;border-right:1px solid var(--line)}.app-tablet-mid{z-index:20;min-height:0}.app-tablet-mid-scroll{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell-body{min-width:0;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.app-main{--main-pad-x:20px;--main-pad-y:16px;flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--main-pad-y) var(--main-pad-x) 28px}.app-header,.app-header-stack{flex:none}.app-header-actions,.app-header-month-inline{display:none!important}.app-header--phone-month .app-header-title-block{display:block!important;flex:1 1 auto!important;max-width:none!important}.app-header--phone-month .app-header-title-block .app-header-page-title{font-size:16px!important}.app-header--phone-month .app-header-crumb,.app-header--phone-month .app-header-sub{display:revert!important}.app-month-nav,.tablet-mid-dup{display:none!important}.home-head-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.app-main .page-crumb-body{display:none!important}.app-pad-sheet{max-width:min(480px,92vw)!important}.mid-nav-active{outline:2px solid #bfe4d6;outline-offset:-2px;background:#f2f8f5!important}}@media (min-width:1280px){:root{--mid-w:352px}.app-shell.app-shell-3col{max-width:1280px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes scrim{0%{opacity:0}to{opacity:1}}@keyframes photoSpin{to{transform:rotate(1turn)}}