@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_6fee09{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_6fee09{--font-fredoka:"Fredoka","Fredoka Fallback"}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_9637e0{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_9637e0{--font-nunito:"Nunito","Nunito Fallback"}:root{--frost:#f3f8fb;--frost-deep:#dceaf1;--rose:#e4467e;--rose-soft:#fbdce7;--rose-mist:#fdf2f6;--plum:#3a2a3e;--plum-soft:#7a6a80;--amber:#de8b2e;--mint:#4fb39a;--card:#ffffff;--r-lg:22px;--r-md:16px;--r-sm:11px;--shadow-drawer:0 2px 0 rgba(58,42,62,0.06),0 10px 22px -14px rgba(58,42,62,0.35)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{background:#e7edf2;font-family:var(--font-nunito),system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--plum);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;min-height:100svh}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}:focus-visible{outline:3px solid var(--rose);outline-offset:2px;border-radius:6px}.phone{position:relative;width:100%;max-width:400px;min-height:100vh;min-height:100dvh;min-height:100svh;height:100vh;height:100dvh;height:100svh;background:linear-gradient(180deg,var(--rose-mist) 0,var(--frost) 46%,var(--frost) 100%);overflow:hidden;display:flex;flex-direction:column}@media (min-width:520px){body{align-items:center;padding:26px 0}.phone{min-height:min(860px,94vh);height:min(860px,94vh);min-height:min(860px,94dvh);height:min(860px,94dvh);min-height:min(860px,94svh);height:min(860px,94svh);border-radius:38px;box-shadow:0 30px 70px -30px rgba(58,42,62,.55)}}header{padding:26px 22px 14px;flex:none;position:relative}.settings-btn{position:absolute;top:22px;right:20px;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:16px;box-shadow:0 4px 10px -8px rgba(58,42,62,.6)}.eyebrow{font-size:13px;color:var(--plum-soft);margin:0 0 2px}h1{font-family:var(--font-fredoka),sans-serif;font-weight:600;font-size:31px;margin:0;letter-spacing:-.4px}.summary{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.pill{background:#fff;border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:600;box-shadow:0 4px 10px -8px rgba(58,42,62,.6);display:flex;align-items:center;gap:6px}.pill .dot{width:8px;height:8px;border-radius:50%}.pill.old{background:#fbf0e0;color:#8a5a16}.staples-out-hint{margin:10px 16px 0;width:calc(100% - 32px);display:flex;align-items:center;justify-content:space-between;background:var(--rose-mist);color:var(--rose);border-radius:var(--r-md);padding:12px 14px;font-size:13.5px;font-weight:700}.staples-out-hint:after{content:"→"}.reminder-banner{margin:10px 16px 0;display:flex;flex-direction:column;gap:8px}.reminder-item{width:100%;display:flex;align-items:center;gap:12px;background:#fbf0e0;border-radius:var(--r-md);padding:12px 14px;text-align:left}.reminder-icon{font-size:20px;flex:none}.reminder-name{font-weight:700;font-size:14.5px;color:#8a5a16}.reminder-date{font-size:12.5px;color:#a17636;margin-top:1px}main{flex:1 1;overflow-y:auto;padding:6px 16px calc(190px + env(safe-area-inset-bottom, 0px));scrollbar-width:none}main::-webkit-scrollbar{display:none}.drawer{background:linear-gradient(180deg,#fff,#f8fcfe);border-radius:var(--r-lg);margin-bottom:11px;box-shadow:var(--shadow-drawer);overflow:hidden;transition:box-shadow .18s ease}.drawer.open{box-shadow:0 2px 0 rgba(58,42,62,.06),0 18px 34px -18px rgba(58,42,62,.5)}.drawer-head{width:100%;display:flex;align-items:center;gap:13px;padding:15px 17px;text-align:left}.grip{width:34px;height:34px;border-radius:12px;background:var(--frost-deep);display:grid;place-items:center;font-family:var(--font-fredoka),sans-serif;font-size:15px;font-weight:600;color:#4c6b7c;flex:none}.drawer.open .grip{background:var(--rose-soft);color:var(--rose)}.d-name{font-family:var(--font-fredoka),sans-serif;font-size:17px;font-weight:500;line-height:1.1}.d-sub{font-size:12.5px;color:var(--plum-soft);margin-top:2px}.d-right{margin-left:auto;align-items:center;gap:10px}.d-right,.peek{display:flex}.peek span{width:23px;height:23px;border-radius:50%;background:#fff;border:1.5px solid var(--frost-deep);display:grid;place-items:center;font-size:12px;margin-left:-7px}.chev{color:var(--plum-soft);transition:transform .22s ease;font-size:13px}.drawer.open .chev{transform:rotate(180deg)}.drawer-body{display:none;padding:0 12px 12px}.drawer.open .drawer-body{display:block;animation:slideOut .22s ease}@keyframes slideOut{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.item{width:100%;display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:var(--r-md);text-align:left}.item:active{background:var(--rose-mist)}.i-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:19px;background:var(--rose-mist);flex:none}.i-name{font-weight:700;font-size:15px}.i-meta{font-size:12.5px;color:var(--plum-soft);margin-top:1px}.age{margin-left:auto;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:#eaf6f2;color:#2f7a67;white-space:nowrap}.age.mid{background:var(--rose-soft);color:#b32c61}.age.old{background:#fbf0e0;color:#8a5a16}.empty{padding:16px 12px 18px;text-align:center;color:var(--plum-soft);font-size:13.5px}.empty button{color:var(--rose);font-weight:700;text-decoration:underline;text-underline-offset:3px}.fab{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(86px + env(safe-area-inset-bottom, 0px));background:var(--rose);color:#fff;font-family:var(--font-fredoka),sans-serif;font-size:16.5px;font-weight:500;padding:15px 30px;border-radius:999px;display:flex;align-items:center;gap:9px;box-shadow:0 12px 26px -10px rgba(228,70,126,.75);z-index:5}.fab:active{transform:translateX(-50%) scale(.96)}.fab .plus{font-size:20px;line-height:1}.backdrop{position:absolute;inset:0;background:rgba(58,42,62,.34);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.backdrop.show{opacity:1;pointer-events:auto}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:9;background:#fff;border-radius:28px 28px 0 0;padding:8px 20px calc(24px + env(safe-area-inset-bottom, 0px));max-height:92%;overflow-y:auto;transform:translateY(102%);transition:transform .28s cubic-bezier(.32,.72,0,1);scrollbar-width:none}.sheet::-webkit-scrollbar{display:none}.sheet.show{transform:none}.sheet-header{position:sticky;top:0;z-index:2;background:#fff;margin:0 -20px;padding:9px 20px 4px;touch-action:none}.handle{width:42px;height:5px;margin:0 auto 14px;border-radius:999px;background:var(--frost-deep)}.sheet-header-row{display:flex;align-items:center;gap:12px;padding-bottom:14px}.sheet-back{flex:none;width:36px;height:36px;border-radius:50%;background:var(--frost);color:var(--plum);display:grid;place-items:center;font-size:17px;touch-action:auto}.sheet-edit{margin-left:auto;font-size:15px}.sheet h2{font-family:var(--font-fredoka),sans-serif;font-weight:500;font-size:22px;margin:0}.label{font-size:13px;font-weight:700;color:var(--plum-soft);margin:20px 0 9px}.label:first-of-type{margin-top:0}.settings-menu{display:flex;flex-direction:column;gap:8px}.settings-menu-item{display:flex;align-items:center;gap:14px;width:100%;background:var(--frost);border-radius:var(--r-md);padding:13px 15px;text-align:left}.settings-menu-item:active{background:var(--frost-deep)}.settings-menu-icon{flex:none;width:40px;height:40px;border-radius:13px;background:#fff;display:grid;place-items:center;font-size:19px}.settings-menu-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.settings-menu-text b{font-size:15px;font-weight:700;color:var(--plum)}.settings-menu-text small{font-size:12.5px;color:var(--plum-soft);margin-top:1px}.settings-menu-chevron{flex:none;font-size:20px;color:var(--plum-soft)}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cat{background:var(--frost);border-radius:var(--r-md);padding:11px 4px 9px;text-align:center;border:2px solid transparent}.cat span{font-size:22px}.cat small,.cat span{display:block;line-height:1.2}.cat small{font-size:10.5px;font-weight:700;color:var(--plum-soft);margin-top:3px}.cat.sel{background:var(--rose-mist);border-color:var(--rose)}.cat.sel small{color:var(--rose)}.name-row{display:flex;gap:8px;align-items:center}input[type=date],input[type=password],input[type=text]{flex:1 1;width:100%;background:var(--frost);border:2px solid transparent;border-radius:var(--r-md);padding:13px 15px;font-size:16px;font-family:inherit;font-weight:600;color:var(--plum)}input[type=password]::placeholder,input[type=text]::placeholder{color:#a8b6bf;font-weight:400}input[type=date]:focus,input[type=password]:focus,input[type=text]:focus{outline:none;border-color:var(--rose);background:#fff}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.chip{background:#fff;border:1.5px solid var(--frost-deep);border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:600}.chip.sel,.chip:active{background:var(--rose-mist);border-color:var(--rose);color:var(--rose)}.qty-row{gap:14px;flex-wrap:wrap}.qty-row,.stepper{display:flex;align-items:center}.stepper{gap:4px;background:var(--frost);border-radius:999px;padding:5px}.stepper button{width:38px;height:38px;border-radius:50%;background:#fff;font-size:20px;font-family:var(--font-fredoka),sans-serif;display:grid;place-items:center;box-shadow:0 3px 8px -6px rgba(58,42,62,.8)}.stepper button:disabled{opacity:.35}.stepper output{min-width:34px;text-align:center;font-family:var(--font-fredoka),sans-serif;font-size:19px}.units{display:flex;gap:6px;flex-wrap:wrap}.unit{padding:9px 13px;border-radius:var(--r-sm);background:var(--frost);font-size:13.5px;font-weight:700;color:var(--plum-soft)}.unit.sel{background:var(--rose);color:#fff}.fach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fach{background:var(--frost);border-radius:var(--r-md);padding:12px 6px;text-align:center;border:2px solid transparent}.fach b{font-family:var(--font-fredoka),sans-serif;font-weight:500;font-size:16px;display:block}.fach small{font-size:11px;color:var(--plum-soft)}.fach.sel{background:var(--rose-mist);border-color:var(--rose)}.fach.sel small{color:var(--rose)}.photo{width:100%;align-items:center;gap:12px;background:var(--frost);border:1.5px dashed #c2d6e0;border-radius:var(--r-md);padding:14px 15px;text-align:left}.photo,.photo-choices{display:flex;margin-top:8px}.photo-choices{flex-direction:column;gap:8px}.photo-choices .photo{margin-top:0}.photo .cam{font-size:20px}.photo b{font-size:14.5px;display:block}.photo small{font-size:12px;color:var(--plum-soft)}.photo.done{border-style:solid;border-color:var(--mint);background:#f0faf7}.photo-thumb{width:40px;height:40px;border-radius:10px;object-fit:cover;flex:none}.save{width:100%;background:var(--rose);color:#fff;font-family:var(--font-fredoka),sans-serif;font-size:17px;font-weight:500;padding:16px;border-radius:var(--r-lg);margin-top:26px;box-shadow:0 12px 24px -12px rgba(228,70,126,.8)}.save:disabled{background:var(--frost-deep);color:#98a9b4;box-shadow:none}.save:not(:disabled):active{transform:scale(.985)}.detail-head{display:flex;gap:14px;align-items:center;margin-bottom:4px}.detail-head .i-icon{width:52px;height:52px;border-radius:17px;font-size:26px}.detail-head-text{flex:1 1;min-width:0}.detail-head h2{margin:0}.reminder-chip{background:var(--rose-mist);font-size:17px}.detail-photo-wrap{position:relative;width:100%;height:220px;border-radius:var(--r-md);margin-top:16px;overflow:hidden}.detail-photo-tap{display:block;padding:0;cursor:pointer}.photo-editor{margin-top:16px}.photo-editor .photo-choices{margin-top:10px}.inline-editor{margin-top:16px}.facts{background:var(--frost);border-radius:var(--r-md);padding:4px 15px;margin-top:20px}.fact{display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-size:14.5px;border-bottom:1px solid #e4eef3}.fact:last-child{border-bottom:none}.fact span:first-child{color:var(--plum-soft)}.fact span:last-child{font-weight:700}.fact.editable{cursor:pointer}.fact.editable span:last-child{background:#fff;border:1.5px solid var(--frost-deep);border-radius:var(--r-sm);padding:4px 10px}.fact input[type=date],.fact select{width:auto;max-width:160px;background:#fff;border:1.5px solid var(--rose);border-radius:var(--r-sm);padding:4px 9px;font-size:13.5px;font-weight:700;font-family:inherit;color:var(--plum)}.actions{display:flex;gap:10px;margin-top:22px}.btn-out{background:var(--rose);color:#fff}.btn-ghost,.btn-out{flex:1 1;font-weight:700;padding:15px;border-radius:var(--r-md);font-size:15px}.btn-ghost{background:var(--frost);color:var(--plum)}.toast{position:absolute;left:50%;bottom:calc(160px + env(safe-area-inset-bottom, 0px));transform:translate(-50%,14px);z-index:20;background:var(--plum);color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.toast.celebrate{background:var(--mint)}.confetti-burst{position:absolute;left:0;right:0;bottom:calc(160px + env(safe-area-inset-bottom, 0px));height:0;z-index:22;pointer-events:none}.confetti-piece{position:absolute;bottom:0;font-size:22px;opacity:0;animation-name:confetti-pop;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes confetti-pop{0%{transform:translateY(0) scale(.6) rotate(0deg);opacity:0}15%{opacity:1}to{transform:translateY(-160px) scale(1) rotate(200deg);opacity:0}}.last-one-banner{position:absolute;left:16px;right:16px;bottom:calc(160px + env(safe-area-inset-bottom, 0px));z-index:21;background:var(--card);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-drawer);animation:last-one-in .2s ease}@keyframes last-one-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.last-one-banner p{margin:0 0 10px;font-size:14px}.last-one-actions{display:flex;gap:8px}.last-one-actions button{flex:1 1;padding:11px;border-radius:var(--r-sm);font-size:13.5px;font-weight:700}.last-one-no{background:var(--frost);color:var(--plum-soft)}.last-one-staple{background:var(--rose-mist);color:var(--rose)}.last-one-yes{background:var(--rose);color:#fff}.bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;gap:6px;background:#fff;border-top:1.5px solid var(--frost-deep);padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px))}.bottom-nav-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:var(--r-sm);font-size:11.5px;font-weight:700;color:var(--plum-soft)}.bottom-nav-tab.active{color:var(--rose);background:var(--rose-mist)}.bottom-nav-icon{font-size:19px}.shopping-main{flex:1 1;overflow-y:auto;padding:6px 16px calc(90px + env(safe-area-inset-bottom, 0px));scrollbar-width:none}.shopping-main::-webkit-scrollbar{display:none}.shopping-section{margin-bottom:8px}.shopping-section-head{display:flex;align-items:center;justify-content:space-between}.shopping-empty{color:var(--plum-soft);font-size:13.5px;margin:4px 0 0}.shopping-add-all{background:var(--rose-mist);color:var(--rose);font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:999px}.shopping-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.shopping-item{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-drawer);padding:15px 16px;text-align:left;font-size:15px;font-weight:600}.shopping-item.done{opacity:.5}.shopping-item.done .shopping-item-name{text-decoration:line-through}.shopping-check{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--frost-deep);display:grid;place-items:center;color:#fff;font-size:14px}.shopping-check.checked{background:var(--mint);border-color:var(--mint)}.shopping-item-name{flex:1 1}.shopping-cat-group{margin-top:16px}.shopping-cat-label{font-size:13px;font-weight:700;color:var(--plum-soft);margin:0 0 8px}.shopping-outofstock-list{display:flex;flex-direction:column;gap:8px}.shopping-outofstock-row{display:flex;align-items:center;gap:10px;background:var(--frost);border-radius:var(--r-md);padding:14px 14px 14px 16px}.shopping-outofstock-name{flex:1 1;font-size:14.5px;font-weight:600}.shopping-plus{flex:none;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;font-size:20px;display:grid;place-items:center}.login-main{flex:1 1;display:flex;align-items:flex-start;padding:6px 16px 40px}.login-form{width:100%}.login-error{color:var(--rose)}.login-error,.password-success{font-size:13.5px;font-weight:700;margin:10px 2px 0}.password-success{color:#2f7a67}.onboarding{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;padding:36px 22px calc(28px + env(safe-area-inset-bottom, 0px))}.onboarding-hero{text-align:center;margin-bottom:28px}.onboarding-emoji-row{display:flex;justify-content:center;gap:14px;font-size:34px;margin-bottom:14px}.onboarding-emoji-row span{display:inline-block;animation:onboarding-float 2.4s ease-in-out infinite}.onboarding-emoji-row span:nth-child(2){animation-delay:.2s}.onboarding-emoji-row span:nth-child(3){animation-delay:.4s}.onboarding-emoji-row span:nth-child(4){animation-delay:.6s}@keyframes onboarding-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.onboarding-hero h1{font-family:var(--font-fredoka),sans-serif;font-size:26px;margin:0 0 8px}.onboarding-hero p{color:var(--plum-soft);font-size:14.5px;margin:0}.onboarding-compartments{flex:1 1}.onboarding-actions{margin-top:24px;display:flex;flex-direction:column;gap:10px}.onboarding-skip{text-align:center;color:var(--plum-soft);font-size:13.5px;font-weight:700;padding:8px}.account-list{display:flex;flex-direction:column;gap:8px}.account-row{background:var(--frost);border-radius:var(--r-md);padding:12px}.account-row.disabled{opacity:.6}.account-row-main{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14.5px}.account-role-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#fff;color:var(--plum-soft)}.account-role-badge.admin{background:var(--rose-mist);color:var(--rose)}.account-disabled-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#fbf0e0;color:#8a5a16}.account-row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.account-row-actions button{font-size:12px;padding:7px 10px}.account-reset-form{margin-top:10px;background:#fff;border-radius:var(--r-sm);padding:10px}.account-reset-form input{margin-top:6px}.account-reset-form .save{margin-top:8px;padding:11px;font-size:13.5px}.offline-pill{background:var(--frost-deep);color:var(--plum-soft)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.compartment-list{display:flex;flex-direction:column;gap:8px}.compartment-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--frost);border-radius:var(--r-md);padding:10px 12px}.compartment-order{display:flex;flex-direction:column;gap:2px;flex:none}.compartment-order button{width:26px;height:20px;border-radius:6px;background:#fff;font-size:10px;display:grid;place-items:center}.compartment-order button:disabled{opacity:.3}.compartment-name-input{flex:1 1;min-width:100px;background:#fff;border:1.5px solid transparent;border-radius:var(--r-sm);padding:9px 11px;font-size:14.5px;font-weight:700;font-family:inherit;color:var(--plum)}.compartment-name-input:focus{outline:none;border-color:var(--rose)}.compartment-count{font-size:12px;color:var(--plum-soft);white-space:nowrap;flex:none}.compartment-archive{flex:none;width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px}.compartment-move-prompt{width:100%;background:#fff;border-radius:var(--r-sm);padding:12px;margin-top:4px}.compartment-move-prompt p{margin:0 0 8px;font-size:13.5px}.compartment-move-prompt select{width:100%;padding:10px 11px;border-radius:var(--r-sm);border:1.5px solid var(--frost-deep);font-size:14px;font-family:inherit;background:var(--frost);color:var(--plum)}.compartment-move-actions{display:flex;gap:8px;margin-top:10px}.compartment-move-actions button{flex:1 1;padding:10px;font-size:13.5px}.staple-suggestions{background:var(--frost);border-radius:var(--r-md);padding:12px;margin-bottom:12px}.staple-suggestions-hint{margin:0 0 10px;font-size:13.5px;color:var(--plum-soft)}.staple-suggestion-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto}.staple-suggestion-row{display:flex;align-items:center;gap:9px;padding:8px 6px;font-size:14px}.staple-suggestion-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--rose);flex:none}.staple-suggestion-name{flex:1 1;font-weight:600}.staple-suggestion-count{color:var(--plum-soft);flex:none}.staple-suggestions .save{margin-top:10px}.staple-list{display:flex;flex-direction:column;gap:8px}.staple-empty{color:var(--plum-soft);font-size:13.5px;margin:0}.staple-row{display:flex;align-items:center;gap:8px;background:var(--frost);border-radius:var(--r-md);padding:10px 12px}.staple-icon{flex:none;font-size:17px}.staple-name-input{flex:1 1;min-width:100px;background:#fff;border:1.5px solid transparent;border-radius:var(--r-sm);padding:9px 11px;font-size:14.5px;font-weight:700}.staple-name-input:focus{outline:none;border-color:var(--rose)}.staple-min-qty{flex:none;display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--plum-soft)}.staple-min-qty input{width:36px;background:#fff;border:1.5px solid transparent;border-radius:var(--r-sm);padding:6px 4px;font-size:13.5px;font-weight:700;font-family:inherit;text-align:center;color:var(--plum)}.staple-min-qty input:focus{outline:none;border-color:var(--rose)}.staple-archive{flex:none;width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px}.staple-add-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.staple-add-form input[type=text]{flex:1 1;min-width:120px}.staple-add-form select{padding:9px 8px;border-radius:var(--r-sm);border:1.5px solid var(--frost-deep);font-size:13.5px;font-family:inherit;background:var(--frost);color:var(--plum);flex:none}