:root{--text:#5b6472;--text-h:#111827;--bg:#f7f8ff;--border:#1118271f;--code-bg:#ffffffbf;--accent:#7c3aed;--accent-bg:#7c3aed1f;--accent-border:#7c3aed59;--social-bg:#ffffff8c;--glass-bg:#ffffff8c;--glass-border:#ffffff8c;--glass-blur:14px;--shadow:#11182714 0 12px 28px -12px, #1118270f 0 6px 14px -10px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{box-sizing:border-box;width:100%;min-height:100svh}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.page{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:24px 16px;display:flex}.nav,.userArea{display:none!important}.mobileMenu{grid-column:3;justify-self:end;display:block!important}.mobileHomeLink{grid-column:2;justify-self:center;display:inline-flex!important}.appHeader{grid-template-columns:1fr auto 1fr!important;align-items:center!important;overflow:visible!important}@media (width<=480px){.appMain{padding:12px 10px 22px}.navLink{padding:10px 12px}.pageHeader{flex-direction:column;align-items:flex-start}.pageTitle{font-size:20px}.headerActions{justify-content:space-between;width:100%}.calDay{height:42px}}.appShell{background:radial-gradient(1200px 600px at 10% -10%, #7c3aed24, transparent 55%), radial-gradient(900px 600px at 90% 0%, #38bdf81f, transparent 55%), radial-gradient(1100px 700px at 50% 110%, #22c55e1a, transparent 55%), var(--bg);flex-direction:column;min-height:100svh;display:flex}.appHeader{z-index:10;background:var(--glass-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(var(--glass-blur));box-sizing:border-box;grid-template-columns:160px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid;position:sticky;top:0;overflow:visible}.mobileMenu{display:none;position:relative}.mobileHomeLink{display:none}.mobileBrandLink{letter-spacing:.2px;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;align-items:center;gap:6px;padding:6px 2px;font-weight:700;display:inline-flex}.mobileBrandLink .brandText{font-size:18px}.navLogo{object-fit:contain;width:24px;height:24px;display:block}.mobileHomeLink.navLink.mobileBrandLink,.mobileHomeLink.navLink.mobileBrandLink.active{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important;border-radius:0!important;height:auto!important;padding:0!important}.mobileMenuSummary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid color-mix(in oklab, var(--border), transparent 25%);background:color-mix(in oklab, var(--glass-bg), transparent 12%);-webkit-backdrop-filter:blur(var(--glass-blur));width:34px;height:34px;color:var(--text-h);text-align:center;border-radius:999px;justify-content:center;justify-self:end;align-items:center;min-width:0;min-height:0;padding:0;list-style:none;transition:background-color .22s cubic-bezier(.2,1.05,.2,1),border-color .22s cubic-bezier(.2,1.05,.2,1);display:inline-flex}.burgerIcon{flex-direction:column;justify-content:space-between;width:18px;height:12px;display:inline-flex}.burgerIcon span{background:color-mix(in oklab, var(--text-h), transparent 10%);transform-origin:50%;border-radius:999px;width:100%;height:2px;transition:transform .26s cubic-bezier(.2,1.05,.2,1),opacity .2s cubic-bezier(.2,.9,.2,1)}.mobileMenu[open] .burgerIcon span:first-child{transform:translateY(5px)rotate(45deg)}.mobileMenu[open] .burgerIcon span:nth-child(2){opacity:0}.mobileMenu[open] .burgerIcon span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.mobileMenuSummary::-webkit-details-marker{display:none}.mobileMenuPanel{z-index:50;border:1px solid var(--border);background:color-mix(in oklab, var(--glass-bg), #fff 22%);width:min(190px,72vw);-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 10px));box-shadow:var(--shadow);pointer-events:none;opacity:0;transform-origin:100% 0;will-change:opacity, transform;border-radius:14px;margin-top:0;padding:5px;transition:opacity .2s cubic-bezier(.2,.9,.2,1),transform .28s cubic-bezier(.2,1,.2,1);position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-8px)scale(.98)}.mobileMenu:not([open]) .mobileMenuPanel{pointer-events:none}.mobileMenu[open] .mobileMenuPanel{pointer-events:auto;opacity:1;transition:opacity .2s cubic-bezier(.2,.9,.2,1),transform .32s cubic-bezier(.2,1.05,.2,1);transform:translate(0,0)scale(1)}.mobileMenu[open] .mobileMenuSummary{border-color:var(--accent-border);background:var(--accent-bg)}.mobileMenu[open] .mobileMenuSummary .mobileMenuSummary{background:color-mix(in oklab, var(--glass-bg), #fff 16%);-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 6px))}.mobileMenuGrid{grid-template-columns:1fr;gap:6px;display:grid}.mobileMenuGrid .navLink{box-sizing:border-box;text-align:center;justify-content:center;width:100%}.mobileMenuLink.menuIncome{background:color-mix(in oklab, var(--glass-bg), #c4b5fd 28%);border-color:color-mix(in oklab, var(--border), #c4b5fd 45%)}.mobileMenuLink.menuSaving{background:color-mix(in oklab, var(--glass-bg), #99f6e4 28%);border-color:color-mix(in oklab, var(--border), #99f6e4 45%)}.mobileMenuLink.menuGoal{background:color-mix(in oklab, var(--glass-bg), #86efac 28%);border-color:color-mix(in oklab, var(--border), #86efac 45%)}.mobileMenuLink.menuExpenses{background:color-mix(in oklab, var(--glass-bg), #f9a8d4 28%);border-color:color-mix(in oklab, var(--border), #f9a8d4 45%)}.mobileMenuLink.menuBills{background:color-mix(in oklab, var(--glass-bg), #fcd34d 28%);border-color:color-mix(in oklab, var(--border), #fcd34d 45%)}.mobileMenuLink.menuDebt{background:color-mix(in oklab, var(--glass-bg), #93c5fd 28%);border-color:color-mix(in oklab, var(--border), #93c5fd 45%)}.mobileMenuLink.active.menuIncome,.mobileMenuLink.active.menuSaving,.mobileMenuLink.active.menuGoal,.mobileMenuLink.active.menuExpenses,.mobileMenuLink.active.menuBills,.mobileMenuLink.active.menuDebt{background:color-mix(in oklab, var(--glass-bg), #e5e7eb 34%);border-color:color-mix(in oklab, var(--border), #e5e7eb 60%);box-shadow:none}.desktopNavLink.menuIncome{background:color-mix(in oklab, var(--glass-bg), #c4b5fd 28%);border-color:color-mix(in oklab, var(--border), #c4b5fd 45%)}.desktopNavLink.menuSaving{background:color-mix(in oklab, var(--glass-bg), #99f6e4 28%);border-color:color-mix(in oklab, var(--border), #99f6e4 45%)}.desktopNavLink.menuGoal{background:color-mix(in oklab, var(--glass-bg), #86efac 28%);border-color:color-mix(in oklab, var(--border), #86efac 45%)}.desktopNavLink.menuExpenses{background:color-mix(in oklab, var(--glass-bg), #f9a8d4 28%);border-color:color-mix(in oklab, var(--border), #f9a8d4 45%)}.desktopNavLink.menuBills{background:color-mix(in oklab, var(--glass-bg), #fcd34d 28%);border-color:color-mix(in oklab, var(--border), #fcd34d 45%)}.desktopNavLink.menuDebt{background:color-mix(in oklab, var(--glass-bg), #93c5fd 28%);border-color:color-mix(in oklab, var(--border), #93c5fd 45%)}.desktopNavLink.active.menuIncome,.desktopNavLink.active.menuSaving,.desktopNavLink.active.menuGoal,.desktopNavLink.active.menuExpenses,.desktopNavLink.active.menuBills,.desktopNavLink.active.menuDebt{background:color-mix(in oklab, var(--glass-bg), #e5e7eb 34%);border-color:color-mix(in oklab, var(--border), #e5e7eb 60%);box-shadow:none}.mobileMenuGrid .secondaryButton{width:100%}.mobileMenuSeparator{background:color-mix(in oklab, var(--border), transparent 35%);grid-column:1/-1;height:1px;margin:6px 0}.mobileMenuFooter{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.mobileFooterBtn{border-radius:12px;justify-content:center;align-items:center;height:40px;padding:0;font-size:18px;display:inline-flex}.userArea .mobileFooterBtn{width:44px}.mobileFooterProfile{background:color-mix(in oklab, var(--glass-bg), #93c5fd 22%)!important;border-color:color-mix(in oklab, var(--border), #93c5fd 45%)!important}.mobileFooterHome{grid-column:1/-1;justify-content:center;gap:8px;background:color-mix(in oklab, var(--glass-bg), #a7f3d0 22%)!important;border-color:color-mix(in oklab, var(--border), #a7f3d0 45%)!important}.mobileFooterSignOut{background:color-mix(in oklab, var(--glass-bg), #fca5a5 24%)!important;border-color:color-mix(in oklab, var(--border), #fca5a5 45%)!important}.mobileMenuFooter .mobileFooterBtn{-webkit-backdrop-filter:blur(var(--glass-blur))}.brand{color:var(--text-h);font-weight:600}.brandText{background:linear-gradient(135deg,#c4b5fd 0%,#f9a8d4 40%,#93c5fd 100%);-webkit-text-fill-color:transparent;letter-spacing:.6px;-webkit-background-clip:text;background-clip:text;font-weight:800}.mobileBrandLink .brandText,.loadingBrand .brandText{-webkit-text-fill-color:transparent}.title .brandText{letter-spacing:1px;font-size:32px}.headerRange{opacity:.9;font-size:12px}.nav{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{height:6px}.nav::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--border), transparent 40%);border-radius:999px}.navLink{color:var(--text-h);border:1px solid color-mix(in oklab, var(--border), transparent 25%);background:color-mix(in oklab, var(--glass-bg), #fff 16%);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:999px;flex:none;padding:10px 14px;font-size:14px;text-decoration:none}.navLink.active{border-color:color-mix(in oklab, var(--border), #e5e7eb 60%);background:color-mix(in oklab, var(--glass-bg), #e5e7eb 34%);color:var(--text-h)}.userArea{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.userEmail{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.appMain{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:980px;margin:0 auto;padding:14px 12px 26px;display:flex}.budgetPage{gap:14px;display:grid}.pageHeader{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.pageHeaderMain{text-align:center;justify-items:center;gap:6px;display:grid}.rangeText{color:var(--text);border:1px solid color-mix(in oklab, var(--border), transparent 35%);background:color-mix(in oklab, var(--glass-bg), transparent 25%);-webkit-backdrop-filter:blur(var(--glass-blur));opacity:.9;border-radius:999px;padding:4px 8px;font-size:11px}@media (width<=720px){.rangeText{padding:3px 6px;font-size:10px}}.headerActions{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}@media (width>=768px){.pageHeader{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.pageHeaderMain{grid-column:2}.headerActions{grid-column:3;justify-self:end;width:auto}}.primaryLinkButton{background:var(--accent);color:#0b0612;border-radius:999px;justify-content:center;align-items:center;height:36px;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.buttonRow{justify-content:flex-end;gap:10px;display:flex}.pageTitle{letter-spacing:.2px;color:var(--text-h);margin:0;padding-bottom:6px;font-size:20px;font-weight:600;position:relative}.pageTitle:after{content:"";background:color-mix(in oklab, var(--accent), transparent 30%);border-radius:999px;width:36px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.totalPill{border:1px solid var(--accent-border);background:var(--accent-bg);box-shadow:var(--shadow);border-radius:999px;align-items:baseline;gap:10px;padding:10px 14px;display:inline-flex}@media (width<=720px){.totalPill{gap:6px;padding:6px 10px;font-size:13px}}.totalPill-income{background:color-mix(in oklab, var(--glass-bg), #c4b5fd 28%);border-color:color-mix(in oklab, var(--border), #c4b5fd 45%)}.totalPill-saving{background:color-mix(in oklab, var(--glass-bg), #99f6e4 28%);border-color:color-mix(in oklab, var(--border), #99f6e4 45%)}.totalPill-goal{background:color-mix(in oklab, var(--glass-bg), #86efac 28%);border-color:color-mix(in oklab, var(--border), #86efac 45%)}.totalPill-expenses{background:color-mix(in oklab, var(--glass-bg), #f9a8d4 28%);border-color:color-mix(in oklab, var(--border), #f9a8d4 45%)}.totalPill-bills{background:color-mix(in oklab, var(--glass-bg), #fcd34d 28%);border-color:color-mix(in oklab, var(--border), #fcd34d 45%)}.totalPill-debt{background:color-mix(in oklab, var(--glass-bg), #93c5fd 28%);border-color:color-mix(in oklab, var(--border), #93c5fd 45%)}.totalLabel{color:var(--text);font-size:12px}.totalValue{color:var(--text-h);font-size:16px;font-weight:600}.addRow{align-items:end;gap:10px;display:grid}@media (width>=720px){.addRow{grid-template-columns:1fr 180px 120px}}.list{gap:10px;display:grid}.listAdd{display:block}.listSeparator{background:color-mix(in oklab, var(--border), transparent 35%);width:100%;height:1px;margin:2px 0}.primaryButton.iconButton{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.listAdd .primaryButton.iconButton{background:color-mix(in oklab, var(--glass-bg), #86efac 30%);border-color:color-mix(in oklab, var(--border), #86efac 40%);color:var(--text-h)}.listRow{grid-template-columns:1fr minmax(96px,140px) 34px;align-items:center;gap:10px;display:grid}.listRowNoAction{grid-template-columns:1fr 130px}@media (width>=720px){.listRow{grid-template-columns:1fr minmax(140px,220px) 34px;align-items:center}.listRowNoAction{grid-template-columns:1fr 180px}}.listInput{box-sizing:border-box;border:1px solid var(--border);background:var(--code-bg);width:100%;height:44px;color:var(--text-h);border-radius:10px;outline:none;padding:10px 12px;font-size:16px}.listInput,.field input{-webkit-tap-highlight-color:transparent}.listInput:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.dangerButton{border:1px solid color-mix(in oklab, #ef4444, var(--border) 40%);height:44px;color:var(--text-h);cursor:pointer;background:oklab(63.6834% .187864 .0889285/.14);border-radius:10px;font-size:14px}.iconButton{justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:inline-flex}.dangerButton.iconButton{border-radius:10px;width:34px;height:34px}.secondaryButton.iconButton{background:color-mix(in oklab, var(--glass-bg), #86efac 30%);border-color:color-mix(in oklab, var(--border), #86efac 40%);width:34px;height:34px;color:var(--text-h);border-radius:10px}.dangerButton:disabled{opacity:.6;cursor:default}.emptyState{border:1px dashed var(--border);text-align:left;border-radius:14px;padding:16px}.dashboard{gap:14px;display:grid}.dashboardTop{gap:10px;display:grid}.cal{border:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);border-radius:14px;padding:12px}.calHeader{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}.calNavButton{justify-content:center;align-items:center;width:40px;height:36px;padding:0;font-size:18px;line-height:1;display:inline-flex}.calHeaderRight{justify-self:end;align-items:center;gap:8px;display:inline-flex}.calDelete{border:1px solid color-mix(in oklab, #ef4444, var(--border) 40%);width:40px;height:36px;color:var(--text-h);cursor:pointer;background:oklab(63.6834% .187864 .0889285/.12);border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:16px;display:inline-flex}.calDelete:disabled{opacity:.6;cursor:default}.calHeader button:first-child{justify-self:start}.calHeader button:last-child{justify-self:end}.calMonth{color:var(--text-h);text-align:center;font-weight:600}.calWeekdays{opacity:.9;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;font-size:12px;display:grid}.calGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calDay{border:1px solid var(--border);background:var(--code-bg);height:40px;color:var(--text-h);cursor:pointer;border-radius:10px}.calDay.groupA{background:color-mix(in oklab, var(--code-bg), var(--accent-bg) 10%)}.calDay.groupB{background:color-mix(in oklab, var(--code-bg), var(--social-bg) 20%)}.calDay.dataMark{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--accent-border), transparent 20%)}.calDay.data0{background:color-mix(in oklab, var(--code-bg), #60a5fa 18%);box-shadow:inset 0 0 0 2px oklab(71.374% -.0380178 -.138248/.9)}.calDay.data1{background:color-mix(in oklab, var(--code-bg), #34d399 18%);box-shadow:inset 0 0 0 2px oklab(77.2944% -.146957 .0443043/.9)}.calDay.data2{background:color-mix(in oklab, var(--code-bg), #fbbf24 18%);box-shadow:inset 0 0 0 2px oklab(83.6861% .0159629 .163645/.9)}.calDay.data3{background:color-mix(in oklab, var(--code-bg), #fb7185 18%);box-shadow:inset 0 0 0 2px oklab(71.9186% .164364 .0392419/.9)}.calDay.muted{opacity:.55}.calDay.disabled{opacity:.35;cursor:not-allowed}.calDay.inRange{background:var(--accent-bg);border-color:var(--accent-border)}.calDay.rangeEdge{background:var(--accent);border-color:var(--accent);color:#0b0612}.calHelp{opacity:.9;text-align:left;margin-top:10px;font-size:12px}.calVerse{border:1px solid color-mix(in oklab, var(--border), #c4b5fd 25%);background:linear-gradient(135deg,oklab(81.1162% .0405035 -.092836/.15) 0%,oklab(82.284% .106261 -.0264575/.15) 50%,oklab(80.9069% -.0298383 -.0908226/.15) 100%);border-radius:10px;margin-top:14px;padding:12px}.calVerseText{color:color-mix(in oklab, var(--text), #a78bfa 15%);margin-bottom:8px;font-size:13px;font-style:italic;line-height:1.5}.calVerseRef{color:color-mix(in oklab, var(--text-h), #f472b6 20%);text-align:right;font-size:12px;font-weight:600}.statGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"left left""saving saving""goal goal""income expenses""bills debt";gap:10px;display:grid}@media (width>=768px){.statGrid{grid-template-areas:"left left""saving goal""income expenses""bills debt"}}.statLeft{grid-area:left}.statSaving{grid-area:saving}.statGoal{grid-area:goal}.statIncome{grid-area:income}.statExpenses{grid-area:expenses}.statBills{grid-area:bills}.statDebt{grid-area:debt}.statCard{border:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);text-align:center;border-radius:14px;justify-items:center;gap:6px;padding:12px;display:grid}.statCard.highlight{background:var(--accent-bg);border-color:var(--accent-border)}.statIncome{background:color-mix(in oklab, var(--glass-bg), #c4b5fd 22%);border-color:color-mix(in oklab, var(--border), #c4b5fd 40%)}.statSaving{background:color-mix(in oklab, var(--glass-bg), #99f6e4 22%);border-color:color-mix(in oklab, var(--border), #99f6e4 40%)}.statGoal{background:color-mix(in oklab, var(--glass-bg), #86efac 22%);border-color:color-mix(in oklab, var(--border), #86efac 40%)}.statExpenses{background:color-mix(in oklab, var(--glass-bg), #f9a8d4 22%);border-color:color-mix(in oklab, var(--border), #f9a8d4 40%)}.statBills{background:color-mix(in oklab, var(--glass-bg), #fcd34d 22%);border-color:color-mix(in oklab, var(--border), #fcd34d 40%)}.statDebt{background:color-mix(in oklab, var(--glass-bg), #93c5fd 22%);border-color:color-mix(in oklab, var(--border), #93c5fd 40%)}.statLeft{background:color-mix(in oklab, var(--glass-bg), #a7f3d0 22%);border-color:color-mix(in oklab, var(--border), #a7f3d0 40%)}.statLeft .statValue{color:#fb7185}.statLabel{opacity:.9;font-size:13px}.statValue{color:var(--text-h);font-size:22px;font-weight:600}.statHint{opacity:.9;font-size:12px}.statLink a{color:var(--accent);font-size:14px;text-decoration:none}.statHint{text-align:center}.goalProgressBar{background:color-mix(in oklab, var(--border), transparent 60%);border-radius:999px;width:100%;height:10px;overflow:hidden}.goalProgressBarInner{background:color-mix(in oklab, var(--accent), #86efac 50%);border-radius:999px;width:0;height:100%}.goalPanel{margin-bottom:10px}.goalPanel .list{border-top:1px dashed var(--border);margin-top:14px;padding-top:14px}.readOnlyBanner{color:var(--text-m);background:color-mix(in oklab, var(--glass-bg), #fbbf24 15%);border:1px dashed color-mix(in oklab, var(--border), #fbbf24 30%);border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:12px}.goalMetaRow{grid-template-columns:1fr minmax(96px,140px) 34px;align-items:center;gap:10px;display:grid}@media (width>=720px){.goalMetaRow{grid-template-columns:1fr minmax(140px,220px) 34px;align-items:center}}.goalProgress{gap:8px;margin-top:10px;display:grid}.goalProgressTop{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.goalProgressName{color:var(--text-h);font-weight:600}.goalProgressValue{opacity:.9;font-size:13px}.goalListRow{gap:6px;width:100%;display:grid}.goalListTop{justify-content:space-between;align-items:baseline;gap:10px;width:100%;display:flex}.goalListName{color:var(--text-h);font-weight:600}.goalListValue{opacity:.9;font-size:12px}.panel{border:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);border-radius:14px;padding:12px}.panelHeader{gap:4px;margin-bottom:10px;display:grid}.panelTitle{color:var(--text-h);margin:0;font-size:16px}.panelMeta{opacity:.9;font-size:12px}.chartRow{text-align:center;place-items:center;gap:12px;display:grid}.pieChart{filter:drop-shadow(0 12px 24px #0f172a24);overflow:visible}.pieLeader{fill:none;stroke:color-mix(in oklab, var(--text), transparent 35%);stroke-width:1.25px}.pieLabel{fill:color-mix(in oklab, var(--text-h), transparent 5%);font-size:12px;font-weight:600}.pieValue{fill:color-mix(in oklab, var(--text-h), transparent 10%);font-size:12px;font-weight:600}@media (width>=720px){.chartRow{grid-template-columns:1fr}}.legend{justify-items:stretch;gap:8px;width:100%;max-width:320px;display:grid}.legendRow{border:1px solid color-mix(in oklab, var(--border), transparent 35%);background:color-mix(in oklab, var(--glass-bg), transparent 20%);border-radius:12px;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.swatch{width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--border), transparent 40%);border-radius:999px}.legendLabel{color:var(--text-h);font-size:14px}.legendValue{color:var(--text);font-size:13px}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card{background:color-mix(in oklab, var(--glass-bg), #fff 8%);width:100%;max-width:420px;-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 4px));box-sizing:border-box;border:1px solid #0000;border-radius:20px;padding:28px;animation:.38s cubic-bezier(.22,1,.36,1) both cardEnter;position:relative;box-shadow:inset 0 -16px 24px #ffffff1f}.loginCard{background-color:color-mix(in oklab, var(--glass-bg), #c4b5fd 4%);background-image:radial-gradient(at 88% 40%,#0000 0 85%),radial-gradient(at 49% 30%,#0000 0 85%),radial-gradient(at 14% 26%,#0000 0 85%),radial-gradient(at 0 64%,#c4b5fd24 0,#0000 85%),radial-gradient(at 41% 94%,#f9a8d41f 0,#0000 85%),radial-gradient(at 100% 99%,#93c5fd1f 0,#0000 85%)}.signupCard{background-color:color-mix(in oklab, var(--glass-bg), #93c5fd 4%);background-image:radial-gradient(at 88% 40%,#0000 0 85%),radial-gradient(at 49% 30%,#0000 0 85%),radial-gradient(at 14% 26%,#0000 0 85%),radial-gradient(at 0 64%,#93c5fd24 0,#0000 85%),radial-gradient(at 41% 94%,#bfdbfe1f 0,#0000 85%),radial-gradient(at 100% 99%,#a5d8ff1a 0,#0000 85%)}.loginCard:after,.signupCard:after{content:"";pointer-events:none;z-index:-1;border-radius:20px;position:absolute;inset:0}.loginCard:after{background:linear-gradient(#0000 30%,#f9a8d414 60%,#c4b5fd2e 100%)}.signupCard:after{background:linear-gradient(#0000 30%,#bfdbfe14 60%,#93c5fd2e 100%)}.cardBorder{pointer-events:none;z-index:-1;border-radius:20px;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.loginCard .cardBorder{background-image:linear-gradient(#93c5fd24 0%,#c4b5fd38 150%)}.signupCard .cardBorder{background-image:linear-gradient(#bfdbfe24 0%,#93c5fd38 150%)}.cardBorder:before{content:"";pointer-events:none;transform-origin:0;width:200%;height:10rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}.loginCard .cardBorder:before{background-image:linear-gradient(#fff0 0%,#c4b5fd47 40% 60%,#fff0 100%);animation:6s linear infinite cardBorderRotate}.signupCard .cardBorder:before{background-image:linear-gradient(#fff0 0%,#93c5fd47 40% 60%,#fff0 100%);animation:6s linear infinite cardBorderRotate}@keyframes cardBorderRotate{to{transform:translate(-50%,-50%)rotate(360deg)}}.cardHeader{text-align:center;margin-bottom:22px}.cardLogo{object-fit:contain;width:32px;height:32px;display:block}.title{letter-spacing:-.3px;justify-content:center;align-items:center;gap:10px;margin:0 0 10px;font-size:30px;line-height:1.35;display:inline-flex}.subtitle{color:var(--text);opacity:.85;margin:0;font-size:14px}.form{gap:16px;display:grid}.field{text-align:left;gap:8px;display:grid}.field span:first-child{color:var(--text-h);letter-spacing:.2px;font-size:13px;font-weight:500}.field input{box-sizing:border-box;border:1px solid color-mix(in oklab, var(--border), transparent 20%);background:color-mix(in oklab, var(--code-bg), #fff 6%);width:100%;height:48px;color:var(--text-h);border-radius:12px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.field input:focus{border-color:var(--accent-border);box-shadow:0 0 0 4px var(--accent-bg)}.hint{opacity:.75;margin-top:-4px;font-size:12px}.primaryButton,.secondaryButton{cursor:pointer;letter-spacing:.2px;border:1px solid #0000;border-radius:12px;height:48px;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .18s,filter .18s}.primaryButton,.secondaryButton,.dangerButton,.navLink,.calDay{touch-action:manipulation}.primaryButton{color:#1a0b2e;background:linear-gradient(135deg,#c4b5fd 0%,#f9a8d4 50%,#93c5fd 100%);box-shadow:0 4px 14px #c4b5fd59}.primaryButton:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 20px #c4b5fd73}.primaryButton:active:not(:disabled){transform:translateY(0)}.primaryButton:focus-visible,.secondaryButton:focus-visible,.dangerButton:focus-visible,.navLink:focus-visible{outline:2px solid color-mix(in oklab, var(--accent), #fff 30%);outline-offset:2px}.primaryButton:disabled{opacity:.7;cursor:default}.secondaryButton{color:var(--text-h);border-color:var(--border);background:0 0;background:color-mix(in oklab, var(--glass-bg), transparent 10%);-webkit-backdrop-filter:blur(var(--glass-blur))}.error{text-align:left;border:1px solid color-mix(in oklab, #ef4444, var(--border) 40%);color:var(--text-h);background:oklab(63.6834% .187864 .0889285/.1);border-radius:14px;padding:12px;font-size:14px}.modalOverlay{z-index:100;background:color-mix(in oklab, var(--bg), #000 10%);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{box-sizing:border-box;border:1px solid var(--border);background:var(--glass-bg);width:min(520px,92vw);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow);border-radius:16px;margin:0 auto;padding:14px}.modalHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.modalTitle{color:var(--text-h);font-weight:600}.modalClose{justify-content:center;align-items:center;width:40px;height:36px;padding:0;font-size:18px;line-height:1;display:inline-flex}.modalBody{margin-top:10px}.modalText{color:var(--text);opacity:.95}.modalActions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.loadingScreen{z-index:200;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:18px;display:flex;position:fixed;inset:0}.loadingSpinnerWrap{justify-items:center;gap:18px;display:grid}.spinner{border:4px solid #c4b5fd;border-color:#c4b5fd #f9a8d4 #93c5fd #a5b4fc;border-radius:50%;width:80px;height:80px;animation:1.2s linear infinite spinning82341;box-shadow:0 0 20px #c4b5fd66,0 0 40px #f9a8d44d}.loadingBrand{letter-spacing:.6px;text-transform:none;font-size:22px;font-weight:700}.loadingSub{color:var(--text);opacity:.85;text-align:center;min-height:20px;font-size:14px}@keyframes spinning82341{to{transform:rotate(360deg)}}.rangeNoticeBanner{z-index:240;border:1px solid color-mix(in oklab, var(--border), var(--accent) 28%);background:color-mix(in oklab, var(--glass-bg), #fff 10%);max-width:min(340px,100vw - 32px);color:var(--text-h);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.3;animation:.18s ease-out rangeBannerIn;position:fixed;top:16px;left:16px;box-shadow:0 6px 18px #00000014}@keyframes rangeBannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.iconOnly{justify-content:center;align-items:center;width:44px;height:38px;padding:0;font-size:18px;line-height:1;display:inline-flex}.iconOnly i,.calNavButton i,.calDelete i,.modalClose i{font-size:1em;line-height:1;display:block}.cardFooter{margin-top:14px}.socialLogin{margin-top:20px}.divider{align-items:center;margin-bottom:16px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.divider span{color:var(--text);opacity:.6;padding:0 12px;font-size:13px}.socialButton{border:1px solid var(--border);background:var(--glass-bg);width:100%;height:44px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.socialButton:hover:not(:disabled){background:color-mix(in oklab, var(--glass-bg), #000 5%)}.socialButton:disabled{opacity:.6;cursor:not-allowed}.socialButtonGoogle{background:#fff}.cardFooter p{margin:0}.cardFooter a{color:var(--accent)}.stack{gap:12px;display:grid}.infoRow{text-align:left;gap:6px;display:grid}.infoLabel{opacity:.9;font-size:13px}.infoValue{color:var(--text-h);word-break:break-word;font-size:16px}.templateList{gap:16px;margin-top:12px;display:grid}.templateCard{border:1px solid var(--border);background:color-mix(in oklab, var(--glass-bg), #fff 4%);border-radius:12px;overflow:hidden}.templateCardHeader{align-items:center;gap:8px;padding:10px 12px;display:flex}.templateCardTitleWrap{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.templateCardHeader .listInput{flex:1}.templateSections{gap:16px;padding:0 12px 12px;display:grid}.templateSection{border:1px solid var(--border);background:color-mix(in oklab, var(--glass-bg), #fff 6%);border-radius:8px;padding:10px}.templateSectionHeader{color:var(--text-h);text-transform:uppercase;letter-spacing:.5px;opacity:.85;margin-bottom:8px;font-size:13px;font-weight:600}.templateSection .listRow{margin-bottom:6px}.templateSection select.listInput{appearance:auto;padding-right:8px}.templateModalList{gap:10px;margin-top:12px;display:grid}.templateModalCard{text-align:left;border:1px solid var(--border);background:color-mix(in oklab, var(--glass-bg), #fff 6%);cursor:pointer;border-radius:10px;width:100%;padding:12px 14px;transition:box-shadow .12s,border-color .12s,transform .12s,background .12s}.templateModalCard:hover{border-color:color-mix(in oklab, var(--border), var(--accent) 40%);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.templateModalNameRow{justify-content:space-between;align-items:center;gap:10px;display:flex}.templateModalName{color:var(--text-h);font-size:15px;font-weight:600}.templateModalAction{color:color-mix(in oklab, var(--text-h), var(--accent) 32%);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:12px;font-weight:700}.templateModalMeta{color:var(--text);text-transform:capitalize;opacity:.85;margin-top:4px;font-size:13px}
