:root{--cream:#f7f2e8;--paper:#fffdf8;--paper-raised:#ffffff;--ink:#291f2d;--ink-soft:#655b68;--ink-muted:#786f7b;--plum-950:#24112e;--plum-900:#32183e;--plum-800:#462451;--plum-700:#5b3264;--plum-100:#eee6f0;--tomato:#e05a47;--tomato-dark:#b94236;--tomato-100:#fbe5df;--sage-700:#53715a;--sage-600:#64886b;--sage-200:#c9ddc5;--sage-100:#e4efe1;--sun:#e7b75a;--sun-100:#f8edcf;--line:rgba(47,25,59,.13);--line-soft:rgba(47,25,59,.08);--danger:#b23b42;--success:#4f7959;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Arial Rounded MT Bold","Trebuchet MS",Inter,ui-sans-serif,sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:.45rem;--radius-md:.7rem;--radius-lg:1rem;--radius-xl:1.35rem;--shadow-sm:0 .25rem 1rem rgba(51,28,55,.055);--shadow-md:0 .8rem 2.2rem rgba(51,28,55,.11);--shadow-lg:0 1.5rem 4rem rgba(51,28,55,.17)}*,:after,:before{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0}button,input,select,textarea{color:inherit;font:inherit}[role=button],button{touch-action:manipulation}img,svg{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4,p{overflow-wrap:break-word}ol,ul{margin:0;padding:0}body{min-width:320px;min-height:100dvh;background:radial-gradient(circle at 92% 4%,rgba(231,183,90,.12),transparent 20rem),radial-gradient(circle at 42% 70%,rgba(201,221,197,.13),transparent 28rem),var(--cream);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--sage-200);color:var(--plum-950)}:focus-visible{outline:3px solid color-mix(in srgb,var(--tomato) 70%,white);outline-offset:3px}.skipLink{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;border-radius:.6rem;background:var(--plum-950);color:white;font-weight:800;text-decoration:none;transform:translateY(-160%)}.skipLink:focus{transform:translateY(0)}h1,h2,h3,h4{margin-top:0;color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em}h1{margin-bottom:.45rem;font-size:clamp(2rem,6vw,3.3rem);line-height:1.02}h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.14}h3{line-height:1.2}.pageHeader{display:flex;align-items:flex-end;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.pageHeader>div:first-child{max-width:48rem}.pageHeader h1{margin-bottom:.35rem}.eyebrow{margin:0 0 .45rem;color:var(--tomato-dark);font-size:.69rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.pageDescription{max-width:42rem;margin:0;color:var(--ink-muted);font-size:.9rem;line-height:1.55}.pageActions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.button,.buttonDanger,.buttonGhost,.buttonLight,.buttonSecondary{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;min-height:2.75rem;padding:.67rem 1rem;border:1px solid transparent;border-radius:.72rem;font-size:.78rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.button:hover,.buttonLight:hover,.buttonSecondary:hover{transform:translateY(-1px)}.button{background:var(--plum-900);color:white;box-shadow:0 .45rem 1rem rgba(50,24,62,.18)}.button:hover{background:var(--plum-800)}.buttonSecondary{background:var(--tomato);color:white;box-shadow:0 .45rem 1rem rgba(224,90,71,.18)}.buttonSecondary:hover{background:var(--tomato-dark)}.buttonGhost{border-color:var(--line);background:transparent;color:var(--ink)}.buttonGhost:hover{background:var(--paper)}.buttonLight{background:white;color:var(--plum-900)}.buttonDanger{border-color:rgba(178,59,66,.2);background:#fff4f3;color:var(--danger)}.button:disabled,.buttonSecondary:disabled{opacity:.55;cursor:not-allowed;transform:none}.iconButton{display:inline-grid;width:2.5rem;height:2.5rem;padding:0;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer}.iconButton:hover{border-color:var(--line);background:var(--paper);color:var(--ink)}.avatar{display:inline-grid;flex:0 0 auto;width:2.1rem;height:2.1rem;place-items:center;border:2px solid rgba(255,255,255,.75);border-radius:50%;color:white;font-size:.65rem;font-weight:850;text-decoration:none;box-shadow:0 .2rem .6rem rgba(31,15,36,.12)}.avatarPlum{background:var(--plum-700)}.avatarTomato{background:var(--tomato)}.avatarSage{background:var(--sage-600)}.avatarSun{background:#c98e30}.avatarBerry{background:#98506d}.avatarOcean{background:#447d84}.card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--paper);box-shadow:var(--shadow-sm)}.sectionHeading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.sectionHeading h2,.sectionHeading h3{margin:0}.sectionHeading p{margin:.2rem 0 0;color:var(--ink-muted);font-size:.78rem}.sectionHeading a{display:inline-flex;align-items:center;gap:.35rem;color:var(--plum-700);font-size:.75rem;font-weight:800;text-decoration:none}.chipRow{display:flex;gap:.5rem;padding-bottom:.2rem;overflow-x:auto;scrollbar-width:none}.chipRow::-webkit-scrollbar{display:none}.chip,.chipActive,.tag{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;min-height:2.15rem;padding:.42rem .72rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-size:.71rem;font-weight:750;white-space:nowrap}button.chip,button.chipActive{cursor:pointer}.chipActive{border-color:var(--plum-900);background:var(--plum-900);color:white}.tag{min-height:1.75rem;padding:.3rem .55rem;border:0;background:var(--sage-100);color:var(--sage-700);font-size:.65rem}.field{display:flex;flex-direction:column;gap:.38rem}.field label,.fieldLabel{color:var(--ink);font-size:.72rem;font-weight:800}.field label span,.fieldHint{color:var(--ink-muted);font-size:.67rem;font-weight:500}.input,.select,.textarea{width:100%;min-height:2.85rem;padding:.72rem .8rem;border:1px solid var(--line);border-radius:.72rem;outline:none;background:var(--paper-raised);color:var(--ink);font-size:.82rem;transition:border .15s ease,box-shadow .15s ease}.textarea{min-height:7rem;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--plum-700);box-shadow:0 0 0 .2rem var(--plum-100)}.input::placeholder,.textarea::placeholder{color:#aaa1ab}.errorText{margin:0;color:var(--danger);font-size:.68rem;font-weight:650}.searchField{position:relative;display:flex;align-items:center}.searchField>svg{position:absolute;left:.85rem;color:var(--ink-muted)}.searchField .input{padding-left:2.65rem}.segmented{display:inline-flex;padding:.25rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.55)}.segmented button{min-height:2.2rem;padding:.42rem .75rem;border:0;border-radius:.58rem;background:transparent;color:var(--ink-muted);font-size:.7rem;font-weight:800;cursor:pointer}.segmented .selected{background:var(--paper);color:var(--ink);box-shadow:0 .18rem .5rem rgba(41,31,45,.09)}.switch{position:relative;display:inline-flex;width:2.65rem;height:1.5rem;flex:0 0 auto;border:0;border-radius:999px;background:#cfc8cf;cursor:pointer;transition:background .18s ease}.switch:after{position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:white;box-shadow:0 .1rem .3rem rgba(20,10,20,.25);content:"";transition:transform .18s ease}.switchOn{background:var(--sage-600)}.switchOn:after{transform:translateX(1.15rem)}.skeleton{min-height:11rem;border-radius:var(--radius-xl);background:linear-gradient(100deg,rgba(255,255,255,.45) 20%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.45) 60%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position-x:-200%}}.toast{position:fixed;z-index:80;right:1rem;bottom:6.2rem;display:flex;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.75rem .95rem;border-radius:.8rem;background:var(--plum-950);color:white;font-size:.75rem;font-weight:700;box-shadow:var(--shadow-lg);animation:toastIn .25s ease both}@keyframes toastIn{0%{opacity:0;transform:translateY(.5rem)}}.emptyState{padding:2.4rem 1rem;border:1px dashed var(--line);border-radius:var(--radius-xl);text-align:center}.emptyState span{display:grid;width:3rem;height:3rem;margin:0 auto .75rem;place-items:center;border-radius:1rem;background:var(--sage-100);color:var(--sage-700)}.emptyState h3{margin-bottom:.3rem}.emptyState p{max-width:26rem;margin:0 auto 1rem;color:var(--ink-muted);font-size:.8rem}@media (min-width:720px){.pageHeader{margin-bottom:2rem}.toast{right:2rem;bottom:2rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.AppShell_shell__YCowG{min-height:100dvh}.AppShell_sidebar__urELu{display:none}.AppShell_content__InPW3{min-width:0;padding:1.25rem 1rem 7rem}.AppShell_mobileHeader__NRBXz{position:-webkit-sticky;position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;height:4.25rem;padding:0 1rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);background:color-mix(in srgb,var(--cream) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.AppShell_brand__tkE0n{display:inline-flex;align-items:center;gap:.65rem;color:var(--plum-900);font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.055em;text-decoration:none}.AppShell_brandMark__J3PgP{position:relative;display:grid;width:2rem;height:1.75rem;place-items:center}.AppShell_brandPot__YL_cD{display:grid;width:1.8rem;height:1.35rem;margin-top:.35rem;place-items:center;border-radius:.25rem .25rem .65rem .65rem;background:var(--tomato);color:white;font-family:var(--font-body);font-size:.68rem;font-weight:850;letter-spacing:0}.AppShell_brandLid__X7uoT{position:absolute;z-index:1;top:.18rem;width:1.35rem;height:.25rem;border-radius:999px;background:var(--plum-900);box-shadow:0 -.22rem 0 -.07rem var(--plum-900)}.AppShell_headerTools__1pUmE{display:flex;align-items:center;gap:.4rem}.AppShell_offlineDot__2GOBD,.AppShell_onlineDot__jd9pR{width:.5rem;height:.5rem;margin-right:.15rem;border-radius:50%;background:var(--sage-600);box-shadow:0 0 0 .2rem var(--sage-100)}.AppShell_offlineDot__2GOBD{background:var(--tomato);box-shadow:0 0 0 .2rem var(--tomato-100)}.AppShell_mobileNav__j81kB{position:fixed;z-index:40;right:.65rem;bottom:calc(.6rem + env(safe-area-inset-bottom));left:.65rem;display:grid;grid-template-columns:repeat(5,1fr);padding:.45rem .25rem;border:1px solid rgba(255,255,255,.12);border-radius:1.25rem;background:var(--plum-950);box-shadow:0 1rem 3rem rgba(35,16,42,.26)}.AppShell_mobileNav__j81kB a{display:flex;align-items:center;flex-direction:column;gap:.2rem;min-width:0;padding:.25rem .1rem;color:rgba(255,255,255,.61);font-size:.66rem;font-weight:700;text-decoration:none}.AppShell_mobileIcon__wklAg{display:grid;width:2.35rem;height:2rem;place-items:center;border-radius:999px}.AppShell_mobileNav__j81kB .AppShell_activeMobileNav__jTX4E{color:white}.AppShell_activeMobileNav__jTX4E .AppShell_mobileIcon__wklAg{background:var(--tomato);box-shadow:0 .3rem .9rem rgba(224,90,71,.36)}@media (min-width:960px){.AppShell_shell__YCowG{display:grid;grid-template-columns:17rem minmax(0,1fr)}.AppShell_sidebar__urELu{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:stretch;flex-direction:column;height:100dvh;padding:1.7rem 1.25rem 1.25rem;overflow-y:auto;border-right:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 20% 5%,rgba(224,90,71,.2),transparent 24%),linear-gradient(155deg,var(--plum-900),var(--plum-950));color:white}.AppShell_sidebar__urELu .AppShell_brand__tkE0n{padding:0 .7rem 1.7rem;color:white}.AppShell_sidebar__urELu .AppShell_brandLid__X7uoT{background:white;box-shadow:0 -.22rem 0 -.07rem white}.AppShell_household__1Knse{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;margin-bottom:1.4rem;padding:.7rem;border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:rgba(255,255,255,.07)}.AppShell_householdIcon__d_ohs{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;background:var(--sage-200);color:var(--plum-900);font-size:.7rem;font-weight:850}.AppShell_household__1Knse span:nth-child(2){display:flex;min-width:0;flex-direction:column}.AppShell_household__1Knse small{color:rgba(255,255,255,.55);font-size:.64rem;letter-spacing:.04em}.AppShell_household__1Knse strong{font-size:.83rem}.AppShell_desktopNav__y7d5Z{display:flex;flex-direction:column;gap:.25rem}.AppShell_desktopNav__y7d5Z a{display:flex;align-items:center;gap:.8rem;min-height:2.85rem;padding:0 .8rem;border-radius:.75rem;color:rgba(255,255,255,.66);font-size:.86rem;font-weight:700;text-decoration:none;transition:.18s ease}.AppShell_desktopNav__y7d5Z a:hover{background:rgba(255,255,255,.07);color:white}.AppShell_desktopNav__y7d5Z .AppShell_activeNav__FD8AX{background:white;color:var(--plum-900);box-shadow:0 .5rem 1rem rgba(14,5,19,.17)}.AppShell_navCount__3ZB6l{min-width:1.5rem;margin-left:auto;padding:.15rem .35rem;border-radius:999px;background:var(--tomato);color:white;font-size:.65rem;text-align:center}.AppShell_sidebarNote__JJZCK{margin-top:auto;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.07)}.AppShell_sidebarNote__JJZCK>span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;background:var(--tomato)}.AppShell_sidebarNote__JJZCK p{margin:.7rem 0;color:rgba(255,255,255,.62);font-size:.73rem;line-height:1.45}.AppShell_sidebarNote__JJZCK strong{color:white}.AppShell_sidebarNote__JJZCK a{display:inline-flex;align-items:center;gap:.35rem;color:var(--sage-200);font-size:.72rem;font-weight:800;text-decoration:none}.AppShell_accountMini__ulkYw{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:.65rem;gap:.65rem;margin-top:1rem;padding:.7rem;border-top:1px solid rgba(255,255,255,.1);color:white;text-decoration:none}.AppShell_accountMini__ulkYw>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.AppShell_accountMini__ulkYw strong{font-size:.75rem}.AppShell_accountMini__ulkYw small{overflow:hidden;color:rgba(255,255,255,.5);font-size:.61rem;text-overflow:ellipsis}.AppShell_mobileHeader__NRBXz,.AppShell_mobileNav__j81kB{display:none}.AppShell_content__InPW3{width:min(100%,94rem);min-height:100dvh;padding:2.5rem clamp(2rem,4vw,4.5rem) 4rem}}