:root{background:#f4f4f4;color:#242528;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:#f4f4f4;margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.72}#root{min-height:100vh}.authPage{align-items:center;background:#f4f4f4;display:flex;min-height:100vh;padding:24px}.authPanel{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #2425281f;color:#242528;margin:0 auto;max-width:440px;padding:28px;width:100%}.eyebrow{color:#93c5fd;font-size:.78rem;font-weight:700;margin:0 0 8px}.authPanel .eyebrow{color:#3478f6}h1{font-size:2rem;letter-spacing:0;line-height:1.15;margin:0 0 12px}.lead{color:#3f4248;line-height:1.7;margin:0}.authForm{display:grid;gap:16px;margin-top:24px}.field{color:#242528;display:grid;font-size:.88rem;font-weight:600;gap:8px}.field input{background:#fff;border:1px solid #cfcfcf;border-radius:8px;color:#242528;min-height:44px;padding:10px 12px;touch-action:manipulation;width:100%}.field input:focus{border-color:#3478f6;box-shadow:0 0 0 3px #3478f633;outline:none}.authActions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.primaryButton,.secondaryButton,.googleButton,.navButton{border:0;border-radius:8px;font-weight:700;min-height:44px;padding:10px 14px;touch-action:manipulation}.primaryButton{background:#3478f6;color:#fff}.secondaryButton{background:#fff;border:1px solid #d7d7d7;color:#242528}.googleButton{background:#fff;border:1px solid #8590a2;color:#172b4d}.formMessage{border-radius:6px;font-size:.88rem;line-height:1.6;margin:0;padding:10px 12px}.errorMessage{background:#fff2f0;color:#ae2a19}.infoMessage{background:#e9f2ff;color:#05c}.appShell{background:#f4f4f4;min-height:100vh;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.appHeader{align-items:center;background:#fff;border-bottom:8px solid #0d7cff;box-shadow:0 1px 8px #24252814;display:flex;justify-content:space-between;min-height:86px;padding:18px max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left));position:sticky;top:0;z-index:20}.appBrand{align-items:center;display:inline-flex;min-width:0}.brandText{color:#242528;font-size:1.55rem;font-weight:900;line-height:1}.userMenu{position:relative}.avatarButton{align-items:center;background:transparent;border:0;border-radius:999px;display:inline-flex;height:54px;justify-content:center;padding:0;width:54px}.avatarButton:focus-visible{box-shadow:0 0 0 3px #3478f63d;outline:none}.avatarImage{border-radius:999px;display:block;height:54px;object-fit:cover;width:54px}.avatarFace{background:#6cb5cf;border:6px solid #f6bd60;border-radius:999px;display:inline-block;height:50px;position:relative;width:50px}.avatarFace:before,.avatarFace:after{background:#111;border-radius:999px;content:"";height:4px;position:absolute;top:18px;width:4px}.avatarFace:before{left:14px}.avatarFace:after{right:14px}.avatarFace span{border-bottom:3px solid #111111;border-radius:0 0 999px 999px;bottom:12px;height:8px;left:17px;position:absolute;width:14px}.userMenuPanel{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 4px 16px #24252824;display:grid;min-width:196px;padding:12px;position:absolute;right:0;top:calc(100% + 12px);z-index:30}.userMenuPanel button{align-items:center;background:#fff;border:0;border-radius:8px;color:#242528;display:flex;font-weight:700;gap:14px;min-height:48px;padding:10px 12px;text-align:left}.userMenuPanel button:hover,.userMenuPanel button:focus-visible{background:#eef4ff;color:#3478f6;outline:none}.appHeaderMessage{margin:16px auto 0;max-width:960px;padding:0 18px}.appContent{margin:0 auto;max-width:960px;padding:24px 18px}.pageSurface{display:grid;gap:18px}.placeholderPanel,.settingsPanel,.sectionPanel{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #24252814;color:#242528;display:grid;gap:12px;padding:18px}.sectionPanel h2,.settingsPanel h2{font-size:1.12rem;letter-spacing:0;margin:0}.profileDetails{display:grid;gap:12px;margin:0}.profileDetails div{display:grid;gap:4px}.profileDetails dt{color:#62646a;font-size:.78rem;font-weight:700}.profileDetails dd{color:#242528;margin:0;overflow-wrap:anywhere}.categoryCreateForm{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 120px auto}.categoryManagementList{display:grid;gap:10px}.categoryManagementRow{align-items:end;background:#f8f8f8;border:1px solid #e5e5e5;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) 96px auto auto;padding:12px}.categoryColorSwatch{border:2px solid #ffffff;border-radius:999px;box-shadow:0 0 0 1px #24252829;height:24px;margin-bottom:10px;width:24px}.calendarPanel{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #24252814;color:#242528;display:grid;gap:12px;padding:16px}.calendarHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.calendarHeader h2{font-size:1.18rem;margin:0}.iconButton{align-items:center;background:#fff;border:1px solid #d7d7d7;border-radius:999px;color:#242528;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.iconButton:focus-visible{border-color:#3478f6;box-shadow:0 0 0 3px #3478f633;outline:none}.calendarWeekdays,.calendarGrid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendarWeekdays span{color:#62646a;font-size:.78rem;font-weight:800;text-align:center}.calendarDay{align-content:start;background:#f8f8f8;border:1px solid #ededed;border-radius:8px;color:#242528;display:grid;gap:4px;min-height:92px;min-width:0;padding:8px;text-align:left}.calendarDay[data-current-month=false]{color:#a6a6a6;opacity:.58}.calendarDay[data-today=true] .calendarDayNumber{background:#3478f6;color:#fff}.calendarDay[aria-pressed=true]{border-color:#3478f6;box-shadow:0 0 0 3px #3478f629}.calendarDayNumber{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;height:26px;justify-content:center;justify-self:start;width:26px}.calendarPaymentBadge{background:#eef4ff;border-radius:999px;color:#3478f6;font-size:.72rem;font-weight:800;justify-self:start;padding:3px 7px}.calendarPaymentName{color:#3f4248;font-size:.72rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarPaymentList{display:grid;gap:10px}.calendarPaymentItem{align-items:center;border-top:1px solid #e9e9e9;display:flex;gap:12px;justify-content:space-between;padding-top:10px}.calendarPaymentItem:first-child{border-top:0;padding-top:0}.calendarPaymentItem div{display:grid;gap:4px;min-width:0}.calendarPaymentItem span{color:#62646a;font-size:.78rem;font-weight:700}.calendarPaymentItem strong{min-width:0;overflow-wrap:anywhere}.sectionHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.countBadge{background:#eef4ff;border-radius:999px;color:#3478f6;font-size:.82rem;font-weight:700;padding:4px 10px}.panelTitle{font-weight:700;line-height:1.6;margin:0}.mutedText{color:#62646a;line-height:1.7;margin:0}.bottomNav{background:#fffffff5;border-top:1px solid #e5e5e5;box-shadow:0 -2px 12px #2425281f;bottom:0;display:grid;gap:2px;grid-template-columns:repeat(5,1fr);left:0;min-height:calc(76px + env(safe-area-inset-bottom));padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));position:fixed;right:0;z-index:20}.navButton{align-items:center;background:transparent;border-radius:8px;color:#62646a;display:grid;font-size:.72rem;font-weight:700;gap:3px;justify-items:center;min-height:60px;min-width:0;overflow-wrap:anywhere;padding:6px 4px}.navButton svg{display:block;height:28px;width:28px}.navButton span{line-height:1.1}.navButton[aria-current=page]{background:transparent;color:#3478f6}.subscriptionForm{display:grid;gap:16px}.presetPickerActions{display:flex;justify-content:flex-start}.servicePresetPicker{background:#f8f8f8;border:1px solid #e5e5e5;border-radius:8px;display:grid;gap:12px;padding:14px}.categoryChipList{display:flex;flex-wrap:wrap;gap:8px}.categoryChip{background:#fff;border:1px solid #d7d7d7;border-radius:999px;color:#3f4248;font-size:.84rem;font-weight:700;min-height:34px;padding:6px 12px}.categoryChip[aria-pressed=true]{background:#eef4ff;border-color:#8ab4ff;color:#3478f6}.servicePresetGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.servicePresetCard{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 8px #24252814;color:#242528;display:flex;gap:10px;min-height:68px;min-width:0;padding:10px;text-align:left}.servicePresetCard:focus,.categoryChip:focus{border-color:#3478f6;box-shadow:0 0 0 3px #3478f633;outline:none}.servicePresetCardBody{display:grid;gap:2px;min-width:0}.servicePresetCardBody strong,.servicePresetCardBody span{min-width:0;overflow-wrap:anywhere}.servicePresetCardBody span{color:#62646a;font-size:.78rem;font-weight:700}.formGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.field select,.field textarea{background:#fff;border:1px solid #cfcfcf;border-radius:8px;color:#242528;min-height:44px;padding:10px 12px;touch-action:manipulation;width:100%}.field textarea{min-height:86px;resize:vertical}.field select:focus,.field textarea:focus{border-color:#3478f6;box-shadow:0 0 0 3px #3478f633;outline:none}.fullWidthField,.templateSuggestions{grid-column:1 / -1}.templateSuggestions{display:flex;flex-wrap:wrap;gap:8px}.faviconCandidateList{align-items:end;display:flex;flex-wrap:wrap;gap:8px}.templateSuggestions button,.textButton{background:#fff;border:1px solid #d7d7d7;border-radius:999px;color:#3478f6;font-size:.88rem;font-weight:700;min-height:34px;padding:6px 12px}.filterBar{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.compactField{font-size:.82rem}.subscriptionCards{display:grid;gap:12px}.subscriptionCard{align-items:start;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #24252814;color:#242528;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;padding:14px}.formActions,.subscriptionCardActions{display:flex;flex-wrap:wrap;gap:8px}.formActions{justify-content:flex-start}.subscriptionCardActions{align-items:flex-start;justify-content:flex-end}.serviceInitialIcon{align-items:center;background:#6cb5cf;border-radius:999px;color:#111;display:inline-flex;flex:0 0 auto;font-weight:900;height:46px;justify-content:center;width:46px}.serviceLogoImage{border-radius:999px;display:block;height:100%;object-fit:cover;width:100%}.subscriptionCardBody{display:grid;gap:8px;min-width:0}.subscriptionCard h3{font-size:1rem;letter-spacing:0;margin:0}.subscriptionMeta{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.subscriptionMeta div{display:grid;gap:2px}.subscriptionMeta dt{color:#626f86;font-size:.75rem}.subscriptionMeta dd{font-size:.86rem;margin:0;min-width:0;overflow-wrap:anywhere}.renewalList{display:grid;gap:12px}.homeDashboard{color:#242528}.homeDashboard .eyebrow{color:#3478f6;font-weight:800}.homeDashboard .lead,.homeDashboard .mutedText{color:#62646a}.homeDashboard .sectionHeader h2{color:#242528}.homeDashboard .countBadge{background:#eef4ff;color:#3478f6}.homeDashboard .emptyState{background:#fff;border-color:#d7d7d7;color:#242528}.dashboardMetricGrid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboardMetricCard,.dashboardPanel{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 12px #24252814}.dashboardMetricCard{display:grid;gap:8px;min-height:108px;padding:18px}.dashboardMetricCard p{color:#62646a;font-size:.82rem;font-weight:700;margin:0}.dashboardMetricCard strong{color:#242528;font-size:1.65rem;line-height:1.1;overflow-wrap:anywhere}.dashboardMetricCard[data-tone=accent]{border-color:#8ab4ff}.dashboardMetricCard[data-tone=warning]{border-color:#f6bd60}.dashboardPanel{display:grid;gap:14px;padding:16px}.dashboardTwoColumn{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.attentionList,.categoryBarList{display:grid;gap:10px}.attentionItem{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #24252814;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:12px}.attentionItem div{min-width:0}.attentionItem strong{color:#242528;overflow-wrap:anywhere}.attentionItem p,.attentionItem span{color:#62646a;font-size:.82rem;margin:0}.attentionItem span{background:#fff3dc;border:1px solid #f6bd60;border-radius:999px;color:#7a4d00;flex:0 0 auto;font-weight:800;padding:5px 9px}.categoryBarRow{display:grid;gap:8px}.categoryBarLabel{align-items:center;display:flex;gap:12px;justify-content:space-between}.categoryBarLabel span{color:#62646a}.categoryBarLabel strong{color:#242528}.categoryBarTrack{background:#e9e9e9;border-radius:999px;height:10px;overflow:hidden}.categoryBarTrack span{background:#3478f6;display:block;height:100%}.categoryPill{background:#eef4ff;border-radius:999px;color:#3478f6;display:inline-flex;font-size:.72rem;font-weight:800;margin-top:6px;padding:4px 8px}.serviceInitialIcon[data-category=videoMusic],.categoryPill[data-category=videoMusic],.categoryBarRow[data-category=videoMusic] .categoryBarTrack span{background:#f27bb3}.categoryPill[data-category]{color:#111}.serviceInitialIcon[data-category=aiDevelopment],.categoryPill[data-category=aiDevelopment],.categoryBarRow[data-category=aiDevelopment] .categoryBarTrack span{background:#6cb5cf}.serviceInitialIcon[data-category=workProductivity],.categoryPill[data-category=workProductivity],.categoryBarRow[data-category=workProductivity] .categoryBarTrack span{background:#9bbcf7}.serviceInitialIcon[data-category=cloudStorage],.categoryPill[data-category=cloudStorage],.categoryBarRow[data-category=cloudStorage] .categoryBarTrack span{background:#3478f6}.serviceInitialIcon[data-category=newsLearning],.categoryPill[data-category=newsLearning],.categoryBarRow[data-category=newsLearning] .categoryBarTrack span{background:#7fb2ff}.serviceInitialIcon[data-category=game],.categoryPill[data-category=game],.categoryBarRow[data-category=game] .categoryBarTrack span{background:#f6bd60}.serviceInitialIcon[data-category=fitnessHealth],.categoryPill[data-category=fitnessHealth],.categoryBarRow[data-category=fitnessHealth] .categoryBarTrack span{background:#7dcf8a}.serviceInitialIcon[data-category=householdFinance],.categoryPill[data-category=householdFinance],.categoryBarRow[data-category=householdFinance] .categoryBarTrack span{background:#f6bd60}.renewalCard{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 2px 12px #24252814;display:grid;gap:14px;padding:14px}.renewalCard-featured{border-color:#8ab4ff;box-shadow:0 2px 12px #2425281f}.renewalCardHeader{align-items:center;display:flex;gap:12px}.renewalCard h2{color:#242528;font-size:1.05rem;letter-spacing:0;margin:0 0 4px}.renewalCardMetrics{align-items:end;display:flex;gap:12px;justify-content:space-between}.daysUntil{color:#242528;font-size:1.45rem;font-weight:800;line-height:1.2;margin:0}.renewalAmount{color:#242528;font-weight:800;margin:0}.progressTrack{background:#e9e9e9;border-radius:999px;height:10px;min-width:120px;overflow:hidden}.progressFill{background:#3478f6;display:block;height:100%}.srOnly{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.emptyState{background:#fff;border:1px dashed #cfcfcf;border-radius:8px;color:#242528;display:grid;gap:8px;padding:18px}.summaryGrid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.summaryMetric{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 12px #24252814;color:#242528;display:grid;gap:10px;padding:18px}.summaryMetric strong{color:#242528;font-size:1.6rem;overflow-wrap:anywhere}.categoryShareChart{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(140px,180px) minmax(0,1fr)}.categoryShareDonut{aspect-ratio:1;background:var(--category-share-gradient);border-radius:999px;box-shadow:inset 0 0 0 28px #fff,0 2px 12px #24252814;width:100%}.categoryShareLegend{display:grid;gap:10px}.categoryShareLegendItem{align-items:center;border-top:1px solid #e9e9e9;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto auto;padding-top:10px}.categoryShareLegendItem:first-child{border-top:0;padding-top:0}.categoryShareLegendItem span{min-width:0;overflow-wrap:anywhere}.categoryShareLegendItem strong{color:#3478f6;white-space:nowrap}.categoryShareSwatch{border-radius:999px;height:12px;width:12px}.categoryTotals,.spendingHistoryList{display:grid;gap:10px}.spendingHistoryRow{align-items:center;border-top:1px solid #e9e9e9;display:flex;gap:12px;justify-content:space-between;padding-top:10px}.spendingHistoryRow:first-child{border-top:0;padding-top:0}.spendingHistoryRow span{color:#62646a;font-weight:800}.rateNote{color:#62646a;font-size:.82rem;font-weight:700;margin:6px 0 0}.categoryTotalRow{align-items:center;border-top:1px solid #e9e9e9;display:flex;gap:12px;justify-content:space-between;padding-top:10px}.categoryTotalRow:first-child{border-top:0;padding-top:0}.toast{background:#fff7d6;border:1px solid #f5cd47;border-radius:8px;color:#533f04;font-size:.9rem;line-height:1.6;padding:12px 14px}@media(max-width:380px){.authActions{grid-template-columns:1fr}.authPanel{padding:22px}}@media(max-width:560px){.formGrid,.filterBar,.categoryCreateForm,.categoryManagementRow,.categoryShareChart,.servicePresetGrid,.subscriptionMeta,.summaryGrid{grid-template-columns:1fr}.subscriptionCard{grid-template-columns:auto minmax(0,1fr)}.subscriptionCardActions{grid-column:1 / -1;justify-content:flex-start}.calendarPanel{padding:12px}.calendarWeekdays,.calendarGrid{gap:4px}.calendarDay{min-height:68px;padding:5px}.calendarDayNumber{height:24px;width:24px}.calendarPaymentBadge{font-size:.66rem;padding:2px 5px}.calendarPaymentName{display:none}}@media(max-width:720px){.dashboardMetricGrid,.dashboardTwoColumn{grid-template-columns:1fr}.dashboardMetricCard{min-height:96px}.attentionItem{align-items:flex-start;flex-direction:column}}
