.navbar[data-v-52711787]{background:var(--banner-color);z-index:100;align-items:center;gap:.75rem;height:3rem;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar[data-v-52711787]:after{content:"";background:linear-gradient(to bottom, var(--banner-color), transparent);pointer-events:none;height:1rem;position:absolute;bottom:-1rem;left:0;right:0}.hamburger[data-v-52711787]{cursor:pointer;opacity:.8;background:0 0;border:none;flex-direction:column;gap:3px;padding:.25rem;display:flex}.hamburger span[data-v-52711787]{background:var(--banner-fg);border-radius:1px;width:1.25rem;height:2px;display:block}.title[data-v-52711787]{color:var(--banner-fg);font-size:1rem;font-weight:600}.spacer[data-v-52711787]{flex:1}.avatar-group[data-v-52711787]{align-items:center;gap:0;display:flex}.avatar-group.expanded[data-v-52711787]{gap:.5rem}.avatar-btn[data-v-52711787]{border:2px solid var(--logout-btn-border);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex;overflow:hidden}.avatar-btn.active[data-v-52711787]{border-color:var(--banner-fg);box-shadow:0 0 0 2px var(--banner-icon-bg)}.avatar-img[data-v-52711787]{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.backdrop[data-v-52711787]{z-index:90;background:#0000004d;position:fixed;inset:3rem 0 0}.menu-panel[data-v-52711787]{background:var(--panel-bg);max-width:36rem;color:var(--panel-fg);z-index:91;border-radius:0 0 12px 12px;margin:0 auto;padding:26px .5rem .5rem;position:fixed;top:3rem;left:0;right:0;box-shadow:0 8px 24px #00000026}.menu-section[data-v-52711787]{flex-direction:column;gap:.25rem;display:flex}.menu-item[data-v-52711787]{cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem 1rem;font-family:inherit;font-size:1rem;transition:background .15s;display:flex}.menu-item[data-v-52711787]:hover{background:#0000000f}.menu-item.active[data-v-52711787]{background:#00000014;font-weight:700}.menu-icon[data-v-52711787]{object-fit:cover;border-radius:4px;flex-shrink:0;width:1.5rem;height:1.5rem}.login-page[data-v-cc786aee]{justify-content:center;align-items:center;height:100vh;display:flex}.login-form[data-v-cc786aee]{flex-direction:column;gap:.75rem;width:20rem;display:flex}.login-form h1[data-v-cc786aee]{text-align:center;margin:0 0 .5rem}.login-form input[data-v-cc786aee]{border:1px solid #ccc;border-radius:4px;padding:.6rem;font-size:1rem}.login-form button[data-v-cc786aee]{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:4px;padding:.6rem;font-size:1rem}.login-form button[data-v-cc786aee]:hover{background:#4338ca}.error[data-v-cc786aee]{color:#dc2626;text-align:center;margin:0}.module-page[data-v-d8114a34]{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;display:flex}.module-page h2[data-v-d8114a34]{text-transform:capitalize;font-size:1.5rem}.subtitle[data-v-d8114a34]{color:#666;font-size:.9rem}.module-page[data-v-461924b5]{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;display:flex}.module-page h2[data-v-461924b5]{text-transform:capitalize;font-size:1.5rem}.subtitle[data-v-461924b5]{color:#666;font-size:.9rem}.module-page[data-v-c539a9be]{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;display:flex}.module-page h2[data-v-c539a9be]{text-transform:capitalize;font-size:1.5rem}.subtitle[data-v-c539a9be]{color:#666;font-size:.9rem}.shopping-page[data-v-c87ac467]{flex-direction:column;max-width:36rem;min-height:100vh;margin:0 auto;padding:1rem 1rem 5rem;display:flex}.empty[data-v-c87ac467]{color:#888;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.hint[data-v-c87ac467]{color:#aaa;font-size:.85rem}.list[data-v-c87ac467]{flex-direction:column;gap:.35rem;display:flex}.item[data-v-c87ac467]{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff8c;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;transition:background .15s,opacity .15s;display:flex}.item[data-v-c87ac467]:hover{background:#fffc}.item.completing[data-v-c87ac467]{opacity:.4;pointer-events:none}.item-body[data-v-c87ac467]{flex-direction:column;min-width:0;display:flex}.item-title[data-v-c87ac467]{color:#222;font-size:1rem}.item-banner[data-v-c87ac467]{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.input-bar[data-v-c87ac467]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#d8c7a0f2;max-width:36rem;margin:0 auto;padding:.75rem 1rem;font-family:inherit;position:fixed;bottom:0;left:0;right:0}.input-row[data-v-c87ac467]{gap:.5rem;width:100%;display:flex}.input-row input[data-v-c87ac467]{background:#fff;border:1px solid #ccc;border-radius:8px;outline:none;flex:1;min-width:0;padding:.65rem .75rem;font-family:inherit;font-size:1rem}.input-row input[data-v-c87ac467]:focus{border-color:#adb5bd}.input-row button[data-v-c87ac467]{color:#fff;cursor:pointer;background:#adb5bd;border:none;border-radius:8px;width:2.75rem;padding:0;font-size:1.4rem;line-height:1}.input-row button[data-v-c87ac467]:disabled{opacity:.4;cursor:default}.input-row button[data-v-c87ac467]:not(:disabled):hover{background:#9ca3af}.undo-btn[data-v-c87ac467]{color:#888;cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:8px;width:2.75rem;padding:0;font-size:.85rem;line-height:1;transition:background .15s,color .15s}.undo-btn[data-v-c87ac467]:disabled{opacity:.3;cursor:default}.undo-btn[data-v-c87ac467]:not(:disabled):hover{color:#fff;background:#adb5bd;border-color:#adb5bd}.module-page[data-v-bb106685]{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;display:flex}.module-page h2[data-v-bb106685]{text-transform:capitalize;font-size:1.5rem}.subtitle[data-v-bb106685]{color:#666;font-size:.9rem}.home[data-v-ad9c4c20]{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;display:flex}.logout[data-v-ad9c4c20]{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;padding:.6rem 1.2rem;font-size:1rem}.logout[data-v-ad9c4c20]:hover{background:#b91c1c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#111;background:#d8c7a0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}button,input{font-family:inherit}main.has-nav{padding-top:3.5rem}
