:root{--orange-50: #FFF6EF;--orange-100: #FFEBDD;--orange-150: #FFE0CB;--orange-200: #FFE3D0;--orange-400: #F06A1D;--orange-500: #EC5F14;--orange-700: #B84604;--orange-ink: #B44205;--orange-ink-hover: #8F3504;--bg: #FAF7F3;--surface: #FFFFFF;--surface-hover: #FBF8F4;--nav-hover: #F7F1EB;--sand-100: #F4EFE9;--sand-150: #F1EBE4;--line: #EEE7DF;--line-hover: #E0D5CA;--line-strong: #E3DAD0;--line-control: #D6CCC1;--ink: #2B231D;--ink-2: #6B5F56;--ink-3: #9A8E85;--ok-fg: #2F7D4F;--ok-bg: #E3F3E8;--ok-bar: #3E9A64;--low-fg: #8A5A00;--low-bg: #FFF0C7;--low-bar: #E7A517;--low-ink: #6B4600;--out-fg: #B8322A;--out-bg: #FDE3DF;--out-bar: #D9483C;--out-ink: #8F2620;--bar-muted: #F4D9C6;--toast-ok: #7FD4A0;--font: "Nunito", ui-rounded, system-ui, sans-serif;--font-icon: "Material Symbols Rounded";--font-mono: ui-monospace, Menlo, monospace;--fs-display: 48px;--fs-h1: 30px;--fs-h2: 18px;--fs-body: 16px;--fs-meta: 13px;--fs-overline: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-check: 9px;--radius-control: 14px;--radius-tile: 16px;--radius-card: 20px;--radius-section: 24px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(43, 35, 29, .04);--shadow-knob: 0 1px 2px rgba(43, 35, 29, .08);--shadow-raised: 0 8px 24px rgba(43, 35, 29, .12);--shadow-toast: 0 8px 24px rgba(43, 35, 29, .25);--shadow-press-primary: 0 3px 0 var(--orange-700);--shadow-press-secondary: 0 3px 0 var(--line-strong);--shadow-press-dark: 0 3px 0 #000;--shadow-fab: 0 3px 0 var(--orange-700), 0 6px 16px rgba(236, 95, 20, .35);--focus-ring: 0 0 0 4px var(--orange-200);--sidebar-w: 248px;--content-max: 1120px;--tap-min: 44px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{height:100%}a{color:var(--orange-ink);text-decoration:none}a:hover{color:var(--orange-ink-hover);text-decoration:underline}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button,[role=button]{touch-action:manipulation}:focus-visible{outline:none;box-shadow:var(--focus-ring)}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.overline{font-size:var(--fs-overline);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.meta{font-size:var(--fs-meta);color:var(--ink-2)}.h1{font-size:var(--fs-h1);line-height:36px;font-weight:900;letter-spacing:-.02em}.h2{font-size:var(--fs-h2);line-height:24px;font-weight:800}.page{display:flex;flex-direction:column;gap:var(--space-6)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4)}.page-head>:first-child{flex:1;min-width:200px}.page-head p{margin-top:4px;color:var(--ink-2)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--space-4);align-items:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Icon[data-v-065a4f81]{display:inline-block;flex:none;font-family:var(--font-icon);font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-user-select:none;user-select:none;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.Avatar[data-v-3b8612e3]{flex:none;display:grid;place-items:center;border-radius:var(--radius-pill);color:var(--ink);font-weight:900}.Shell[data-v-14dfba99]{display:flex;min-height:100%}.Logo[data-v-14dfba99]{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.Logo[data-v-14dfba99]:hover{color:var(--ink);text-decoration:none}.Logo span[data-v-14dfba99]{color:var(--orange-500)}.Logo--top[data-v-14dfba99]{flex:1;font-size:22px}.Side[data-v-14dfba99]{display:none}@media(min-width:860px){.Side[data-v-14dfba99]{position:sticky;top:0;width:var(--sidebar-w);height:100vh;flex:none;display:flex;flex-direction:column;gap:24px;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line)}.Side .Logo[data-v-14dfba99]{padding:0 8px}}.Side-add[data-v-14dfba99]{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--radius-pill);background:var(--orange-500);color:#fff;font-size:16px;font-weight:800;box-shadow:var(--shadow-press-primary);text-decoration:none}.Side-add[data-v-14dfba99]:hover{background:var(--orange-400);color:#fff;text-decoration:none}.Side-add[data-v-14dfba99]:active{transform:translateY(2px);box-shadow:0 1px 0 var(--orange-700)}.Side-nav[data-v-14dfba99]{display:flex;flex-direction:column;gap:4px}.Side-link[data-v-14dfba99]{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:var(--radius-control);color:var(--ink-2);font-size:15px;font-weight:800;text-decoration:none}.Side-link[data-v-14dfba99]:hover{background:var(--nav-hover);color:var(--ink-2);text-decoration:none}.Side-link.is-active[data-v-14dfba99]{background:var(--orange-100);color:var(--orange-ink)}.Side-label[data-v-14dfba99]{flex:1}.Side-badge[data-v-14dfba99]{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--orange-500);color:#fff;font-size:12px;font-weight:900}.Side-household[data-v-14dfba99]{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-tile);background:var(--sand-100);color:var(--ink);text-decoration:none}.Side-household[data-v-14dfba99]:hover{color:var(--ink);text-decoration:none;background:var(--sand-150)}.Side-avatars[data-v-14dfba99]{display:flex}.Side-avatars[data-v-14dfba99]>*+*{margin-left:-8px}.Side-hh[data-v-14dfba99]{min-width:0}.Side-hh-name[data-v-14dfba99]{font-size:14px;font-weight:800}.Main[data-v-14dfba99]{flex:1;min-width:0;display:flex;flex-direction:column}.Top[data-v-14dfba99]{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;height:60px;padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--bg)}.Top-me[data-v-14dfba99]{display:grid;text-decoration:none}.Content[data-v-14dfba99]{flex:1;padding:8px 16px calc(104px + env(safe-area-inset-bottom))}.Content-inner[data-v-14dfba99]{max-width:var(--content-max);margin:0 auto}@media(min-width:860px){.Top[data-v-14dfba99],.Bottom[data-v-14dfba99]{display:none!important}.Content[data-v-14dfba99]{padding:36px 40px 56px}}.Bottom[data-v-14dfba99]{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:calc(72px + env(safe-area-inset-bottom));padding:0 4px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.Bottom-link[data-v-14dfba99]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;color:var(--ink-2);font-size:11px;font-weight:800;text-decoration:none}.Bottom-link[data-v-14dfba99]:hover{color:var(--ink-2);text-decoration:none}.Bottom-link.is-active[data-v-14dfba99]{color:var(--orange-ink)}.Bottom-badge[data-v-14dfba99]{position:absolute;top:2px;left:50%;margin-left:6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:var(--radius-pill);background:var(--orange-500);color:#fff;font-size:11px;font-weight:900}.Bottom-fab-wrap[data-v-14dfba99]{display:flex;justify-content:center}.Bottom-fab[data-v-14dfba99]{width:56px;height:56px;margin-bottom:6px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--orange-500);color:#fff;box-shadow:var(--shadow-fab)}.Bottom-fab[data-v-14dfba99]:hover{color:#fff}.Bottom-fab[data-v-14dfba99]:active{transform:translateY(2px)}.ToastHost[data-v-ed6de5b5]{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:60;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);pointer-events:none}@media(min-width:860px){.ToastHost[data-v-ed6de5b5]{bottom:28px;left:calc(50% + var(--sidebar-w) / 2)}}.Toast[data-v-ed6de5b5]{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-pill);background:var(--ink);color:#fff;font-size:15px;font-weight:700;box-shadow:var(--shadow-toast);pointer-events:auto}.Toast-icon[data-v-ed6de5b5]{color:var(--toast-ok)}.Toast--error .Toast-icon[data-v-ed6de5b5]{color:#ffb4a9}.Toast-text[data-v-ed6de5b5]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Toast-action[data-v-ed6de5b5]{margin-left:4px;padding:0;border:none;background:none;color:var(--orange-200);font-weight:800;text-decoration:underline}.toast-enter-active[data-v-ed6de5b5],.toast-leave-active[data-v-ed6de5b5]{transition:opacity .18s,transform .18s}.toast-enter-from[data-v-ed6de5b5],.toast-leave-to[data-v-ed6de5b5]{opacity:0;transform:translateY(8px)}
