.form-backdrop{position:fixed;z-index:10;inset:0;display:grid;align-items:center;justify-items:center;padding:24px;background:rgb(var(--color-overlay-rgb) / 42%)}.subscription-dialog{width:min(100%,620px);max-height:min(90svh,900px);overflow:auto;border-radius:var(--radius-card);padding:28px;background:var(--color-surface);box-shadow:0 24px 80px rgb(var(--color-shadow-rgb) / 20%)}.form-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.form-heading h2{margin:2px 0 0;font-size:var(--type-heading);letter-spacing:-.04em}.form-eyebrow{margin:0;color:var(--color-secondary);font-size:var(--type-xs);font-weight:800;letter-spacing:.14em}.icon-button{width:38px;height:38px;border:0;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--type-heading);line-height:1;cursor:pointer}.subscription-dialog form{display:grid;gap:16px}.form-fields{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.estimate-checkbox{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--type-sm)}.estimate-checkbox input{width:auto}.catalogue-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--type-sm)}.catalogue-link button{width:auto}.catalogue-fieldset,.catalogue-group,.status-fieldset{min-width:0;margin:0;padding:0;border:0}.catalogue-fieldset legend,.status-fieldset legend{margin-bottom:9px;color:var(--color-secondary);font-size:var(--type-sm);font-weight:700}.catalogue-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0;padding:1px 1px 5px}.catalogue-group .catalogue-group-label{margin:6px 0 5px;color:var(--color-secondary);font-size:var(--type-xs);font-weight:700}.catalogue-chip{flex:0 0 auto;max-width:100%;min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-pill);padding:7px 12px;background:var(--color-white);color:var(--color-accent-dark);font:inherit;font-size:var(--type-sm);cursor:pointer;white-space:nowrap;text-align:left}.catalogue-chip:hover{border-color:var(--color-hover-border);background:var(--color-hover-surface)}.catalogue-chip.is-selected{border-color:var(--color-accent-dark);background:var(--color-accent-soft);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-accent-dark)}.catalogue-chip-cue{display:inline-block;margin-left:7px;color:var(--color-secondary);font-size:var(--type-md);line-height:1}.catalogue-browse-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;margin-top:0;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:10px 12px;background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-weight:700;cursor:pointer;text-align:left}.catalogue-browse-toggle small{color:var(--color-secondary);font-size:var(--type-xs);font-weight:500}.catalogue-browse-list{margin-top:8px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);overflow:hidden;background:var(--color-white)}.catalogue-browse-letter{padding:5px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-secondary);font-size:var(--type-xs);font-weight:800}.catalogue-browse-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;border:0;border-bottom:1px solid var(--color-border);padding:7px 12px;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.catalogue-browse-entry span{color:var(--color-secondary)}.catalogue-browse-entry:hover,.catalogue-browse-entry[aria-pressed=true]{background:var(--color-hover-surface)}.plan-panel{margin-top:9px;border:1px solid var(--color-field-border);border-radius:var(--radius-card);padding:13px;background:var(--color-surface-muted);animation:plan-panel-in .14s ease-out}.plan-panel h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;color:var(--color-text);font-size:var(--type-body)}.plan-option>span{font-size:var(--type-body);font-weight:700}.plan-panel h3 span{flex:none;color:var(--color-secondary);font-size:var(--type-xs);font-weight:500}.plan-panel h3:focus{border-radius:2px;outline:3px solid var(--color-focus-ring);outline-offset:3px}.plan-options{display:grid;gap:7px}.plan-price-comparison{margin-top:10px;border-top:1px solid var(--color-field-border);padding-top:9px;color:var(--color-secondary);font-size:var(--type-xs);line-height:1.45}.plan-price-comparison strong{color:var(--color-text)}.plan-price-comparison p{margin:3px 0 0}.plan-trial-action,.plan-details{margin-top:10px;border-top:1px solid var(--color-field-border);padding-top:9px;color:var(--color-secondary);font-size:var(--type-xs);line-height:1.45}.plan-trial-action p,.plan-details p{margin:5px 0 0}.plan-details summary{width:fit-content;color:var(--color-text);font-size:var(--type-sm);font-weight:700;cursor:pointer}.plan-details summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.plan-details-notice{color:var(--color-text);font-weight:700}.possible-duplicate-region:empty{position:absolute}.catalogue-relationship-region:empty{position:absolute}.catalogue-relationship-region p{margin:10px 0 0;border-left:3px solid var(--color-accent-dark);padding:9px 12px;background:var(--color-surface-muted);color:var(--color-text);font-size:var(--type-sm);line-height:1.45}.possible-duplicate{margin:0;border-left:3px solid var(--color-accent-dark);padding:9px 12px;background:var(--color-surface-muted);color:var(--color-text);font-size:var(--type-sm);line-height:1.45}.plan-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:8px 12px;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.plan-option small{color:var(--color-secondary);font-size:var(--type-sm);font-weight:500;white-space:nowrap}.plan-option:hover{border-color:var(--color-hover-border);background:var(--color-hover-surface)}.plan-option.is-selected{border-color:var(--color-accent-dark);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-dark)}@keyframes plan-panel-in{0%{opacity:.75;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.catalogue-price-hint{color:var(--color-secondary);font-size:var(--type-xs);font-weight:450;line-height:1.4}.form-field{display:grid;gap:7px;color:var(--color-text);font-size:var(--type-base);font-weight:700}.form-field input,.form-field select{width:100%;min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:0 12px;background:var(--color-white);color:var(--color-text);font:inherit;font-size:var(--type-md)}.form-field input:focus,.form-field select:focus{outline:3px solid var(--color-focus-ring);border-color:var(--color-focus-ring)}.name-suggestions{overflow:hidden;border:1px solid var(--color-field-border);border-radius:var(--radius-field);background:var(--color-white)}.name-suggestion{display:flex;align-items:center;width:100%;min-height:44px;border:0;padding:8px 12px;background:transparent;color:var(--color-text);font:inherit;font-size:var(--type-md);font-weight:500;cursor:pointer;text-align:left}.name-suggestion+.name-suggestion{border-top:1px solid var(--color-field-border)}.name-suggestion:hover,.name-suggestion[aria-selected=true]{background:var(--color-accent-soft)}.form-field [aria-invalid=true]{border-color:var(--color-error)}.form-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px}.price-input{display:flex;align-items:center;min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);background:var(--color-white);padding-left:12px;color:var(--color-secondary)}.price-input:focus-within{outline:3px solid var(--color-focus-ring);border-color:var(--color-focus-ring)}.price-input input{min-height:42px;border:0;padding-left:7px;outline:0}.price-input input:focus{border-color:transparent;outline:0}.status-options{display:flex;flex-wrap:wrap;gap:8px}.status-options label{display:flex;align-items:center;gap:7px;min-height:38px;border:1px solid var(--color-field-border);border-radius:var(--radius-pill);padding:0 12px;color:var(--color-accent-dark);font-size:var(--type-base);cursor:pointer}.status-options input{accent-color:var(--color-accent-dark)}.field-error{color:var(--color-error);font-size:var(--type-sm);font-weight:500}.optional-label{color:var(--color-secondary);font-weight:400}.more-details-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:0 12px;background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.subscription-dialog .more-details-toggle>span{color:var(--color-secondary);font-size:var(--type-heading);font-weight:500;line-height:1}.more-details-toggle:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.more-details{display:grid;gap:16px;min-width:0}.more-details[hidden]{display:none}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.form-actions .primary-button{min-height:44px}.secondary-button{min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:0 17px;background:var(--color-white);color:var(--color-accent-dark);font:inherit;font-weight:700;cursor:pointer}.destructive-link{min-height:44px;margin-right:auto;border:0;padding:0 12px;background:transparent;color:var(--color-error);font:inherit;font-weight:700;cursor:pointer}.destructive-button{min-height:44px;border:1px solid var(--color-error);border-radius:var(--radius-field);padding:0 17px;background:var(--color-error);color:var(--color-white);font:inherit;font-weight:700;cursor:pointer}.delete-confirmation h3{margin:0;color:var(--color-text);font-size:var(--type-heading)}.delete-confirmation p{margin:8px 0 20px;color:var(--color-secondary)}.form-actions button:focus-visible,.icon-button:focus-visible,.catalogue-chip:focus-visible,.plan-option:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.record-amount-fields{min-width:0;margin:12px 0;border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:12px}.record-amount-fields legend,.price-history h3{color:var(--color-text);font-size:var(--type-body);font-weight:700}.record-amount-fields p,.price-history-list{color:var(--color-secondary);font-size:var(--type-sm);line-height:1.45}.record-amount-actions{display:flex;flex-wrap:wrap;gap:8px}.price-history{margin-top:16px;border-top:1px solid var(--color-field-border)}.price-history svg{display:block;width:100%;max-height:180px}.price-history-axis{fill:none;stroke:var(--color-field-border)}.price-history-line{fill:none;stroke:var(--color-accent-dark);stroke-width:2}.price-history-point{fill:var(--color-accent-dark)}.price-history-estimate{fill:var(--color-surface);stroke:var(--color-accent-dark);stroke-width:2}.price-history-list{padding:0;list-style:none}.price-history-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--color-field-border)}.price-history-list li>div{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.price-history-list strong{color:var(--color-text)}.price-history-list .destructive-link{flex:none;margin:0;font-size:var(--type-sm)}.record-amount button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}@media(max-width:600px){.form-backdrop{align-items:end;padding:0}.subscription-dialog{width:100%;max-height:94svh;border-radius:var(--radius-card) var(--radius-card) 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom))}.form-actions{position:sticky;z-index:2;bottom:-20px;margin:0 -20px -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:0 -8px 18px rgb(var(--color-shadow-rgb) / 10%)}}@media(max-width:380px){.form-grid{grid-template-columns:1fr}}.backup-dialog{display:grid;gap:16px}.backup-dialog p{margin:0;line-height:1.5}.backup-last-backed-up{color:var(--color-text);font-size:var(--type-sm)}.backup-confidence-hint{width:100%;max-width:720px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-accent-soft)}.backup-confidence-hint p{flex:1 1 250px;margin:0;line-height:1.5}.backup-confidence-hint .text-button{border:0;padding:8px;color:var(--color-text);background:transparent;text-decoration:underline}.backup-actions{flex-wrap:wrap;justify-content:flex-start;align-items:end}.backup-actions .form-field{flex:1 1 190px}.backup-actions input[type=file]{width:100%;min-height:44px}.backup-actions input[type=file]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.calendar-export-control{display:grid;justify-items:center;gap:.35rem}.calendar-export-note{max-width:34rem;margin:0;color:var(--muted-foreground);font-size:.875rem;text-align:center}.wink-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.15em}.cancelled-active{width:100%;max-width:720px;margin-top:28px}.cancelled-active-heading{margin:0 0 14px;color:var(--color-text);font-size:var(--type-heading);font-weight:750;letter-spacing:-.035em}.cancelled-active-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.cancelled-active-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.cancelled-active-row-button{display:block;min-height:44px;width:100%;border:0;border-radius:inherit;padding:16px 18px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.cancelled-active-row-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.cancelled-active-row-button:disabled{cursor:default}.cancelled-active-name{display:block;margin:0;color:var(--color-text);font-size:var(--type-lg);font-weight:700}.cancelled-active-date{display:block;margin:7px 0 0;color:var(--color-secondary);font-size:var(--type-body);line-height:1.45}.cancelled-active-date strong{color:var(--color-accent-dark);font-weight:650}.cancelled-active-date-soon strong{color:var(--color-text);font-weight:800}@media(max-width:420px){.cancelled-active{margin-top:24px}.cancelled-active-row-button{padding:16px}}.catalogue-notice-dialog{display:grid;gap:16px}.catalogue-notice-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.catalogue-notice-list li{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:14px}.catalogue-notice-list p{margin:0 0 12px;line-height:1.5}.catalogue-notice-banner{width:100%;max-width:720px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-accent-soft)}.catalogue-notice-banner p{margin:0;font-weight:650}.catalogue-update-marker{display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-accent-soft);font-size:var(--type-xs);font-weight:700}.privacy-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:0;padding:4px 0;color:var(--color-secondary);font-size:var(--type-sm);line-height:1.5;text-align:center}.privacy-note-icon{flex:0 0 16px;color:currentColor}.empty-state .privacy-note{justify-content:flex-start;padding:0;color:var(--color-secondary);font-size:var(--type-lg);text-align:left}.empty-state{display:grid;justify-items:start;gap:16px;max-width:520px;margin:clamp(48px,12vh,120px) auto;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 12px 40px rgb(var(--color-shadow-rgb) / 5%)}.empty-state-mark{display:block;width:48px;height:48px}.empty-state h2{margin:4px 0 0;font-size:var(--type-display-md);letter-spacing:-.045em}.empty-state p{margin:0;color:var(--color-secondary);font-size:var(--type-lg);line-height:1.6}.primary-button{min-height:48px;border:0;border-radius:var(--radius-field);padding:0 20px;background:var(--color-text);color:var(--color-white);font:inherit;font-weight:700;cursor:pointer}.primary-button:hover:not(:disabled){background:var(--color-accent-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:520px){.empty-state{margin:36px 0;padding:24px}}.ended{width:100%;max-width:720px;margin-top:28px}.ended-heading{margin:0 0 14px;color:var(--color-text);font-size:var(--type-heading);font-weight:750;letter-spacing:-.035em}.ended-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.ended-row{display:flex;flex-wrap:wrap;width:100%;min-height:44px;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-field);padding:12px 15px;background:var(--color-surface-warm);color:var(--color-secondary);text-align:left;font:inherit;font-size:var(--type-body);cursor:pointer}.ended-row .custom-price-label{flex-basis:100%}.ended-row:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ended-row:disabled{cursor:default}.ended-status{color:var(--color-secondary);font-size:var(--type-sm);white-space:nowrap}.ended-name{color:var(--color-text)}@media(max-width:420px){.ended{margin-top:24px}}.spend-insights{max-width:560px;margin-top:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.spend-insights-summary{display:flex;align-items:center;min-height:44px;padding:0 20px;color:var(--color-text);font-weight:650;cursor:pointer}.spend-insights-summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-card)}.spend-insights-body{padding:0 20px 18px}.spend-insights-heading{margin:0 0 10px;color:var(--color-secondary);font-size:var(--type-base);font-weight:600}.spend-insights-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.spend-insights-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px}.spend-insights-name{min-width:0;overflow-wrap:anywhere;color:var(--color-text);font-weight:650}.spend-insights-amount{color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right}.spend-insights-bar{grid-column:1 / -1;height:4px;border-radius:2px;background:var(--color-accent-soft);overflow:hidden}.spend-insights-bar-fill{display:block;height:100%;background:var(--color-accent-dark)}.spend-summary{max-width:560px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 8px 24px rgb(var(--color-shadow-rgb) / 5%)}.spend-summary-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"due due" "monthly annual";align-items:end;gap:12px}.spend-summary-monthly,.spend-summary-annual,.spend-summary-due{min-width:0}.spend-summary-monthly{grid-area:monthly}.spend-summary-annual{grid-area:annual}.spend-summary-due{grid-area:due}.spend-summary-label{margin:0 0 5px;color:var(--color-secondary);font-size:var(--type-base);font-weight:600;letter-spacing:.01em}.spend-summary-amount{margin:0;color:var(--color-text);font-size:clamp(var(--type-lg),5vw,30px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1.1;white-space:nowrap}.spend-summary-hero{font-size:var(--type-display-lg);font-weight:800;letter-spacing:-.06em}.spend-summary-annual{padding-bottom:0;text-align:right}.spend-summary-note{margin:14px 0 0;color:var(--color-secondary);font-size:var(--type-xs);line-height:1.45}@media(max-width:360px){.spend-summary-values{grid-template-columns:minmax(0,1fr);grid-template-areas:"due" "monthly" "annual"}.spend-summary-annual{text-align:left}}@media(min-width:520px){.spend-summary{padding:26px 28px}.spend-summary-values{gap:20px}}.theme-control{display:flex;width:fit-content;align-items:center;gap:8px;color:var(--color-secondary);font-size:var(--type-sm)}.theme-control select{min-height:36px;padding:4px 8px;border:1px solid var(--color-field-border);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-text);font:inherit}.theme-control select:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.due-chip{display:inline-block;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 8px;background:var(--color-surface-muted);color:var(--color-text);font-size:var(--type-base);font-weight:700;line-height:1.4;white-space:nowrap}.due-chip-urgent{border-color:var(--color-due-border);background:var(--color-due);color:var(--color-on-due)}.due-chip-soon{border-color:var(--color-due-border);background:var(--color-surface-warm);color:var(--color-due-text)}.trials-ending{width:100%;max-width:720px;margin-top:28px}.trials-ending-heading{margin:0 0 14px;color:var(--color-text);font-size:var(--type-heading);font-weight:750;letter-spacing:-.035em}.trials-ending-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.trials-ending-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.trials-ending-row-button{display:block;min-height:44px;width:100%;border:0;border-radius:inherit;padding:13px 16px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.trials-ending-row-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.trials-ending-row-button:disabled{cursor:default}.trials-ending-name{display:block;margin:0;color:var(--color-text);font-size:var(--type-md);font-weight:700}.trials-ending-date,.trials-ending-cost{display:block;margin:5px 0 0;color:var(--color-secondary);font-size:var(--type-base);line-height:1.4}.trials-ending-cost{color:var(--color-text);font-weight:650}.trials-ending-cost span{color:var(--color-secondary);font-weight:450}@media(max-width:420px){.trials-ending{margin-top:24px}.trials-ending-row-button{padding:12px 14px}}.upcoming{width:100%;max-width:720px;margin-top:28px}.upcoming-heading{margin:0 0 14px;color:var(--color-text);font-size:var(--type-heading);font-weight:750;letter-spacing:-.035em}.upcoming-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0 0 14px}.upcoming-control{display:grid;min-width:0;gap:4px;color:var(--color-secondary);font-size:var(--type-sm)}.upcoming-control-search{grid-column:1 / -1}.upcoming-control input,.upcoming-control select,.upcoming-clear{min-width:0;min-height:44px;width:100%;border:1px solid var(--color-border);border-radius:10px;padding:8px 10px;background:var(--color-surface);color:var(--color-text);font:inherit}.upcoming-control input:focus-visible,.upcoming-control select:focus-visible,.upcoming-clear:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.upcoming-no-matches{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-muted);color:var(--color-text)}.upcoming-no-matches p{margin:0 0 8px}.upcoming-clear{width:auto;cursor:pointer}.upcoming-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.upcoming-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.upcoming-row-button{display:block;min-height:44px;width:100%;border:0;border-radius:inherit;padding:17px 18px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.upcoming-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;min-width:0}.upcoming-row-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.upcoming-row-button:disabled{cursor:default}.upcoming-row-next{border-color:var(--color-accent-dark);background:var(--color-surface);box-shadow:0 2px 8px rgb(var(--color-shadow-rgb) / 5%)}.upcoming-row-due{border-color:var(--color-due-border)}.upcoming-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;overflow:hidden}.upcoming-name{flex:0 1 auto;min-width:0;overflow-wrap:anywhere;display:block;margin:0;color:var(--color-text);font-size:var(--type-lg);font-weight:700}.upcoming-plan{white-space:nowrap;color:var(--color-secondary);font-size:var(--type-sm)}.upcoming-next{flex:none;padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--type-xs);font-weight:750;line-height:1.25}.upcoming-next-due{background:var(--color-due);color:var(--color-on-due)}.upcoming-amount{display:block;margin:0;color:var(--color-text);font-size:var(--type-md);font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.upcoming-row-meta{display:flex;flex-wrap:wrap;align-items:center;grid-column:1 / -1;gap:4px 8px;margin-top:2px;color:var(--color-secondary);font-size:var(--type-base);line-height:1.5}.upcoming-frequency{margin-left:auto;font-weight:450}.upcoming-due{display:block;grid-column:1 / -1;margin:9px 0 0;color:var(--color-secondary);font-size:var(--type-body);line-height:1.45}.upcoming-note{display:block;grid-column:1 / -1;margin:6px 0 0;color:var(--color-secondary);font-size:var(--type-sm);line-height:1.4}.upcoming-row-meta>.estimate-label,.upcoming-row-meta>.custom-price-label,.upcoming-row-meta>.upcoming-note{display:inline;margin:0;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-surface-muted);font-size:var(--type-sm);line-height:inherit}@media(max-width:420px){.upcoming{margin-top:24px}.upcoming-row-button{padding:16px}.upcoming-controls{gap:8px}}:root,[data-theme=light]{color-scheme:light dark;--color-text: #17342e;--color-text-rgb: 23 52 46;--color-overlay-rgb: 23 52 46;--color-shadow-rgb: 23 52 46;--color-secondary: #52685f;--color-page: #f7f5ef;--color-surface: #fffefa;--color-surface-warm: #fbfaf5;--color-surface-muted: #f1efe8;--color-white: #fff;--color-border: #e8e6dc;--color-field-border: #84948b;--color-accent: #baf4bb;--color-on-accent: #17342e;--color-accent-soft: #eaf4e8;--color-accent-dark: #28554a;--color-hover-border: #78b986;--color-hover-surface: #f3fbf0;--color-due: #f0c36a;--color-on-due: #17342e;--color-due-text: #75500b;--color-due-border: #b17d1c;--color-error: #a13c30;--color-focus-ring: #28554a;--color-mark-spark: #ffb84d;--color-mark-background: #17342e;--color-mark-letter: #f7f5ef}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-text: #edf5ed;--color-text-rgb: 237 245 237;--color-overlay-rgb: 0 0 0;--color-shadow-rgb: 0 0 0;--color-secondary: #b8cbbd;--color-page: #111e19;--color-surface: #1b2b24;--color-surface-warm: #243128;--color-surface-muted: #293a30;--color-white: #14231c;--color-border: #61766a;--color-field-border: #91a99a;--color-accent: #a9eab1;--color-on-accent: #17342e;--color-accent-soft: #304c38;--color-accent-dark: #abe4b3;--color-hover-border: #b3e6b8;--color-hover-surface: #354d3e;--color-due: #e9bb62;--color-on-due: #1b281e;--color-due-text: #f5ca77;--color-due-border: #d8a347;--color-error: #ff9a89;--color-focus-ring: #b5f7bb;--color-mark-spark: #ffbd62;--color-mark-background: #a9eab1;--color-mark-letter: #111e19;color-scheme:dark}}[data-theme=dark]{--color-text: #edf5ed;--color-text-rgb: 237 245 237;--color-overlay-rgb: 0 0 0;--color-shadow-rgb: 0 0 0;--color-secondary: #b8cbbd;--color-page: #111e19;--color-surface: #1b2b24;--color-surface-warm: #243128;--color-surface-muted: #293a30;--color-white: #14231c;--color-border: #61766a;--color-field-border: #91a99a;--color-accent: #a9eab1;--color-on-accent: #17342e;--color-accent-soft: #304c38;--color-accent-dark: #abe4b3;--color-hover-border: #b3e6b8;--color-hover-surface: #354d3e;--color-due: #e9bb62;--color-on-due: #1b281e;--color-due-text: #f5ca77;--color-due-border: #d8a347;--color-error: #ff9a89;--color-focus-ring: #b5f7bb;--color-mark-spark: #ffbd62;--color-mark-background: #a9eab1;--color-mark-letter: #111e19;color-scheme:dark}:root{--type-xs: 11px;--type-sm: 12px;--type-base: 13px;--type-body: 14px;--type-md: 15px;--type-lg: 16px;--type-heading: 20px;--type-display-sm: clamp(20px, 5.5vw, 30px);--type-display-md: clamp(25px, 6vw, 34px);--type-display-lg: clamp(28px, 7.5vw, 52px);--type-brand-tracking: -.02em;--radius-field: 10px;--radius-card: 16px;--radius-pill: 999px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{color-scheme:light}[data-theme]{color:var(--color-text);background-color:var(--color-page)}*{box-sizing:border-box}body{margin:0;min-width:320px}.page{display:flex;min-height:100svh;flex-direction:column;max-width:1100px;margin:auto;padding:20px clamp(20px,5vw,64px)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:9px;margin:0;font-size:var(--type-heading);font-weight:800;letter-spacing:var(--type-brand-tracking)}.brand-mark{display:block;flex:none;width:30px;height:30px}.tagline{margin:0;color:var(--color-secondary);font-size:var(--type-body)}.content{flex:1;padding-top:32px}.row-label{color:var(--color-secondary);font-size:var(--type-sm);font-weight:450}.trials-ending-name,.cancelled-active-name,.ended-name,.spend-insights-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-plan{display:block;margin-top:2px;color:var(--color-secondary);font-size:var(--type-sm);font-weight:450}.page-footer{display:grid;gap:16px;margin-top:28px;padding-bottom:20px;line-height:1.5}.footer-shelf{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr);gap:24px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.footer-shelf>section{min-width:0;overflow-wrap:break-word}.footer-shelf>section+section{border-left:1px solid var(--color-border);padding-left:24px}.footer-shelf h2{margin:0 0 12px;font-size:var(--type-body);font-weight:750}.footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0;color:var(--color-secondary);font-size:var(--type-sm)}.footer-maker{display:inline-flex;align-items:center;gap:7px;margin-left:auto}.footer-wordmark{display:block;flex:none;width:20px;height:20px;background-color:currentColor;-webkit-mask:url(../t27-mark.svg) center / contain no-repeat;mask:url(../t27-mark.svg) center / contain no-repeat}.footer-legal{min-width:0;font-size:inherit}.custom-price-label,.estimate-label{display:block;margin-top:6px;color:var(--color-secondary);font-size:var(--type-sm);font-weight:700}.app-version{color:var(--color-secondary);font-size:var(--type-sm)}.app-update-banner{position:fixed;right:16px;top:calc(16px + env(safe-area-inset-top));left:16px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:440px;margin:0 auto;padding:12px 16px;border:1px solid var(--color-secondary);border-radius:12px;background:var(--color-surface);box-shadow:0 4px 20px #00000026}.app-update-banner button{min-height:44px;padding:0 12px;font:inherit;font-weight:700}.backup-link{width:fit-content;min-height:44px;border:0;padding:0;background:transparent;color:var(--color-accent-dark);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.support-link{display:flex;align-items:center}.backup-link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.phone-backup-control{display:grid;gap:6px;max-width:520px}.phone-backup-control label{display:flex;align-items:center;gap:10px;font-weight:700}.phone-backup-control input{width:20px;height:20px;flex:none}.phone-backup-control small{color:var(--color-secondary);line-height:1.5}.footer-shelf .backup-link{max-width:100%;font-size:var(--type-body);text-align:left;text-underline-offset:3px}.footer-shelf .footer-backup{border:1px solid var(--color-field-border);border-radius:var(--radius-field);padding:0 17px;background:var(--color-white);text-decoration:none}.footer-shelf .calendar-export-control{justify-items:start;margin-top:8px}.footer-shelf .calendar-export-note{color:var(--color-secondary);font-size:var(--type-sm);line-height:1.6;text-align:left}.footer-shelf .theme-control{max-width:100%;flex-wrap:wrap}.footer-shelf .theme-control select{min-height:44px}.footer-shelf .phone-backup-control{margin-top:16px;border-top:1px solid var(--color-border);padding-top:12px}.footer-shelf .phone-backup-control label{min-height:44px;font-size:var(--type-body)}.footer-shelf .privacy-note{justify-content:flex-start;align-items:flex-start;margin-top:8px;padding:0;line-height:1.6;text-align:left}.footer-shelf .privacy-note-icon{margin-top:2px}.footer-shelf .privacy-note a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-accent-dark);text-underline-offset:3px}.footer-shelf .privacy-note a:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.storage-error{max-width:520px;margin:0;color:var(--color-error);font-size:var(--type-body);line-height:1.5}.add-entry{display:grid;justify-items:end;gap:8px;margin:0 0 20px}.disabled-explanation{color:var(--color-error);font-size:var(--type-base)}.add-entry .disabled-explanation{max-width:240px;margin:0;text-align:right}@media(max-width:420px){.app-header{align-items:flex-start;flex-direction:column;gap:8px}.content{padding-top:24px}}@media(max-width:480px){.page-footer{gap:16px;margin-top:32px}}@media(max-width:640px){.footer-shelf{grid-template-columns:minmax(0,1fr);gap:16px}.footer-shelf>section+section{border-left:0;border-top:1px solid var(--color-border);padding:16px 0 0}.page--has-add{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.add-entry{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:5;margin:0}}
