:root{--ds-canvas: #FBF7F0;--ds-surface: #FFFFFF;--ds-surface-sunk: #F5F0E7;--ds-surface-hover: #F7F2E9;--ds-ink: #23201B;--ds-ink-secondary: #7B7062;--ds-ink-inverse: #FBF7F0;--ds-line: #EFE7DA;--ds-line-strong: #DCD1BE;--ds-control-edge: #928A7C;--ds-brand: #2F5D50;--ds-brand-hover: #264C41;--ds-brand-sunk: #1E3D34;--ds-brand-wash: #E8F0EC;--ds-brand-ink: #2F5D50;--ds-selected: #EDF3EE;--ds-selected-edge: #2F5D50;--ds-row-hover: #F4F8F5;--ds-favorite: #B48927;--ds-favorite-off: #A08D6E;--ds-positive: #3E7A5E;--ds-caution: #B07A1E;--ds-critical: #B4462F;--ds-critical-wash: #FBEEEA;--ds-font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;--ds-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-font-numeric: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--ds-text-xs: .75rem;--ds-text-sm: .8rem;--ds-text-md: .9rem;--ds-text-base: 1rem;--ds-text-lg: 1.15rem;--ds-text-xl: 1.4rem;--ds-display: 1.75rem;--ds-leading-tight: 1.2;--ds-leading-snug: 1.35;--ds-leading-body: 1.55;--ds-weight-regular: 400;--ds-weight-medium: 500;--ds-weight-semi: 600;--ds-weight-bold: 700;--ds-tracking-tight: -.015em;--ds-tracking-wide: .09em;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-10: 40px;--ds-space-12: 48px;--ds-radius-sm: 6px;--ds-radius-md: 10px;--ds-radius-lg: 14px;--ds-radius-xl: 20px;--ds-radius-pill: 999px;--ds-shadow-sm: 0 1px 2px rgba(60, 46, 26, .05);--ds-shadow-md: 0 4px 12px rgba(60, 46, 26, .08);--ds-shadow-lg: 0 12px 28px rgba(60, 46, 26, .14);--ds-motion-fast: .12s;--ds-motion-base: .18s;--ds-ease: cubic-bezier(.2, 0, .2, 1);--ds-measure: 34rem;--ds-page-max: 52rem;--ds-tap: 44px;--ds-focus-ring: 0 0 0 2px var(--ds-canvas), 0 0 0 4px var(--ds-brand)}@media (prefers-reduced-motion: reduce){:root{--ds-motion-fast: 0ms;--ds-motion-base: 0ms}}:root{--color-bg: var(--ds-canvas);--color-surface: var(--ds-surface);--color-surface-alt: var(--ds-surface-sunk);--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-secondary);--color-text-muted: var(--ds-ink-secondary);--color-primary: var(--ds-brand);--color-primary-dark: var(--ds-brand-hover);--color-border: var(--ds-line-strong);--color-accent-green: var(--ds-positive);--color-accent-orange: var(--ds-caution);--color-accent-blue: var(--ds-brand-ink);--shadow-soft: var(--ds-shadow-sm);--shadow-medium: var(--ds-shadow-md);background-color:var(--color-bg);color:var(--color-text-primary)}a{font-weight:var(--ds-weight-medium);color:var(--ds-brand-ink);text-decoration:inherit}a:hover{color:var(--ds-brand-hover)}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}:where(button){font-family:inherit}button:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}html,body,#root{background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;width:100%;max-width:100%;margin:0;box-sizing:border-box}.magic-link-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:400px;margin:0 auto;padding:24px}.magic-link-form h2{text-align:center;margin:0 0 16px;color:var(--color-text-primary);font-size:1.5rem;font-weight:600}.magic-link-form input{padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease}.magic-link-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.magic-link-form input:disabled{opacity:.6;cursor:not-allowed}.magic-link-form button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:var(--color-primary);color:#fff}.magic-link-form button:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.magic-link-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.code-instructions{text-align:center;color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.4}.code-input-container{display:flex;justify-content:center}.code-input{text-align:center;font-size:1.5rem;font-weight:600;letter-spacing:2px;width:200px;padding:16px}.resend-section{display:flex;justify-content:center;margin-top:8px}.resend-button{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:8px 16px;font-size:.9rem}.resend-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.resend-button:disabled{color:var(--color-text-secondary);border-color:var(--color-border);background:transparent}.back-button{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:.9rem;padding:8px 16px}.back-button:hover{background:var(--color-surface-alt);color:var(--color-text-primary)}.message{text-align:center;margin:0;padding:8px 12px;border-radius:6px;font-size:.9rem;line-height:1.4}.message.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.message.info{background:#3b82f61a;color:var(--ds-brand);border:1px solid rgba(59,130,246,.2)}@media (min-width: 768px){.magic-link-form{padding:32px}.magic-link-form h2{font-size:1.75rem}.code-input{width:240px;font-size:1.75rem}}.login-container{display:flex;flex-direction:column;gap:24px;width:100%;max-width:400px;margin:0 auto}.login-tabs{display:flex;background:var(--color-surface-alt);border-radius:8px;padding:4px;gap:4px}.tab-button{flex:1;padding:12px 16px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--color-text-primary)}.tab-button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.login-form{display:flex;flex-direction:column;gap:16px;width:100%}.login-form h2{text-align:center;margin:0 0 16px;color:var(--color-text-primary);font-size:1.5rem;font-weight:600}.login-form input{padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease}.login-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.login-form input:disabled{opacity:.6;cursor:not-allowed}.login-form button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:var(--color-primary);color:#fff}.login-form button:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.login-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{text-align:center;margin:0;padding:8px 12px;border-radius:6px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);font-size:.9rem;line-height:1.4}.forgot-password{display:flex;justify-content:center;margin-top:8px}.forgot-password-link{background:transparent;color:var(--color-primary);border:none;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.forgot-password-link:hover{background:rgba(var(--color-primary-rgb),.1)}@media (min-width: 768px){.login-container{max-width:450px}.login-form h2{font-size:1.75rem}.tab-button{font-size:1rem;padding:14px 20px}}.authPageContainer{background:var(--color-bg);min-height:100vh;color:var(--color-text-primary);padding:32px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.authDivider{border:none;border-top:1.5px solid var(--color-border);margin:32px 0 24px;width:100%;max-width:400px}:where(button,.authButton){background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:12px 0;font-size:1rem;font-weight:600;cursor:pointer;margin-top:8px;width:100%}:where(button:not([class])){box-shadow:var(--shadow-soft);transition:all .2s ease}.authPageContainer button:hover,.authButton:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}:where(input){background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;font-size:1rem;margin-bottom:12px;width:100%;box-sizing:border-box;transition:border-color .2s}input:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}.error-message{color:#ef4444;font-size:.9rem;margin-top:8px;text-align:center}.success-message{color:var(--color-primary);font-size:.9rem;margin-top:8px;text-align:center}.forgot-password{margin-top:16px;text-align:center}.forgot-password-link{background:none!important;border:none!important;color:var(--color-primary)!important;font-size:.9rem!important;cursor:pointer!important;text-decoration:underline!important;padding:0!important;margin:0!important;width:auto!important;box-shadow:none!important;transition:color .2s ease!important}.forgot-password-link:hover{color:var(--color-primary-dark)!important;transform:none!important;box-shadow:none!important}.invite-notice{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px;margin-bottom:16px;font-size:14px;color:#166534}.invite-notice p{margin:0;line-height:1.4}.error-list{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:6px;padding:12px 18px;margin:16px 0 0;font-size:14px;list-style:disc inside}.error-list li{margin-bottom:4px;line-height:1.5}._thumb_1d4v4_1,._tile_1d4v4_2{width:42px;height:42px;flex:0 0 42px;border-radius:var(--ds-radius-md);object-fit:cover;display:flex;align-items:center;justify-content:center;font-weight:var(--ds-weight-bold);font-size:var(--ds-text-sm);letter-spacing:.01em;-webkit-user-select:none;user-select:none}._sm_1d4v4_17,._sm_1d4v4_17._tile_1d4v4_2{width:32px;height:32px;flex-basis:32px;border-radius:var(--ds-radius-sm);font-size:var(--ds-text-xs)}._lg_1d4v4_18,._lg_1d4v4_18._tile_1d4v4_2{width:56px;height:56px;flex-basis:56px;border-radius:var(--ds-radius-lg);font-size:var(--ds-text-md)}._wrap_h8da2_10{position:relative;box-sizing:border-box}._panel_h8da2_15{position:absolute;top:calc(100% + var(--ds-space-1));left:0;right:0;z-index:60;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-lg);padding:var(--ds-space-1);margin:0;max-height:328px;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}._row_h8da2_35{display:flex;align-items:center;gap:var(--ds-space-3);width:100%;margin:0;padding:var(--ds-space-2);min-height:var(--ds-tap);background:var(--ds-surface);border:none;border-radius:var(--ds-radius-md);box-shadow:none;color:var(--ds-ink);font:inherit;font-weight:var(--ds-weight-regular);text-align:left;cursor:pointer;box-sizing:border-box;transition:background var(--ds-motion-fast) var(--ds-ease)}._row_h8da2_35:hover,._rowActive_h8da2_60,._rowActive_h8da2_60:hover{background:var(--ds-row-hover);transform:none;box-shadow:none}._text_h8da2_67{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}._name_h8da2_74{font-size:var(--ds-text-md);font-weight:var(--ds-weight-semi);line-height:var(--ds-leading-snug);color:var(--ds-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._meta_h8da2_84{font-size:var(--ds-text-sm);line-height:var(--ds-leading-snug);margin-top:2px;color:var(--ds-ink-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._size_h8da2_94{flex:0 0 auto;background:var(--ds-surface-sunk);color:var(--ds-ink-secondary);border-radius:var(--ds-radius-pill);padding:3px var(--ds-space-2);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semi);white-space:nowrap}._createRow_h8da2_105{border-top:1px solid var(--ds-line);margin-top:var(--ds-space-1);padding-top:var(--ds-space-3)}._createRow_h8da2_105 ._name_h8da2_74{color:var(--ds-brand-ink)}._plus_h8da2_112{width:42px;height:42px;flex:0 0 42px;border-radius:var(--ds-radius-md);background:var(--ds-brand-wash);color:var(--ds-brand-ink);display:flex;align-items:center;justify-content:center;font-size:var(--ds-text-xl);font-weight:var(--ds-weight-semi);line-height:1}@media (max-width: 600px){._panel_h8da2_15{max-height:260px}}._btn_zd636_8{display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);font-family:var(--ds-font-ui);font-weight:var(--ds-weight-semi);line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:var(--ds-radius-pill);cursor:pointer;width:auto;margin:0;transition:background var(--ds-motion-fast) var(--ds-ease),border-color var(--ds-motion-fast) var(--ds-ease),color var(--ds-motion-fast) var(--ds-ease)}._btn_zd636_8:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._btn_zd636_8:disabled{opacity:.45;cursor:default}._md_zd636_42{min-height:var(--ds-tap);padding:var(--ds-space-3) var(--ds-space-5);font-size:var(--ds-text-base)}._sm_zd636_54{min-height:36px;padding:var(--ds-space-2) var(--ds-space-4);font-size:var(--ds-text-md)}@media (pointer: coarse){._sm_zd636_54{min-height:var(--ds-tap)}}._block_zd636_64{width:100%}._primary_zd636_70{background:var(--ds-brand);color:var(--ds-ink-inverse)}._primary_zd636_70:hover:not(:disabled){background:var(--ds-brand-hover)}._primary_zd636_70:active:not(:disabled){background:var(--ds-brand-sunk)}._secondary_zd636_77{background:var(--ds-surface);color:var(--ds-ink);border-color:var(--ds-control-edge)}._secondary_zd636_77:hover:not(:disabled){background:var(--ds-surface-hover)}._ghost_zd636_85{background:transparent;color:var(--ds-ink-secondary)}._ghost_zd636_85:hover:not(:disabled){background:var(--ds-surface-hover);color:var(--ds-ink)}._danger_zd636_94{background:transparent;color:var(--ds-critical);border-color:transparent}._danger_zd636_94:hover:not(:disabled){background:var(--ds-critical-wash)}._wrap_10nd8_1{display:flex;flex-direction:column;gap:var(--ds-space-1);min-width:0}._label_10nd8_8{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);color:var(--ds-ink-secondary)}._input_10nd8_14{width:100%;min-width:0;margin:0;box-sizing:border-box;min-height:var(--ds-tap);padding:var(--ds-space-3) var(--ds-space-4);font-family:var(--ds-font-ui);font-size:var(--ds-text-base);color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);transition:border-color var(--ds-motion-fast) var(--ds-ease)}._input_10nd8_14::placeholder{color:var(--ds-ink-secondary)}._input_10nd8_14:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._input_10nd8_14:disabled{background:var(--ds-surface-sunk);color:var(--ds-ink-secondary);cursor:default}._invalid_10nd8_53{border-color:var(--ds-critical)}._hint_10nd8_55{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary)}._error_10nd8_56{font-size:var(--ds-text-sm);color:var(--ds-critical)}._star_7th9i_1{flex:0 0 auto;width:var(--ds-tap);height:var(--ds-tap);margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--ds-radius-pill);color:var(--ds-favorite-off);cursor:pointer;transition:color var(--ds-motion-fast) var(--ds-ease),background var(--ds-motion-fast) var(--ds-ease)}._star_7th9i_1:hover{background:var(--ds-row-hover);color:var(--ds-favorite)}._star_7th9i_1:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._on_7th9i_23{color:var(--ds-favorite)}._bar_uhua0_1{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);padding-bottom:max(var(--ds-space-3),env(safe-area-inset-bottom));background:var(--ds-brand);color:var(--ds-ink-inverse);box-shadow:var(--ds-shadow-lg)}._summary_uhua0_18{flex:1 1 auto;min-width:0;font-size:var(--ds-text-md);color:var(--ds-ink-inverse);opacity:.85}._bar_uhua0_1 ._action_uhua0_27{background:var(--ds-ink-inverse);color:var(--ds-brand);border-color:transparent}._bar_uhua0_1 ._action_uhua0_27:hover:not(:disabled){background:#fff}._form_gl9qv_9{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm);padding:var(--ds-space-4);margin-bottom:var(--ds-space-5);display:flex;flex-direction:column;gap:var(--ds-space-3);width:100%;box-sizing:border-box}._formTitle_gl9qv_23{font-family:var(--ds-font-display);font-size:var(--ds-text-lg);font-weight:var(--ds-weight-regular);letter-spacing:var(--ds-tracking-tight);color:var(--ds-ink)}._inputRow_gl9qv_31{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--ds-space-2);width:100%;box-sizing:border-box}._input_gl9qv_31{flex:1 1 0;width:0;min-width:0;margin:0;padding:var(--ds-space-3) var(--ds-space-4);min-height:var(--ds-tap);box-sizing:border-box;background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);font-family:inherit;font-size:var(--ds-text-base);color:var(--ds-ink)}._input_gl9qv_31::placeholder{color:var(--ds-ink-secondary)}._input_gl9qv_31:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._inputQty_gl9qv_68{flex:0 0 84px;width:84px}._suggestWrap_gl9qv_72{flex:3 1 0;min-width:0;width:auto}._suggestInput_gl9qv_73{width:100%;flex:none}._linkedRow_gl9qv_77{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-brand-wash);box-sizing:border-box;width:100%}._linkedText_gl9qv_88{flex:1 1 auto;min-width:0;font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._linkedName_gl9qv_97{color:var(--ds-ink);font-weight:var(--ds-weight-semi)}._linkedMeta_gl9qv_98{color:var(--ds-ink-secondary)}._sizeSelect_gl9qv_100{flex:0 0 auto;width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-2);min-height:32px;border-radius:var(--ds-radius-pill);border:1px solid var(--ds-control-edge);background:var(--ds-surface);font-family:inherit;font-size:var(--ds-text-sm);color:var(--ds-ink)}._sizeSelect_gl9qv_100:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._unlink_gl9qv_115{flex:0 0 auto;width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-2);background:transparent;border:0;border-radius:var(--ds-radius-sm);color:var(--ds-ink-secondary);font-family:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);cursor:pointer;text-decoration:underline}._unlink_gl9qv_115:hover{background:transparent;color:var(--ds-ink);transform:none;box-shadow:none}._unlink_gl9qv_115:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._error_gl9qv_133{color:var(--ds-critical);background:var(--ds-critical-wash);border-radius:var(--ds-radius-md);padding:var(--ds-space-2) var(--ds-space-3);font-size:var(--ds-text-md)}@media (max-width: 600px){._inputRow_gl9qv_31{gap:var(--ds-space-2)}._inputQty_gl9qv_68{flex:0 0 68px;width:68px;padding:var(--ds-space-3) var(--ds-space-2);text-align:center}}._item_1vf12_9{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);margin:0 calc(-1 * var(--ds-space-3));min-height:var(--ds-tap);border-radius:var(--ds-radius-md);background:var(--ds-canvas);list-style:none}:where(._item_1vf12_9+._item_1vf12_9){box-shadow:inset 0 1px 0 var(--ds-line)}._item_1vf12_9:hover{background:var(--ds-row-hover)}._dragHandle_1vf12_26{flex:0 0 auto;padding:var(--ds-space-1) var(--ds-space-1);color:var(--ds-ink-secondary);font-size:var(--ds-text-lg);line-height:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}._dragHandle_1vf12_26:active{cursor:grabbing}._itemText_1vf12_38{flex:1 1 auto;min-width:0;font-size:var(--ds-text-md);font-weight:var(--ds-weight-semi);color:var(--ds-ink);line-height:var(--ds-leading-snug)}._purchased_1vf12_49{color:var(--ds-ink-secondary);font-weight:var(--ds-weight-regular);text-decoration:line-through;text-decoration-color:var(--ds-ink-secondary)}._recurring_1vf12_58{margin-left:var(--ds-space-2);color:var(--ds-positive);font-size:1.05em;vertical-align:middle}._aisleChip_1vf12_67,._aisleChipEmpty_1vf12_67{flex:0 0 auto;width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-3);min-height:28px;border-radius:var(--ds-radius-pill);font-family:inherit;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-bold);cursor:pointer;border:1px solid transparent;transition:background var(--ds-motion-fast) var(--ds-ease)}._aisleChip_1vf12_67{background:var(--ds-brand-wash);color:var(--ds-brand-ink)}._aisleChip_1vf12_67:hover{background:var(--ds-selected)}._aisleChipEmpty_1vf12_67{background:transparent;color:var(--ds-ink-secondary);border-color:var(--ds-line-strong);border-style:dashed;font-weight:var(--ds-weight-medium)}._aisleChipEmpty_1vf12_67:hover{background:var(--ds-surface-hover);color:var(--ds-ink)}._aisleChip_1vf12_67:focus-visible,._aisleChipEmpty_1vf12_67:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._aisleInput_1vf12_99{flex:0 0 96px;width:96px;margin:0;padding:var(--ds-space-1) var(--ds-space-2);min-height:32px;box-sizing:border-box;border:1px solid var(--ds-brand);border-radius:var(--ds-radius-pill);background:var(--ds-surface);font-family:inherit;font-size:var(--ds-text-base);color:var(--ds-ink);text-align:center}._aisleInput_1vf12_99:focus{outline:none;box-shadow:var(--ds-focus-ring)}._addToPantry_1vf12_119{flex:0 0 auto;width:28px;min-height:28px;margin:0;padding:0;background:transparent;border:1px dashed var(--ds-line-strong);border-radius:var(--ds-radius-pill);color:var(--ds-ink-secondary);font-size:var(--ds-text-md);line-height:1;cursor:pointer}._addToPantry_1vf12_119:hover{background:var(--ds-brand-wash);color:var(--ds-brand-ink);border-color:var(--ds-brand)}._addToPantry_1vf12_119:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._inPantry_1vf12_136{flex:0 0 auto;width:8px;height:8px;border-radius:var(--ds-radius-pill);background:var(--ds-brand);opacity:.45}._controls_1vf12_147{display:flex;align-items:center;gap:var(--ds-space-1);flex:0 0 auto}._checkbox_1vf12_159{width:24px;height:24px;min-height:24px;flex:0 0 24px;margin:0;accent-color:var(--ds-brand);cursor:pointer}._checkbox_1vf12_159:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._deleteButton_1vf12_170{width:32px;min-height:var(--ds-tap);margin:0;padding:0;background:transparent;border:0;border-radius:var(--ds-radius-md);font-size:var(--ds-text-md);color:var(--ds-ink-secondary);cursor:pointer;opacity:.5;transition:opacity var(--ds-motion-fast) var(--ds-ease),background var(--ds-motion-fast) var(--ds-ease)}._deleteButton_1vf12_170:hover{opacity:1;background:var(--ds-critical-wash)}._deleteButton_1vf12_170:focus-visible{outline:none;box-shadow:var(--ds-focus-ring);opacity:1}@media (pointer: coarse){._aisleChip_1vf12_67,._aisleChipEmpty_1vf12_67,._addToPantry_1vf12_119{min-height:32px}._addToPantry_1vf12_119{width:32px}._checkbox_1vf12_159{width:28px;height:28px;min-height:28px;flex:0 0 28px}}@media (max-width: 600px){._item_1vf12_9{gap:var(--ds-space-2)}._aisleChip_1vf12_67,._aisleChipEmpty_1vf12_67{padding:var(--ds-space-1) var(--ds-space-2)}}._groceryItemsList_vt99a_1{list-style:none;margin:0;padding:0;width:100%}._threadContainer_hswjp_10{margin-top:var(--ds-space-8);padding:var(--ds-space-6);background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);color:var(--ds-ink);font-family:var(--ds-font-ui);box-sizing:border-box}._threadTitle_hswjp_21{margin:0 0 var(--ds-space-5);font-family:var(--ds-font-display);font-size:var(--ds-text-xl);font-weight:var(--ds-weight-regular);letter-spacing:var(--ds-tracking-tight);color:var(--ds-ink)}._state_hswjp_31{margin:0;font-size:var(--ds-text-md);color:var(--ds-ink-secondary);line-height:var(--ds-leading-body)}._errorText_hswjp_38{margin:0;font-size:var(--ds-text-md);color:var(--ds-critical);line-height:var(--ds-leading-body)}._commentsList_hswjp_47{display:flex;flex-direction:column;margin:0 0 var(--ds-space-6)}._comment_hswjp_47{padding:var(--ds-space-4) 0}:where(._comment_hswjp_47+._comment_hswjp_47){box-shadow:inset 0 1px 0 var(--ds-line)}._commentHeader_hswjp_64{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);margin-bottom:var(--ds-space-1)}._byline_hswjp_72{min-width:0;display:flex;align-items:baseline;gap:var(--ds-space-2);flex-wrap:wrap}._commentUser_hswjp_80{font-size:var(--ds-text-md);font-weight:var(--ds-weight-semi);color:var(--ds-ink)}._commentDate_hswjp_87{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);font-variant-numeric:tabular-nums}._commentText_hswjp_93{margin:0;max-width:var(--ds-measure);font-size:var(--ds-text-base);line-height:var(--ds-leading-body);color:var(--ds-ink);overflow-wrap:anywhere;white-space:pre-wrap}._archiveButton_hswjp_103{flex:0 0 auto;width:32px;min-height:32px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--ds-radius-sm);font-size:var(--ds-text-md);line-height:1;color:var(--ds-ink-secondary);cursor:pointer;opacity:.55;transition:opacity var(--ds-motion-fast) var(--ds-ease),background var(--ds-motion-fast) var(--ds-ease)}._archiveButton_hswjp_103:hover{opacity:1;background:var(--ds-critical-wash)}._archiveButton_hswjp_103:focus-visible{outline:none;box-shadow:var(--ds-focus-ring);opacity:1}@media (pointer: coarse){._archiveButton_hswjp_103{width:var(--ds-tap);min-height:var(--ds-tap)}}._replies_hswjp_134{margin-top:var(--ds-space-3);padding-left:var(--ds-space-4);border-left:2px solid var(--ds-line-strong);display:flex;flex-direction:column;gap:var(--ds-space-4)}._commentForm_hswjp_145{display:flex;flex-direction:column;gap:var(--ds-space-3);align-items:flex-start}._replyForm_hswjp_152{margin-top:var(--ds-space-3)}._replyToggle_hswjp_160{margin-top:var(--ds-space-2);margin-left:calc(-1 * var(--ds-space-4))}._textarea_hswjp_165{width:100%;max-width:var(--ds-measure);margin:0;padding:var(--ds-space-3);box-sizing:border-box;background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-md);font-family:var(--ds-font-ui);font-size:var(--ds-text-base);line-height:var(--ds-leading-body);color:var(--ds-ink);resize:vertical}._textarea_hswjp_165::placeholder{color:var(--ds-ink-secondary)}._textarea_hswjp_165:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._formActions_hswjp_184{display:flex;align-items:center;gap:var(--ds-space-2)}._footer_hswjp_190{margin-top:var(--ds-space-5);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-line);display:flex;justify-content:center}@media (max-width: 600px){._threadContainer_hswjp_10{padding:var(--ds-space-4)}._replies_hswjp_134{padding-left:var(--ds-space-3)}}._container_17j5j_8{width:100%;max-width:var(--ds-page-max);margin:0 auto;padding:var(--ds-space-5) var(--ds-space-5) var(--ds-space-12);box-sizing:border-box;background:var(--ds-canvas);color:var(--ds-ink);font-family:var(--ds-font-ui)}._headerRow_17j5j_21{display:flex;align-items:flex-start;gap:var(--ds-space-3);margin-bottom:var(--ds-space-2)}._headerTitle_17j5j_28{flex:1 1 auto;min-width:0;margin:0;font-family:var(--ds-font-display);font-size:var(--ds-display);font-weight:var(--ds-weight-regular);letter-spacing:var(--ds-tracking-tight);color:var(--ds-ink)}._backToListsButton_17j5j_39{width:auto;margin:0 0 var(--ds-space-4);padding:var(--ds-space-2) var(--ds-space-3) var(--ds-space-2) 0;background:none;border:0;border-radius:var(--ds-radius-sm);font-family:inherit;font-size:var(--ds-text-md);font-weight:var(--ds-weight-medium);color:var(--ds-ink-secondary);cursor:pointer}._backToListsButton_17j5j_39:hover{color:var(--ds-ink)}._backToListsButton_17j5j_39:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._errorBanner_17j5j_62{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);margin:0 0 var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-4);background:var(--ds-critical-wash);border-left:3px solid var(--ds-critical);border-radius:var(--ds-radius-sm);font-size:var(--ds-text-md);color:var(--ds-critical)}._errorDismiss_17j5j_76{flex:0 0 auto;width:32px;min-height:32px;margin:0;padding:0;background:none;border:0;border-radius:var(--ds-radius-sm);font-family:inherit;font-size:var(--ds-text-lg);line-height:1;color:var(--ds-critical);cursor:pointer}._errorDismiss_17j5j_76:hover{background:#b4462f1a}._errorDismiss_17j5j_76:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}@media (pointer: coarse){._errorDismiss_17j5j_76{width:var(--ds-tap);min-height:var(--ds-tap)}}._shopControls_17j5j_100{display:flex;align-items:center;gap:var(--ds-space-3);flex-wrap:wrap;padding:var(--ds-space-3) 0 var(--ds-space-4)}._storeField_17j5j_108{display:flex;align-items:center;gap:var(--ds-space-2);font-size:var(--ds-text-sm);color:var(--ds-ink-secondary)}._storeField_17j5j_108 select{font-family:inherit;font-size:var(--ds-text-md);color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);padding:var(--ds-space-2) var(--ds-space-3);min-height:36px}._storeField_17j5j_108 select:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._storeInput_17j5j_127{width:auto;min-width:0;margin:0;padding:var(--ds-space-2) var(--ds-space-4);min-height:36px;box-sizing:border-box;background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);font-family:inherit;font-size:var(--ds-text-base);color:var(--ds-ink)}._storeInput_17j5j_127:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._sortOn_17j5j_147,._sortOff_17j5j_147{width:auto;margin:0;padding:var(--ds-space-2) var(--ds-space-4);min-height:36px;border-radius:var(--ds-radius-pill);font-family:inherit;font-size:var(--ds-text-md);font-weight:var(--ds-weight-semi);cursor:pointer;border:1px solid transparent;transition:background var(--ds-motion-fast) var(--ds-ease)}._sortOn_17j5j_147{background:var(--ds-brand);color:var(--ds-ink-inverse)}._sortOn_17j5j_147:hover:not(:disabled){background:var(--ds-brand-hover)}._sortOff_17j5j_147{background:var(--ds-surface);color:var(--ds-ink);border-color:var(--ds-control-edge)}._sortOff_17j5j_147:hover:not(:disabled){background:var(--ds-surface-hover)}._sortOn_17j5j_147:disabled,._sortOff_17j5j_147:disabled{opacity:.45;cursor:default}._sortOn_17j5j_147:focus-visible,._sortOff_17j5j_147:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}@media (pointer: coarse){._sortOn_17j5j_147,._sortOff_17j5j_147,._storeField_17j5j_108 select,._storeInput_17j5j_127{min-height:var(--ds-tap)}}._sortHint_17j5j_171{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);line-height:var(--ds-leading-snug);cursor:default}._linkish_17j5j_178{width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-2);background:none;border:0;border-radius:var(--ds-radius-sm);font-family:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);color:var(--ds-ink-secondary);cursor:pointer;text-decoration:underline}._linkish_17j5j_178:hover{color:var(--ds-ink)}._linkish_17j5j_178:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._showPurchasedToggle_17j5j_197{display:flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) 0 var(--ds-space-3);font-size:var(--ds-text-md);color:var(--ds-ink-secondary)}._showPurchasedToggle_17j5j_197 input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--ds-brand);cursor:pointer}._showPurchasedToggle_17j5j_197 label{cursor:pointer}._dangerZone_17j5j_221{display:flex;justify-content:center;margin-top:var(--ds-space-8)}@media (max-width: 600px){._container_17j5j_8{padding:var(--ds-space-4) var(--ds-space-4) var(--ds-space-12)}._shopControls_17j5j_100{gap:var(--ds-space-2)}}._hamburgerMenu_2daai_8{position:relative}._hamburgerButton_2daai_10{width:auto;min-width:var(--ds-tap);min-height:var(--ds-tap);margin:0;padding:0 var(--ds-space-3);display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--ds-radius-md);color:var(--ds-ink-secondary);font-size:1.6rem;line-height:1;cursor:pointer;transition:background var(--ds-motion-fast) var(--ds-ease),color var(--ds-motion-fast) var(--ds-ease)}._hamburgerButton_2daai_10:hover{background:var(--ds-row-hover);color:var(--ds-ink);transform:none;box-shadow:none}._hamburgerButton_2daai_10:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._menuDropdown_2daai_46{position:absolute;right:0;top:calc(100% + var(--ds-space-1));z-index:40;min-width:200px;padding:var(--ds-space-2);background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-lg)}._menuItem_2daai_61{display:block;width:100%;margin:0;padding:var(--ds-space-3) var(--ds-space-3);min-height:var(--ds-tap);background:none;border:none;border-radius:var(--ds-radius-md);font-family:var(--ds-font-ui);font-size:var(--ds-text-md);font-weight:var(--ds-weight-medium);color:var(--ds-ink);text-align:left;cursor:pointer;transition:background var(--ds-motion-fast) var(--ds-ease)}._menuItem_2daai_61:hover{background:var(--ds-row-hover);color:var(--ds-ink);transform:none;box-shadow:none}._menuItem_2daai_61:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._menuDivider_2daai_92{border:none;border-top:1px solid var(--ds-line);margin:var(--ds-space-2) var(--ds-space-2)}._logoutItem_2daai_98{color:var(--ds-critical)}._logoutItem_2daai_98:hover{background:var(--ds-critical-wash);color:var(--ds-critical)}._panel_8bb8i_9{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-space-4);margin-bottom:var(--ds-space-5);box-sizing:border-box}._intro_8bb8i_18{margin:0 0 var(--ds-space-3);color:var(--ds-ink-secondary);font-size:var(--ds-text-md);line-height:var(--ds-leading-body)}._hint_8bb8i_25{margin:var(--ds-space-3) 0 0;color:var(--ds-ink-secondary);font-size:var(--ds-text-sm);line-height:var(--ds-leading-body)}._error_8bb8i_32{background:var(--ds-critical-wash);color:var(--ds-critical);border-radius:var(--ds-radius-md);padding:var(--ds-space-3) var(--ds-space-4);margin-bottom:var(--ds-space-3);font-size:var(--ds-text-md);cursor:pointer}._addRow_8bb8i_42{display:flex;gap:var(--ds-space-2);align-items:flex-start;margin-bottom:var(--ds-space-3)}._addField_8bb8i_48{flex:1 1 auto;min-width:0}._list_8bb8i_50{list-style:none;margin:0;padding:0}._row_8bb8i_52{display:flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) 0;border-bottom:1px solid var(--ds-line);background:var(--ds-surface);box-sizing:border-box;min-height:var(--ds-tap)}._handle_8bb8i_63{flex:0 0 auto;padding:var(--ds-space-1) var(--ds-space-2);color:var(--ds-ink-secondary);font-size:var(--ds-text-lg);line-height:1;cursor:grab;-webkit-user-select:none;user-select:none}._handle_8bb8i_63:active{cursor:grabbing}._step_8bb8i_74{flex:0 0 24px;width:24px;text-align:right;color:var(--ds-ink-secondary);font-size:var(--ds-text-sm);font-variant-numeric:tabular-nums}._label_8bb8i_83{flex:1 1 auto;min-width:0;color:var(--ds-ink);font-size:var(--ds-text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._renameInput_8bb8i_93{flex:1 1 auto;min-width:0;width:auto;margin:0;box-sizing:border-box;padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);border:1px solid var(--ds-brand);background:var(--ds-surface);font-family:inherit;font-size:var(--ds-text-base);color:var(--ds-ink)}._renameInput_8bb8i_93:focus{outline:none;box-shadow:var(--ds-focus-ring)}._count_8bb8i_109{flex:0 0 auto;color:var(--ds-ink-secondary);font-size:var(--ds-text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}._linkish_8bb8i_117,._dangerLink_8bb8i_117{flex:0 0 auto;width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-2);background:none;border:0;border-radius:var(--ds-radius-sm);font-family:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);cursor:pointer;text-decoration:underline}._linkish_8bb8i_117{color:var(--ds-ink-secondary)}._linkish_8bb8i_117:hover{color:var(--ds-ink)}._dangerLink_8bb8i_117{color:var(--ds-critical)}._linkish_8bb8i_117:focus-visible,._dangerLink_8bb8i_117:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}@media (max-width: 600px){._count_8bb8i_109{display:none}}._page_zf4op_11{width:100%;max-width:var(--ds-page-max);margin:0 auto;padding:var(--ds-space-5) var(--ds-space-5) var(--ds-space-12);box-sizing:border-box;background:var(--ds-canvas);color:var(--ds-ink);font-family:var(--ds-font-ui)}._header_zf4op_24{display:flex;align-items:flex-start;gap:var(--ds-space-3);margin-bottom:var(--ds-space-4)}._headings_zf4op_31{flex:1 1 auto;min-width:0}._kicker_zf4op_33{font-size:var(--ds-text-xs);letter-spacing:var(--ds-tracking-wide);text-transform:uppercase;font-weight:var(--ds-weight-bold);color:var(--ds-ink-secondary)}._title_zf4op_41{font-family:var(--ds-font-display);font-size:var(--ds-display);font-weight:var(--ds-weight-regular);letter-spacing:var(--ds-tracking-tight);margin:2px 0 0;color:var(--ds-ink)}._sub_zf4op_50{font-size:var(--ds-text-md);color:var(--ds-ink-secondary);margin-top:2px}._noStores_zf4op_56{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary)}._storePicker_zf4op_58{display:flex;align-items:center;gap:var(--ds-space-2);font-size:var(--ds-text-sm);color:var(--ds-ink-secondary)}._storePicker_zf4op_58 select{font-family:inherit;font-size:var(--ds-text-md);color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);padding:var(--ds-space-2) var(--ds-space-3);min-height:36px}._error_zf4op_78,._notice_zf4op_78{border-radius:var(--ds-radius-md);padding:var(--ds-space-3) var(--ds-space-4);margin-bottom:var(--ds-space-3);font-size:var(--ds-text-md);line-height:var(--ds-leading-snug);cursor:pointer}._error_zf4op_78{background:var(--ds-critical-wash);color:var(--ds-critical)}._notice_zf4op_78{background:var(--ds-brand-wash);color:var(--ds-brand-ink)}._addRow_zf4op_91{display:flex;gap:var(--ds-space-2);align-items:flex-start;margin-bottom:var(--ds-space-2)}._addField_zf4op_97{flex:1 1 auto;min-width:0}._searchCount_zf4op_99{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);margin:0 0 var(--ds-space-3)}._actions_zf4op_107{display:flex;align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;margin-bottom:var(--ds-space-4)}._categoryPanel_zf4op_117{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-space-4);margin-bottom:var(--ds-space-5)}._categoryAdd_zf4op_125{display:flex;gap:var(--ds-space-2);margin-bottom:var(--ds-space-3)}._categoryAdd_zf4op_125 ._categoryInput_zf4op_126{flex:1 1 auto;min-width:0}._categoryInput_zf4op_126{font-family:inherit;font-size:var(--ds-text-base);color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-pill);padding:var(--ds-space-2) var(--ds-space-4);min-height:var(--ds-tap);width:100%;margin:0;box-sizing:border-box}._categoryInput_zf4op_126:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._categoryList_zf4op_143{list-style:none;margin:0;padding:0}._categoryRow_zf4op_145{display:flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) 0;border-bottom:1px solid var(--ds-line)}._categoryName_zf4op_152{flex:1 1 auto;min-width:0;font-size:var(--ds-text-md)}._categoryCount_zf4op_153{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);font-variant-numeric:tabular-nums}._categoryHint_zf4op_159{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);line-height:var(--ds-leading-body);margin:var(--ds-space-3) 0 0}._iconButton_zf4op_168{flex:0 0 auto;width:32px;min-height:32px;margin:0;padding:0;background:transparent;border:0;border-radius:var(--ds-radius-sm);color:var(--ds-ink-secondary);font-size:var(--ds-text-md);cursor:pointer}._iconButton_zf4op_168:hover:not(:disabled){background:var(--ds-surface-hover);color:var(--ds-ink)}._iconButton_zf4op_168:disabled{color:var(--ds-line-strong);cursor:default}._iconButton_zf4op_168:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._linkButton_zf4op_185,._dangerLink_zf4op_185{flex:0 0 auto;width:auto;margin:0;padding:var(--ds-space-1) var(--ds-space-2);background:transparent;border:0;border-radius:var(--ds-radius-sm);font-family:inherit;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);cursor:pointer;text-decoration:underline}._linkButton_zf4op_185{color:var(--ds-ink-secondary)}._linkButton_zf4op_185:hover{color:var(--ds-ink)}._dangerLink_zf4op_185{color:var(--ds-critical)}._linkButton_zf4op_185:focus-visible,._dangerLink_zf4op_185:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._empty_zf4op_206{color:var(--ds-ink-secondary);text-align:center;padding:var(--ds-space-10) var(--ds-space-4);font-size:var(--ds-text-md);line-height:var(--ds-leading-body)}._emptyHint_zf4op_213{font-size:var(--ds-text-md);max-width:44ch;margin:var(--ds-space-3) auto 0;line-height:var(--ds-leading-body)}._group_zf4op_222{margin-bottom:var(--ds-space-5)}._groupHeader_zf4op_224{display:flex;align-items:baseline;gap:var(--ds-space-2);width:100%;margin:0 0 var(--ds-space-1);padding:var(--ds-space-2) 0;background:none;border:0;cursor:pointer;text-align:left}._groupHeader_zf4op_224:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._chevron_zf4op_238{color:var(--ds-ink-secondary);font-size:var(--ds-text-sm)}._groupName_zf4op_240{font-family:var(--ds-font-display);font-size:var(--ds-text-lg);font-weight:var(--ds-weight-regular);letter-spacing:var(--ds-tracking-tight);color:var(--ds-ink)}._groupRule_zf4op_248{flex:1 1 auto;height:1px;background:var(--ds-line)}._groupCount_zf4op_250{font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);font-variant-numeric:tabular-nums}._itemList_zf4op_258{list-style:none;margin:0;padding:0}._item_zf4op_258{border-radius:var(--ds-radius-md)}._itemMain_zf4op_267{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-1) var(--ds-space-3);margin:0 calc(-1 * var(--ds-space-3));border-radius:var(--ds-radius-md);min-height:var(--ds-tap)}:where(._item_zf4op_258+._item_zf4op_258) ._itemMain_zf4op_267{box-shadow:inset 0 1px 0 var(--ds-line)}._itemMain_zf4op_267:hover{background:var(--ds-row-hover)}._selected_zf4op_289 ._itemMain_zf4op_267{background:var(--ds-selected);box-shadow:inset 3px 0 0 var(--ds-selected-edge)}._photoButton_zf4op_295{flex:0 0 auto;-webkit-user-select:none;user-select:none;width:auto;margin:0;padding:0;background:none;border:0;border-radius:var(--ds-radius-md);cursor:pointer;display:flex;align-items:center}._photoButton_zf4op_295:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._selectArea_zf4op_311{flex:1 1 auto;min-width:0;-webkit-user-select:none;user-select:none;display:block;text-align:left;background:none;border:0;margin:0;padding:var(--ds-space-2) 0;font-family:inherit;color:inherit;cursor:pointer;border-radius:var(--ds-radius-sm)}._selectArea_zf4op_311:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._itemName_zf4op_329{display:block;font-size:var(--ds-text-md);font-weight:var(--ds-weight-semi);line-height:var(--ds-leading-snug);color:var(--ds-ink)}._meta_zf4op_337{display:block;font-size:var(--ds-text-sm);color:var(--ds-ink-secondary);margin-top:2px;line-height:var(--ds-leading-snug)}._metaAisle_zf4op_346{color:var(--ds-brand-ink);font-weight:var(--ds-weight-semi)}._qtyBadge_zf4op_348,._sizeBadge_zf4op_348,._variantCount_zf4op_348{display:inline-block;margin-left:var(--ds-space-2);padding:1px var(--ds-space-2);border-radius:var(--ds-radius-pill);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semi);background:var(--ds-surface-sunk);color:var(--ds-ink-secondary);vertical-align:1px}._editPanel_zf4op_362{display:flex;flex-direction:column;gap:var(--ds-space-3);background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:var(--ds-space-4);margin:var(--ds-space-2) 0 var(--ds-space-4)}._editPanel_zf4op_362 label{display:flex;flex-direction:column;gap:var(--ds-space-1);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);color:var(--ds-ink-secondary)}._editPanel_zf4op_362 input,._editPanel_zf4op_362 select{font-family:inherit;font-size:var(--ds-text-base);font-weight:var(--ds-weight-regular);color:var(--ds-ink);background:var(--ds-surface);border:1px solid var(--ds-control-edge);border-radius:var(--ds-radius-md);padding:var(--ds-space-2) var(--ds-space-3);min-height:var(--ds-tap);width:100%;margin:0;box-sizing:border-box}._editPanel_zf4op_362 input:focus,._editPanel_zf4op_362 select:focus{outline:none;border-color:var(--ds-brand);box-shadow:var(--ds-focus-ring)}._qtyRow_zf4op_400{display:flex;gap:var(--ds-space-3)}._qtyRow_zf4op_400 label{flex:1 1 0;min-width:0}._inlineCategory_zf4op_403{display:flex;gap:var(--ds-space-2);align-items:center}._inlineCategory_zf4op_403 input{flex:1 1 auto;min-width:0}._editPanel_zf4op_362 ._inlineCheck_zf4op_409{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--ds-space-2);font-size:var(--ds-text-md);color:var(--ds-ink);font-weight:var(--ds-weight-regular);padding:var(--ds-space-1) 0;cursor:pointer}._editPanel_zf4op_362 ._inlineCheck_zf4op_409 input{margin:0;width:20px;min-height:20px;height:20px;flex:0 0 20px;accent-color:var(--ds-brand)}._editActions_zf4op_434{display:flex;gap:var(--ds-space-2);align-items:center;flex-wrap:wrap;margin-top:var(--ds-space-1)}@media (max-width: 600px){._page_zf4op_11{padding:var(--ds-space-4) var(--ds-space-4) var(--ds-space-12)}._header_zf4op_24{flex-wrap:wrap}._storePicker_zf4op_58{order:3;width:100%}._qtyRow_zf4op_400{flex-direction:column;gap:var(--ds-space-3)}}._barSelect_zf4op_454{font-family:inherit;font-size:var(--ds-text-md);color:var(--ds-brand);background:var(--ds-ink-inverse);border:0;border-radius:var(--ds-radius-pill);padding:var(--ds-space-2) var(--ds-space-3);min-height:36px;font-weight:var(--ds-weight-semi)}._barSelect_zf4op_454:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._barClear_zf4op_467{width:auto;margin:0;padding:var(--ds-space-2) var(--ds-space-3);background:transparent;border:0;color:var(--ds-ink-inverse);opacity:.85;font-family:inherit;font-size:var(--ds-text-md);cursor:pointer;text-decoration:underline}._barClear_zf4op_467:hover{opacity:1}._barClear_zf4op_467:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}._page_1wee9_4{max-width:900px;margin:0 auto;padding:24px 16px 64px}._header_1wee9_6{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}._title_1wee9_10{color:var(--color-text-primary);margin:0}._error_1wee9_12,._success_1wee9_12,._reconcile_1wee9_12,._mismatch_1wee9_12{border-radius:12px;padding:14px 16px;margin-bottom:16px;line-height:1.5}._error_1wee9_12{background:var(--color-accent-orange);color:#fff;cursor:pointer}._success_1wee9_12{background:var(--color-accent-green);color:#fff}._reconcile_1wee9_12{background:var(--color-surface-alt);color:var(--color-text-primary)}._mismatch_1wee9_12{background:#fdecea;color:#8a2c1b;border:1px solid #f0b3a8}._meta_1wee9_19{color:var(--color-text-muted);font-size:.85rem;margin-top:6px}._warnings_1wee9_20{margin:8px 0 0;padding-left:20px;font-size:.9rem}._uploadCard_1wee9_22{background:var(--color-surface);border-radius:16px;padding:20px;box-shadow:var(--shadow-soft)}._hint_1wee9_26{color:var(--color-text-muted);margin:0 0 16px;line-height:1.55}._uploadRow_1wee9_27{display:flex;align-items:center;gap:12px;flex-wrap:wrap}._field_1wee9_29{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.9rem}._field_1wee9_29 select,._detail_1wee9_33 select,._nameInput_1wee9_33{width:auto;margin:0;padding:8px 10px;font-size:.95rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);box-sizing:border-box}._fileInput_1wee9_39{width:auto;margin:0;flex:1 1 220px;min-width:0;font-size:.9rem}._primary_1wee9_41,._secondary_1wee9_41{width:auto;flex:0 0 auto;margin:0;border:none;border-radius:10px;padding:10px 18px;font-size:.95rem;cursor:pointer}._primary_1wee9_41{background:var(--color-primary);color:#fff}._secondary_1wee9_41{background:var(--color-surface-alt);color:var(--color-text-primary)}._primary_1wee9_41:disabled,._secondary_1wee9_41:disabled{opacity:.5;cursor:not-allowed}._bulkRow_1wee9_50{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;position:sticky;top:0;z-index:2;background:var(--color-bg);padding:8px 0}._counts_1wee9_55{color:var(--color-text-muted);font-size:.9rem;margin-right:auto}._lines_1wee9_57{list-style:none;margin:0;padding:0}._line_1wee9_57{background:var(--color-surface);border-radius:14px;box-shadow:var(--shadow-soft);margin-bottom:10px;padding:12px 14px;display:grid;gap:10px 12px;grid-template-columns:48px 1fr auto;align-items:center}._thumb_1wee9_67,._thumbPlaceholder_1wee9_67{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--color-surface-alt);display:block}._lineText_1wee9_72{display:flex;flex-direction:column;min-width:0}._lineName_1wee9_73{color:var(--color-text-primary);font-size:1rem}._lineMeta_1wee9_74{color:var(--color-text-muted);font-size:.82rem;margin-top:3px}._actions_1wee9_76{display:flex;gap:6px}._choiceOn_1wee9_77,._choiceOff_1wee9_77{width:auto;flex:0 0 auto;margin:0;border-radius:999px;padding:6px 12px;font-size:.82rem;cursor:pointer;border:1px solid var(--color-border)}._choiceOn_1wee9_77{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._choiceOff_1wee9_77{background:var(--color-surface);color:var(--color-text-secondary)}._detail_1wee9_33{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:4px}._nameInput_1wee9_33{flex:1 1 220px;min-width:0}@media (max-width: 640px){._line_1wee9_57{grid-template-columns:44px 1fr}._actions_1wee9_76{grid-column:1 / -1}}._noPrice_1wee9_99{border:1px solid #f0b3a8;background:#fff8f7}._page_fb3mr_5{max-width:900px;margin:0 auto;padding:24px 16px 64px}._header_fb3mr_7{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}._title_fb3mr_11{color:var(--color-text-primary);margin:0}._muted_fb3mr_12{color:var(--color-text-muted)}._error_fb3mr_13{background:var(--color-accent-orange);color:#fff;border-radius:12px;padding:12px 14px;margin-bottom:16px}._tiles_fb3mr_19{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}._tile_fb3mr_19,._tileActive_fb3mr_21{width:auto;flex:1 1 200px;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:16px 18px;cursor:pointer;text-align:left;box-shadow:var(--shadow-soft)}._tileActive_fb3mr_21{border-color:var(--color-primary);box-shadow:var(--shadow-medium)}._tileLabel_fb3mr_30{color:var(--color-text-muted);font-size:.82rem}._tileValue_fb3mr_31{color:var(--color-text-primary);font-size:1.9rem;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}._tileMeta_fb3mr_36{color:var(--color-text-muted);font-size:.78rem}._coverage_fb3mr_38{background:var(--color-surface-alt);color:var(--color-text-secondary);border-radius:12px;padding:12px 14px;margin-bottom:24px;font-size:.88rem;line-height:1.5}._breakdown_fb3mr_44{margin-top:8px}._subhead_fb3mr_45{color:var(--color-text-secondary);font-size:1rem;margin:0 0 12px}._rows_fb3mr_47{list-style:none;margin:0;padding:0}._row_fb3mr_47{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,2fr) auto auto;align-items:center;gap:12px;padding:7px 0}._rowName_fb3mr_56{color:var(--color-text-primary);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._barTrack_fb3mr_62{background:var(--color-surface-alt);border-radius:4px;height:10px;width:100%;overflow:hidden}._bar_fb3mr_62{display:block;height:100%;background:var(--color-primary);border-radius:4px}._rowValue_fb3mr_72{color:var(--color-text-primary);font-size:.9rem;font-variant-numeric:tabular-nums;text-align:right;min-width:68px}._rowCount_fb3mr_76{color:var(--color-text-muted);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right;min-width:32px}@media (max-width: 640px){._row_fb3mr_47{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}._barTrack_fb3mr_62{grid-column:1 / -1}._rowCount_fb3mr_76{display:none}}._container_j1181_58{background:var(--color-bg);min-height:100vh;width:100%;color:var(--color-text-primary);font-family:var(--font-family);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;max-width:1200px;margin:0 auto;position:relative;z-index:auto}._headerRow_j1181_79{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:visible;z-index:1}._headerRow_j1181_79:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}._headerRow_j1181_79:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}._header_j1181_79{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;line-height:1.2}._content_j1181_123{width:100%;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:visible;z-index:auto}._content_j1181_123:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base)}._content_j1181_123:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}._content_j1181_123:hover:before{transform:scaleX(1)}._list_j1181_166{list-style:none;padding:0;margin:0;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}._listItem_j1181_176{width:100%;margin:0}._listButton_j1181_185{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-6);color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm);transition:all var(--transition-base);width:100%;cursor:pointer;position:relative;overflow:hidden;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center}._listButton_j1181_185:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transform:scaleY(0);transition:transform var(--transition-base);border-radius:var(--radius-2xl) 0 0 var(--radius-2xl)}._listButton_j1181_185:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}._listButton_j1181_185:hover{background:var(--color-surface);box-shadow:var(--shadow-md);transform:translateY(-4px) translate(8px);border-color:var(--color-border);color:var(--color-primary)}._listButton_j1181_185:hover:before{transform:scaleY(1)}._listButton_j1181_185:hover:after{left:100%}._listButton_j1181_185:active{transform:translateY(-2px) translate(4px);box-shadow:var(--shadow-sm)}._form_j1181_255{display:flex;flex-direction:row;gap:var(--space-4);align-items:stretch;width:100%;margin-top:var(--space-8);padding:var(--space-6);background:var(--color-surface-alt);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:all var(--transition-base);position:relative;overflow:hidden}._form_j1181_255:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));transform:scaleX(0);transition:transform var(--transition-base)}._form_j1181_255:hover{box-shadow:var(--shadow-sm);background:var(--color-surface)}._form_j1181_255:hover:before{transform:scaleX(1)}._form_j1181_255:focus-within{box-shadow:var(--shadow-md);background:var(--color-surface);border-color:var(--color-primary)}._form_j1181_255:focus-within:before{transform:scaleX(1)}._input_j1181_307{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);height:56px;flex:1 1 0;min-width:0;transition:all var(--transition-base);box-shadow:var(--shadow-xs);position:relative}._input_j1181_307::placeholder{color:var(--color-text-muted);font-weight:var(--font-normal)}._input_j1181_307:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm);transform:translateY(-1px)}._input_j1181_307:hover:not(:focus){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}._createButton_j1181_346{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;border-radius:var(--radius-full);padding:0 var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);width:auto;min-width:0;height:56px;margin-left:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;line-height:1.2;white-space:nowrap;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}._createButton_j1181_346:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}._createButton_j1181_346:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-lg)}._createButton_j1181_346:hover:before{left:100%}._createButton_j1181_346:active{transform:translateY(0);box-shadow:var(--shadow-sm)}._createButton_j1181_346:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d,var(--shadow-lg)}._form_j1181_255>._createButton_j1181_346{height:56px}._content_j1181_123 p{text-align:center;color:var(--color-text-secondary);font-size:var(--text-lg);font-style:italic;padding:var(--space-10) var(--space-4);margin:0}@media (max-width: 768px){._container_j1181_58{padding:var(--space-6) var(--space-4)}._headerRow_j1181_79{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}._header_j1181_79{font-size:var(--text-2xl)}._content_j1181_123{padding:var(--space-6);gap:var(--space-6)}._list_j1181_166{grid-template-columns:1fr;gap:var(--space-4)}._listButton_j1181_185{padding:var(--space-6) var(--space-5);font-size:var(--text-base);min-height:70px}._form_j1181_255{flex-direction:column;gap:var(--space-4);align-items:stretch;margin-top:var(--space-6);padding:var(--space-5)}._input_j1181_307,._createButton_j1181_346{height:48px}._createButton_j1181_346{padding:0 var(--space-6);font-size:var(--text-sm)}}@media (max-width: 480px){._container_j1181_58{padding:var(--space-4) var(--space-3)}._headerRow_j1181_79{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-radius:var(--radius-xl)}._header_j1181_79{font-size:var(--text-xl)}._content_j1181_123{padding:var(--space-5);gap:var(--space-5);border-radius:var(--radius-xl)}._listButton_j1181_185{padding:var(--space-5) var(--space-4);font-size:var(--text-sm);min-height:60px;border-radius:var(--radius-xl)}._form_j1181_255{gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-xl)}._input_j1181_307{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);height:44px}._createButton_j1181_346{height:44px;padding:0 var(--space-5);font-size:var(--text-sm)}}@media (max-width: 320px){._container_j1181_58{padding:var(--space-3) var(--space-2)}._headerRow_j1181_79{padding:var(--space-3) var(--space-4)}._content_j1181_123{padding:var(--space-4)}._form_j1181_255{padding:var(--space-3)}._list_j1181_166{gap:var(--space-3)}._listButton_j1181_185{padding:var(--space-4);min-height:50px}}._newListRow_j1181_552{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);width:100%}._newListInput_j1181_560{flex:1;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-alt);font-size:var(--text-base);transition:all var(--transition-base)}._newListInput_j1181_560:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}._newListButton_j1181_577{background:var(--color-primary);color:#fff;font-weight:var(--font-semibold);border:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}._newListButton_j1181_577:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.family-invite-notice{background:linear-gradient(135deg,var(--ds-brand) 0%,var(--ds-brand-hover) 100%);border-radius:12px;padding:20px;margin-bottom:24px;color:#fff;box-shadow:0 4px 12px #2f80ed4d;border:1px solid rgba(255,255,255,.1)}.family-invite-header{display:flex;align-items:center;margin-bottom:16px;font-size:1.1rem;gap:12px}.family-invite-header strong{font-weight:600;color:#fff}.family-invite-toggle{background:none;border:none;color:#ffffffe6;text-decoration:underline;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;white-space:nowrap}.family-invite-toggle:hover{background-color:#ffffff1a}.family-invite-content{animation:fadeIn .3s ease-in-out}.family-invite-content p{margin:0 0 12px;font-size:.95rem;line-height:1.4;opacity:.95}.family-benefits{list-style:none;padding:0;margin:0 0 20px}.family-benefits li{margin-bottom:8px;font-size:.9rem;line-height:1.4;opacity:.9;padding-left:0}.family-invite-action-btn{background:#ffffffe6;color:var(--ds-brand);border:none;padding:12px 20px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.family-invite-action-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.family-invite-notice{padding:16px;margin-bottom:20px}.family-invite-header{font-size:1rem;flex-direction:column;align-items:flex-start;gap:12px}.family-invite-toggle{align-self:flex-end}.family-invite-content p{font-size:.9rem}.family-benefits li{font-size:.85rem}.family-invite-action-btn{width:100%;padding:14px 20px;font-size:1rem}}@media (max-width: 480px){.family-invite-notice{padding:14px;margin-bottom:16px}.family-invite-header{font-size:.95rem}.family-invite-content p{font-size:.85rem}.family-benefits li{font-size:.8rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #ecf0f1;margin-bottom:20px}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.close-btn:hover{background-color:#ecf0f1;color:#2c3e50}.member-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--ds-brand);box-shadow:0 0 0 3px #3498db1a}.form-group input.error,.form-group select.error{border-color:#e74c3c}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #e74c3c1a}.error-message{color:#e74c3c;font-size:.85rem;margin-top:6px;display:block}.help-text{color:#7f8c8d;font-size:.85rem;margin-top:6px;display:block;line-height:1.4}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #ecf0f1}.cancel-btn,.submit-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.cancel-btn{background-color:#ecf0f1;color:#7f8c8d}.cancel-btn:hover:not(:disabled){background-color:#d5dbdb;color:#2c3e50}.submit-btn{background-color:#27ae60;color:#fff}.submit-btn:hover:not(:disabled){background-color:#229954;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.cancel-btn:disabled,.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.modal-overlay{padding:10px}.modal{max-height:95vh}.modal-header{padding:20px 20px 0}.member-form{padding:0 20px 20px}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}@media (max-width: 480px){.modal-header h2{font-size:1.3rem}.form-group input,.form-group select{padding:10px 14px;font-size:.95rem}.cancel-btn,.submit-btn{padding:10px 20px;font-size:.95rem}}.invite-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.invite-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.invite-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.invite-modal-header h2{margin:0;color:#1f2937;font-size:20px;font-weight:600}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.invite-modal-content{padding:24px}.create-invite-section{margin-bottom:32px}.create-invite-section h3{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:14px}.form-group input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{display:block;margin-top:4px;color:#6b7280;font-size:12px}.create-invite-button{background:linear-gradient(135deg,var(--ds-brand) 0%,var(--ds-brand) 100%);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.create-invite-button:hover:not(:disabled){background:linear-gradient(135deg,var(--ds-brand) 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.create-invite-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fef2f2;color:#dc2626;padding:12px;border-radius:6px;margin-top:16px;font-size:14px;border:1px solid #fecaca}.success-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-top:16px}.success-section h4{margin:0 0 12px;color:#166534;font-size:16px;font-weight:600}.invite-url-container{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}.invite-url-input{flex:1 1 0;min-width:200px;max-width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:monospace;background:#f8f9fa;color:#374151}.copy-button{flex:0 0 auto;max-width:120px;padding:10px 18px;border-radius:8px;font-size:1rem;font-weight:600;white-space:nowrap;align-self:center}.copy-button:hover{background:#5a67d8}.invite-instructions{margin:0;color:#166534;font-size:13px;line-height:1.4}.active-invites-section h3{margin:0 0 16px;color:#1f2937;font-size:16px;font-weight:600}.no-invites{color:#6b7280;font-style:italic;text-align:center;padding:20px}.invites-list{display:flex;flex-direction:column;gap:12px}.invite-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}.invite-info{flex:1}.invite-token,.invite-email,.invite-expiry{font-size:12px;color:#374151;margin-bottom:4px}.invite-token strong,.invite-email strong,.invite-expiry strong{color:#1f2937}.revoke-button{background:#ef4444;color:#fff;border:none;padding:6px 14px;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s;max-width:90px;min-width:60px;white-space:nowrap;align-self:center}.revoke-button:hover{background:#dc2626}@media (max-width: 640px){.invite-modal{margin:10px;max-height:95vh}.invite-modal-header,.invite-modal-content{padding:16px}.invite-url-container{flex-direction:column;gap:8px}.invite-url-input{min-width:0;width:100%;font-size:.95rem}.copy-button{width:100%;max-width:100%;padding:12px 0;font-size:1rem}.invite-item{flex-direction:column;align-items:flex-start;gap:8px}.revoke-button{width:100%;max-width:100%;padding:10px 0;font-size:1rem}}.family-management-page{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);min-height:100vh;color:var(--color-text-primary);position:relative;z-index:auto}.page-header{text-align:center;margin-bottom:var(--space-8);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:visible;z-index:auto}.page-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.page-header:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);position:relative;z-index:auto}.page-header h1{color:var(--color-text-primary);margin:0;font-size:var(--text-3xl);font-weight:var(--font-bold);flex:1;text-align:center;line-height:1.2}.page-header p{color:var(--color-text-secondary);font-size:var(--text-lg);margin:0;font-weight:var(--font-medium)}.family-info{margin-top:var(--space-6);text-align:center}.family-name-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-5)}.family-name{margin:0;color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1.2}.edit-family-name-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;min-width:auto;width:auto;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.edit-family-name-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.edit-family-name-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-md)}.edit-family-name-btn:hover:before{left:100%}.family-id-info{margin-top:var(--space-5);padding:var(--space-4) var(--space-6);background:var(--color-surface-alt);border-radius:var(--radius-xl);border:1px solid var(--color-border);display:inline-block;box-shadow:var(--shadow-xs);transition:all var(--transition-base)}.family-id-info:hover{background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.family-id-label{font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-right:var(--space-2);font-size:var(--text-sm)}.family-id-value{font-family:Courier New,monospace;color:var(--color-text-primary);background:var(--color-surface);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--color-border)}.family-settings{margin-top:var(--space-6);padding:var(--space-5);background:var(--color-surface-alt);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:all var(--transition-base)}.family-settings:hover{background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.timezone-section{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.timezone-section label{font-weight:var(--font-semibold);color:var(--color-text-primary);min-width:80px;font-size:var(--text-base)}.timezone-select{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-base);min-width:200px;cursor:pointer;color:var(--color-text-primary)!important;font-weight:var(--font-medium);transition:all var(--transition-base);box-shadow:var(--shadow-xs);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px;padding-right:var(--space-8)}.timezone-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm)}.timezone-select:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.timezone-select:disabled{background:var(--color-surface-alt);cursor:not-allowed;opacity:.7;color:var(--color-text-muted)!important}.timezone-select option{background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-2)}.admin-only-note{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;margin-left:var(--space-2)}.permission-info{display:flex;justify-content:center;margin-bottom:var(--space-8)}.permission-badge{padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.permission-badge:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.permission-badge.admin{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.permission-badge.edit{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.permission-badge.read_only{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.actions-section{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-10);flex-wrap:wrap}.add-member-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.add-member-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.add-member-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-lg)}.add-member-btn:hover:before{left:100%}.invite-member-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative;overflow:hidden;opacity:.9}.invite-member-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.invite-member-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-lg);opacity:1}.invite-member-btn:hover:before{left:100%}.members-section{margin-top:var(--space-10)}.members-section h2{color:var(--color-text-primary);margin-bottom:var(--space-6);font-size:var(--text-2xl);font-weight:var(--font-bold);text-align:center}.no-members{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary);font-size:var(--text-lg);font-style:italic;background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.no-members p{margin:0}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.member-card{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:hidden}.member-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base)}.member-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border)}.member-card:hover:before{transform:scaleX(1)}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.member-header h3{margin:0;color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold)}.member-details{margin-bottom:var(--space-6)}.detail{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light)}.detail:last-child{border-bottom:none}.detail .label{font-weight:var(--font-semibold);color:var(--color-text-secondary);font-size:var(--text-sm)}.detail span:last-child{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.color-picker-container{display:flex;align-items:center;gap:var(--space-2)}.color-picker{width:32px;height:32px;border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;background:none;padding:0;transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.color-picker:hover{transform:scale(1.1);box-shadow:var(--shadow-sm)}.color-picker::-webkit-color-swatch-wrapper{padding:0;border-radius:var(--radius-md)}.color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-md)}.color-preview{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);display:inline-block;box-shadow:var(--shadow-xs)}.member-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.edit-btn,.remove-btn{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.edit-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.edit-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-1px);box-shadow:var(--shadow-sm)}.remove-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.remove-btn:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);position:relative}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal h2{margin-top:0;color:var(--color-text-primary);margin-bottom:var(--space-6);font-size:var(--text-2xl);font-weight:var(--font-bold)}.loading,.error{text-align:center;padding:var(--space-12) var(--space-6);font-size:var(--text-lg);background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin:var(--space-8) 0}.loading{color:var(--color-text-secondary);font-style:italic}.error{color:#dc2626;font-weight:var(--font-medium)}@media (max-width: 768px){.family-management-page{padding:var(--space-6) var(--space-4)}.page-header{padding:var(--space-6);margin-bottom:var(--space-6)}.header-content{flex-direction:column;gap:var(--space-4)}.page-header h1{font-size:var(--text-2xl)}.family-settings{padding:var(--space-4)}.timezone-section{flex-direction:column;align-items:stretch;gap:var(--space-3)}.timezone-section label{min-width:auto;text-align:center}.timezone-select{min-width:auto;width:100%}.members-grid{grid-template-columns:1fr;gap:var(--space-4)}.member-card{padding:var(--space-6)}.member-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.member-actions{justify-content:flex-start;width:100%}.modal{margin:var(--space-5);padding:var(--space-6)}.actions-section{flex-direction:column;align-items:center;gap:var(--space-3)}.add-member-btn,.invite-member-btn{width:100%;max-width:300px}}@media (max-width: 480px){.family-management-page{padding:var(--space-4) var(--space-3)}.page-header{padding:var(--space-5);border-radius:var(--radius-xl)}.page-header h1,.members-section h2{font-size:var(--text-xl)}.member-card{padding:var(--space-5);border-radius:var(--radius-xl)}.family-settings{padding:var(--space-3);border-radius:var(--radius-lg)}.family-id-info{padding:var(--space-3) var(--space-4)}.modal{padding:var(--space-5);border-radius:var(--radius-xl)}}._container_czbhn_58{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);background:var(--color-bg);color:var(--color-text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}._headerRow_czbhn_72{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);overflow:visible}._headerRow_czbhn_72:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}._headerRow_czbhn_72:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}._headerTitle_czbhn_102{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;color:var(--color-text-primary);line-height:1.2}._header_czbhn_72{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}._header_czbhn_72 h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;color:var(--color-text-primary)}._addButton_czbhn_128{display:block;margin:0 0 var(--space-8) 0;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);overflow:hidden}._addButton_czbhn_128:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}._addButton_czbhn_128:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-md)}._addButton_czbhn_128:hover:before{left:100%}._addButton_czbhn_128:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs);opacity:.6}._addButton_czbhn_128:disabled:before{display:none}._formContainer_czbhn_181{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}._formContainer_czbhn_181:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base)}._formContainer_czbhn_181:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}._formContainer_czbhn_181:hover:before{transform:scaleX(1)}._form_czbhn_181{display:flex;flex-direction:column;gap:var(--space-6)}._form_czbhn_181 h2{margin:0 0 var(--space-5) 0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary)}._formGroup_czbhn_229{display:flex;flex-direction:column;gap:var(--space-2)}._formGroup_czbhn_229 label{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-sm)}._formGroup_czbhn_229 input,._formGroup_czbhn_229 select{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-alt);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}._formGroup_czbhn_229 input:focus,._formGroup_czbhn_229 select:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm);transform:translateY(-1px)}._formGroup_czbhn_229 input:hover:not(:focus),._formGroup_czbhn_229 select:hover:not(:focus){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}._formRow_czbhn_270{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}._formActions_czbhn_280{display:flex;gap:var(--space-4);margin-top:var(--space-5)}._submitButton_czbhn_286,._cancelButton_czbhn_287{padding:var(--space-4) var(--space-6);border:none;border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}._submitButton_czbhn_286{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;overflow:hidden}._submitButton_czbhn_286:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}._submitButton_czbhn_286:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-md)}._submitButton_czbhn_286:hover:before{left:100%}._cancelButton_czbhn_287{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border)}._cancelButton_czbhn_287:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-primary)}._itemsList_czbhn_342{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}._itemsList_czbhn_342:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base)}._itemsList_czbhn_342:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}._itemsList_czbhn_342:hover:before{transform:scaleX(1)}._emptyMessage_czbhn_372{text-align:center;color:var(--color-text-secondary);padding:var(--space-12) var(--space-6);font-size:var(--text-lg);font-style:italic}._table_czbhn_384{width:100%;border-collapse:collapse;text-align:left;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs)}._table_czbhn_384 th{padding:var(--space-5);font-weight:var(--font-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border);background:var(--color-surface-alt);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px}._table_czbhn_384 td{padding:var(--space-5);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}._table_czbhn_384 tr:hover{background:var(--color-surface-alt);transform:translate(4px);transition:all var(--transition-base)}._table_czbhn_384 tr:last-child td{border-bottom:none}._editButton_czbhn_426,._deleteButton_czbhn_427{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);margin-right:var(--space-2);box-shadow:var(--shadow-xs)}._editButton_czbhn_426{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}._editButton_czbhn_426:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-1px);box-shadow:var(--shadow-sm)}._deleteButton_czbhn_427{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}._deleteButton_czbhn_427:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:var(--shadow-sm)}._hamburgerButton_czbhn_469{background:none;border:2px solid var(--color-accent-green);color:var(--color-accent-green);border-radius:var(--radius-lg);font-size:var(--text-2xl);padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-base)}._menuDropdown_czbhn_480{position:absolute;right:0;top:110%;background:var(--color-surface);border:1px solid var(--color-accent-green);border-radius:var(--radius-lg);min-width:120px;z-index:100;box-shadow:var(--shadow-lg)}._menuItem_czbhn_492{background:none;border:none;color:var(--color-accent-green);font-size:var(--text-lg);padding:var(--space-3) var(--space-4);width:100%;text-align:left;cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-base)}._menuItem_czbhn_492:hover{background:var(--color-accent-green);color:#fff}._homeButton_czbhn_510{background:var(--color-surface-alt);color:var(--color-text-primary);border:2px solid var(--color-accent-green);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;margin-right:var(--space-6);transition:all var(--transition-base)}._homeButton_czbhn_510:hover{background:var(--color-accent-green);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){._container_czbhn_58{padding:var(--space-6) var(--space-4)}._headerRow_czbhn_72{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}._headerTitle_czbhn_102{font-size:var(--text-2xl)}._formContainer_czbhn_181{padding:var(--space-6);margin-bottom:var(--space-6)}._formRow_czbhn_270{grid-template-columns:1fr;gap:var(--space-4)}._formActions_czbhn_280{flex-direction:column;gap:var(--space-3)}._submitButton_czbhn_286,._cancelButton_czbhn_287{width:100%}._itemsList_czbhn_342{padding:var(--space-6)}._table_czbhn_384{font-size:var(--text-sm)}._table_czbhn_384 th,._table_czbhn_384 td{padding:var(--space-3)}._editButton_czbhn_426,._deleteButton_czbhn_427{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}}@media (max-width: 480px){._container_czbhn_58{padding:var(--space-4) var(--space-3)}._headerRow_czbhn_72{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl)}._headerTitle_czbhn_102{font-size:var(--text-xl)}._formContainer_czbhn_181,._itemsList_czbhn_342{padding:var(--space-5);border-radius:var(--radius-xl)}._form_czbhn_181 h2{font-size:var(--text-xl)}._table_czbhn_384 th,._table_czbhn_384 td{padding:var(--space-2);font-size:var(--text-xs)}._formActions_czbhn_280{margin-top:var(--space-4)}}.meal-form{background:var(--color-surface);border-radius:16px;padding:24px;max-width:600px;margin:0 auto;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;gap:20px}.form-group label{color:var(--color-text-primary);font-weight:500;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-alt);color:var(--color-text-primary);font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.ingredients-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:4px}.ingredient-item{color:var(--color-text-primary);font-size:.95rem;padding:4px 0}.list-name{color:var(--color-text-secondary);font-size:.9rem;margin-left:8px}.ingredient-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.ingredient-row{display:flex;gap:8px}.ingredient-row input{flex:1}.add-ingredient-btn{background:var(--color-primary);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:600;cursor:pointer;align-self:flex-start;transition:background-color .2s ease}.add-ingredient-btn:hover{background:var(--color-primary-dark)}.form-actions{display:flex;gap:12px;margin-top:24px}.save-btn{background:var(--color-primary)!important;color:#fff!important;border:none!important;border-radius:8px;padding:.8rem 1.5rem;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-btn:hover{background:var(--color-primary-dark)!important}.cancel-btn{background:var(--color-error);color:#fff;border:none;border-radius:8px;padding:.8rem 1.5rem;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.cancel-btn:hover{background:var(--color-error-dark)}.delete-meal-btn{background:none;color:var(--color-text-muted);font-size:.9rem;border:none;margin:16px 0 0;padding:0;text-align:center;display:block;text-decoration:underline;cursor:pointer;transition:color .2s ease}.delete-meal-btn:hover{color:var(--color-error)}.error-message{color:var(--color-error);font-size:.9rem;margin-top:8px;text-align:center}@media (max-width: 768px){.meal-form{max-width:100%;margin:16px}.form-row{flex-direction:column;gap:12px}.form-actions{flex-direction:column;gap:8px}}._mealsPageContainer_1fdx3_1{padding:24px 16px;background:var(--color-bg);min-height:100vh}._mealsHeader_1fdx3_7{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}._pageTitle_1fdx3_14{font-size:1.5rem;font-weight:600}._mealsList_1fdx3_19{display:flex;flex-direction:column;gap:16px}._mealCard_1fdx3_25{background:var(--color-surface);border-radius:12px;padding:16px;box-shadow:var(--shadow-soft);cursor:pointer;transition:background .2s ease}._mealCard_1fdx3_25:hover{background:var(--color-surface-alt)}._mealName_1fdx3_38{font-size:1.1rem;font-weight:600;margin:0 0 6px;line-height:1.4}._mealTimes_1fdx3_45{font-size:.9rem;color:var(--color-text-secondary);display:flex;gap:8px}._actionBar_1fdx3_52{display:flex;justify-content:flex-start;margin-bottom:24px}._addMealButton_1fdx3_58{background-color:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:8px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease;max-width:200px}._addMealButton_1fdx3_58:hover{background:var(--color-primary-dark)}.meal-detail-container{background:var(--color-bg);min-height:100vh;padding:32px 24px;color:var(--color-text-primary);font-family:Inter,system-ui,sans-serif}.meal-content{max-width:700px;margin:0 auto;background:var(--color-surface);border-radius:18px;padding:32px;box-shadow:var(--shadow-medium);border:1px solid var(--color-border)}.meal-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-text-primary);line-height:1.2}.meal-times{color:var(--color-text-secondary);margin-bottom:24px;font-size:1rem;display:flex;gap:8px;align-items:center}.meal-times span{display:flex;align-items:center}.meal-times .separator{color:var(--color-text-muted)}.section-title{color:var(--color-primary);margin-bottom:12px;font-size:1.2rem;font-weight:600}.ingredients-list{list-style:none;padding:0;margin-bottom:32px;display:flex;flex-direction:column;gap:8px}.ingredient-item{color:var(--color-text-primary);font-size:1rem;padding:8px 0;border-bottom:1px solid var(--color-border)}.ingredient-item:last-child{border-bottom:none}.list-name{color:var(--color-text-secondary);font-size:.9rem;margin-left:8px;font-style:italic}.add-to-list-section{margin-bottom:32px;padding:20px;background:var(--color-surface-alt);border-radius:12px;border:1px solid var(--color-border)}.add-to-list-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-selector{padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;min-width:200px;flex:1;min-width:180px}.add-button{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.add-button:hover{background:var(--color-primary-dark)}.add-button:disabled{background:var(--color-text-muted);cursor:not-allowed}.result-message{margin-left:12px;font-size:.9rem}.result-success{color:var(--color-accent-green)}.result-error{color:var(--color-error)}.directions-section{background:var(--color-surface-alt);color:var(--color-text-primary);border-radius:12px;padding:20px;min-height:80px;margin-bottom:32px;white-space:pre-line;line-height:1.6;border:1px solid var(--color-border)}.action-buttons{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}.edit-button{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.edit-button:hover{background:var(--color-primary-dark)}.delete-button{background:var(--color-error);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.delete-button:hover{background:var(--color-error-dark)}.back-button{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:12px 20px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:block;margin:0 auto}.back-button:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.loading-state,.error-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary);font-size:1.1rem}.error-state{color:var(--color-error)}@media (max-width: 768px){.meal-detail-container{padding:16px 12px}.meal-content{padding:24px;border-radius:16px}.meal-title{font-size:1.8rem}.add-to-list-controls{flex-direction:column;align-items:stretch}.list-selector{min-width:auto}.action-buttons{flex-direction:column}.edit-button,.delete-button,.back-button{width:100%}}@media (max-width: 480px){.meal-detail-container{padding:12px 8px}.meal-content{padding:20px}.meal-title{font-size:1.6rem}}._container_1i77d_1{max-width:1200px;margin:0 auto;min-height:100vh;background:var(--color-bg);padding:32px 24px;color:var(--color-text-primary)}._loginForm_1i77d_10{max-width:400px;margin:100px auto;padding:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;text-align:center;box-shadow:var(--shadow-soft)}._loginForm_1i77d_10 h1{margin-bottom:32px;color:var(--color-text-primary);font-size:1.8rem;font-weight:700}._formGroup_1i77d_28{margin-bottom:20px;text-align:left}._formGroup_1i77d_28 label{display:block;margin-bottom:8px;color:var(--color-text-primary);font-weight:500;font-size:.9rem}._formGroup_1i77d_28 input{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;transition:border-color .2s;box-sizing:border-box}._formGroup_1i77d_28 input:focus{outline:none;border-color:var(--color-primary)}._loginButton_1i77d_58{width:100%;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:16px;transition:all .2s ease;box-shadow:var(--shadow-soft)}._loginButton_1i77d_58:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._header_1i77d_79{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}._header_1i77d_79 h1{margin:0;color:var(--color-text-primary);font-size:1.8rem;font-weight:700}._homeButton_1i77d_95{padding:12px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-soft)}._homeButton_1i77d_95:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._tabs_1i77d_114{display:flex;gap:12px;margin-bottom:32px}._tab_1i77d_114{padding:12px 24px;background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}._tab_1i77d_114._active_1i77d_132{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._tab_1i77d_114:hover{background:var(--color-surface);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-soft)}._tab_1i77d_114._active_1i77d_132:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._content_1i77d_151{background:var(--color-surface);border:1px solid var(--color-border);padding:24px;border-radius:12px;box-shadow:var(--shadow-soft)}._content_1i77d_151 h2{margin-top:0;margin-bottom:24px;color:var(--color-text-primary);font-size:1.4rem;font-weight:600}._userList_1i77d_167,._familyList_1i77d_167{display:grid;gap:16px}._userTable_1i77d_173{overflow-x:auto}._userTable_1i77d_173 table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft)}._userTable_1i77d_173 th{background:var(--color-surface-alt);padding:16px 12px;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);font-size:.9rem}._userTable_1i77d_173 td{padding:16px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle}._userTable_1i77d_173 tr:hover{background:var(--color-surface-alt)}._userTable_1i77d_173 tr._selectedRow_1i77d_206{background:#2563eb1a}._userTable_1i77d_173 tr._selectedRow_1i77d_206:hover{background:#2563eb26}._bulkActions_1i77d_215{background:var(--color-surface-alt);padding:16px;border-radius:8px;margin-bottom:20px;border:1px solid var(--color-border)}._bulkControls_1i77d_223{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}._bulkControls_1i77d_223 label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--color-text-primary);cursor:pointer}._bulkControls_1i77d_223 input[type=checkbox]{width:auto;margin:0}._bulkButtons_1i77d_245{display:flex;gap:12px;align-items:center}._bulkSelect_1i77d_251{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:.9rem}._bulkButton_1i77d_245{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}._bulkButton_1i77d_245:hover{background:var(--color-primary-dark);transform:translateY(-1px)}._status_1i77d_278{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500;text-transform:uppercase}._statusPending_1i77d_286{background:#fef3c7;color:#92400e}._statusActive_1i77d_291{background:#d1fae5;color:#065f46}._statusRejected_1i77d_296{background:#fee2e2;color:#991b1b}._actionButtons_1i77d_302{display:flex;gap:8px;align-items:center;flex-wrap:wrap}._actionButtons_1i77d_302 button{padding:6px 12px;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}._familySelect_1i77d_320{padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);font-size:.8rem;min-width:120px}._familyInputGroup_1i77d_330{display:flex;gap:4px;align-items:center}._familyIdInput_1i77d_336{padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);font-size:.8rem;width:120px;min-width:120px}._familyIdInput_1i77d_336:focus{outline:none;border-color:var(--color-primary)}._assignFamilyButton_1i77d_352{padding:6px 8px;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;background:#10b981;color:#fff}._assignFamilyButton_1i77d_352:hover{background:#059669;transform:translateY(-1px)}._statusSelect_1i77d_370{padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);font-size:.8rem;min-width:130px}._resetPasswordButton_1i77d_380{padding:6px 12px;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;background:#f59e0b;color:#fff}._resetPasswordButton_1i77d_380:hover{background:#d97706;transform:translateY(-1px)}._emptyState_1i77d_399{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}._emptyState_1i77d_399 p{font-size:1.1rem;margin:0}._userCard_1i77d_410,._familyCard_1i77d_410{background:var(--color-surface-alt);border:1px solid var(--color-border);padding:20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}._userCard_1i77d_410:hover,._familyCard_1i77d_410:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:var(--color-primary)}._userInfo_1i77d_427 h3{margin:0 0 12px;color:var(--color-text-primary);font-size:1.1rem;font-weight:600}._userInfo_1i77d_427 p{margin:6px 0;color:var(--color-text-secondary);font-size:.9rem}._userActions_1i77d_440{display:flex;gap:8px;align-items:center;flex-wrap:wrap}._userActions_1i77d_440 button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;box-shadow:var(--shadow-soft)}._approveButton_1i77d_458{background:var(--color-primary);color:#fff}._approveButton_1i77d_458:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._rejectButton_1i77d_469{background:#ef4444;color:#fff}._rejectButton_1i77d_469:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-medium)}._userActions_1i77d_440 select{padding:8px 12px;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;transition:border-color .2s}._userActions_1i77d_440 select:focus{outline:none;border-color:var(--color-primary)}._createButton_1i77d_495{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-soft);cursor:pointer;font-size:14px;margin-bottom:20px}._createButton_1i77d_495:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._familyCard_1i77d_410{flex-direction:column;align-items:flex-start}._familyCard_1i77d_410 h3{margin:0 0 12px;color:var(--color-text-primary);font-size:1.1rem;font-weight:600}._familyCard_1i77d_410 p{margin:6px 0;color:var(--color-text-secondary);font-size:.9rem}._modal_1i77d_533{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._modalContent_1i77d_547{background:var(--color-surface);border:1px solid var(--color-border);padding:32px;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-large)}._modalContent_1i77d_547 h3{margin-top:0;margin-bottom:24px;color:var(--color-text-primary);font-size:1.3rem;font-weight:600}._modalContent_1i77d_547 input,._modalContent_1i77d_547 textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;margin-bottom:16px;transition:border-color .2s;box-sizing:border-box}._modalContent_1i77d_547 input:focus,._modalContent_1i77d_547 textarea:focus{outline:none;border-color:var(--color-primary)}._modalContent_1i77d_547 textarea{min-height:100px;resize:vertical}._modalActions_1i77d_593{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}._modalActions_1i77d_593 button{padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-soft)}._modalActions_1i77d_593 button:first-child{background:var(--color-primary);color:#fff}._modalActions_1i77d_593 button:first-child:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}._modalActions_1i77d_593 button:last-child{background:#ef4444;color:#fff}._modalActions_1i77d_593 button:last-child:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-medium)}._searchContainer_1i77d_634{margin-bottom:20px}._searchInput_1i77d_638{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font-size:1rem;margin-bottom:16px;transition:border-color .2s;box-sizing:border-box}._searchInput_1i77d_638:focus{outline:none;border-color:var(--color-primary)}._searchInput_1i77d_638::placeholder{color:var(--color-text-tertiary)}._familyList_1i77d_167{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;padding:16px;background:var(--color-surface-alt)}._familyOption_1i77d_669{background:var(--color-surface);border:1px solid var(--color-border);padding:16px;border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all .2s ease}._familyOption_1i77d_669:last-child{margin-bottom:0}._familyOption_1i77d_669:hover{background:var(--color-surface-alt);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-soft)}._familyOption_1i77d_669 h4{margin:0 0 8px;color:var(--color-text-primary);font-size:1rem;font-weight:600}._familyOption_1i77d_669 p{margin:6px 0;color:var(--color-text-secondary);font-size:.9rem}._familyOption_1i77d_669 small{color:var(--color-text-tertiary);font-size:.8rem}._assignButton_1i77d_708{background:var(--color-primary);color:#fff}._assignButton_1i77d_708:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.event-modal{max-width:700px;width:95%;max-height:90vh;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);position:relative}.event-form{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-8);font-family:var(--font-family-primary)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.form-group label{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-sm);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.form-group label[for=title]:after,.form-group label[for=startTime]:after,.form-group label[for=endTime]:after{content:"*";color:var(--color-accent-red);font-weight:var(--font-bold);margin-left:var(--space-1)}.form-group input,.form-group textarea,.form-group select{color:var(--color-text-primary);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-family-primary);transition:all var(--transition-base);background-color:var(--color-surface);box-shadow:var(--shadow-xs)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm);transform:translateY(-1px)}.form-group input:hover,.form-group textarea:hover,.form-group select:hover{border-color:var(--color-border-focus);box-shadow:var(--shadow-sm)}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:var(--color-accent-red);box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);font-style:italic}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6;font-family:var(--font-family-primary)}.checkbox-group{flex-direction:row!important;align-items:center!important;gap:var(--space-3)!important;padding:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);transition:all var(--transition-base)}.checkbox-group:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.checkbox-label{display:flex!important;align-items:center!important;gap:var(--space-2)!important;cursor:pointer!important;font-weight:var(--font-medium)!important;color:var(--color-text-primary)!important;font-size:var(--text-base)!important;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px!important;height:20px!important;margin:0!important;cursor:pointer!important;border-radius:var(--radius-sm)!important;border:2px solid var(--color-border)!important;background:var(--color-surface)!important;transition:all var(--transition-base)!important}.checkbox-label input[type=checkbox]:checked{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.checkbox-label input[type=checkbox]:focus{outline:none!important;box-shadow:0 0 0 3px #3b82f633!important}.attendees-list{display:flex;flex-direction:column;gap:var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);background:var(--color-surface-alt);box-shadow:var(--shadow-xs)}.attendee-item{display:flex!important;align-items:center!important;gap:var(--space-3)!important;cursor:pointer!important;padding:var(--space-3) var(--space-4)!important;font-weight:var(--font-medium)!important;color:var(--color-text-primary)!important;border-radius:var(--radius-lg)!important;transition:all var(--transition-base)!important;background:var(--color-surface)!important;border:1px solid var(--color-border-light)!important;-webkit-user-select:none;user-select:none}.attendee-item:hover{background:var(--color-surface-hover)!important;transform:translate(4px)!important;box-shadow:var(--shadow-sm)!important}.attendee-item input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important;cursor:pointer!important;border-radius:var(--radius-sm)!important;border:2px solid var(--color-border)!important;background:var(--color-surface)!important;transition:all var(--transition-base)!important}.attendee-item input[type=checkbox]:checked{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.error-message{color:var(--color-accent-red);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:var(--radius-lg);border-left:4px solid var(--color-accent-red);box-shadow:var(--shadow-xs);display:flex;align-items:center;gap:var(--space-2)}.error-message:before{content:"⚠️";font-size:var(--text-lg)}.form-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-6);border-top:2px solid var(--color-border-light)}.cancel-btn,.save-btn,.delete-btn{border:none;border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;min-width:120px;box-shadow:var(--shadow-sm)}.cancel-btn{background:var(--color-surface-alt);color:var(--color-text-secondary);border:2px solid var(--color-border)}.cancel-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cancel-btn:disabled{background:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.save-btn{background:linear-gradient(135deg,var(--color-accent-green),#059669);color:var(--color-text-inverse)}.save-btn:hover{background:linear-gradient(135deg,#059669,var(--color-accent-green));transform:translateY(-2px);box-shadow:var(--shadow-lg)}.save-btn:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.delete-btn{background:linear-gradient(135deg,var(--color-accent-red),#dc2626);color:var(--color-text-inverse);margin-right:auto}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,var(--color-accent-red));transform:translateY(-2px);box-shadow:var(--shadow-lg)}.delete-btn:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.save-btn:before,.delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.save-btn:hover:before,.delete-btn:hover:before{left:100%}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:var(--space-10)}.form-group select:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%233B82F6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.save-btn[disabled]:not(:hover){position:relative}.save-btn[disabled]:not(:hover):after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid var(--color-text-inverse);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.event-modal{margin:var(--space-4);width:calc(100% - 2rem);max-height:calc(100vh - 2rem)}.event-form{padding:var(--space-6);gap:var(--space-5)}.form-row{grid-template-columns:1fr;gap:var(--space-5)}.form-actions{flex-direction:column-reverse;gap:var(--space-3)}.cancel-btn,.save-btn,.delete-btn{width:100%;min-width:auto}.delete-btn{margin-right:0;order:-1}.attendees-list{padding:var(--space-4)}}@media (max-width: 480px){.event-modal{margin:var(--space-2);width:calc(100% - 1rem);max-height:calc(100vh - 1rem);border-radius:var(--radius-xl)}.event-form{padding:var(--space-4);gap:var(--space-4)}.form-group input,.form-group textarea,.form-group select{padding:var(--space-3);font-size:var(--text-sm)}.attendee-item{padding:var(--space-2) var(--space-3)!important}}.form-group input:focus-visible,.form-group textarea:focus-visible,.form-group select:focus-visible,.checkbox-label:focus-visible,.attendee-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){.form-group input,.form-group textarea,.form-group select{border-width:3px}.checkbox-label input[type=checkbox],.attendee-item input[type=checkbox]{border-width:3px!important}}.location-dropdown-container{position:relative;width:100%}.location-input{width:100%;padding:12px;border:1px solid #444;border-radius:8px;background-color:#2a2a2a;color:#fff;font-size:14px;transition:border-color .3s ease}.location-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.location-dropdown{position:absolute;top:100%;left:0;right:0;background-color:#2a2a2a;border:1px solid #444;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000004d}.dropdown-item{padding:12px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #444}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#3a3a3a}.dropdown-item.no-results{color:#888;cursor:default;font-style:italic}.dropdown-item.no-results:hover{background-color:transparent}.location-info{display:flex;flex-direction:column;gap:4px}.location-name{font-weight:500;color:#fff;display:flex;align-items:center;gap:6px}.location-address{font-size:12px;color:#aaa;line-height:1.3}.favorite-star{color:gold;font-size:14px}.location-dropdown::-webkit-scrollbar{width:6px}.location-dropdown::-webkit-scrollbar-track{background:#1a1a1a}.location-dropdown::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.location-dropdown::-webkit-scrollbar-thumb:hover{background:#666}:root{--input-padding: 10px 14px;--input-bg: var(--color-surface-alt);--input-border: 1px solid var(--color-border);--input-radius: 12px}._modalOverlay_vryyt_8{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:1000;display:flex;justify-content:center;align-items:center;padding:16px;overflow-y:auto}._modal_vryyt_8{background:var(--color-surface);border-radius:16px;padding:24px;width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;overflow:hidden}._modalHeader_vryyt_36{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}._closeBtn_vryyt_44{font-size:1.5rem;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;font-weight:700;line-height:1}._closeBtn_vryyt_44:hover{background-color:var(--color-surface-alt)}._mealForm_vryyt_65{display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1;padding-right:8px}._formGroup_vryyt_74{display:flex;flex-direction:column;gap:6px}._formRow_vryyt_80{display:flex;gap:12px;flex-wrap:wrap}._formRow_vryyt_80 ._formGroup_vryyt_74{flex:1}._inputField_vryyt_90,textarea,select,input[type=text],input[type=datetime-local]{padding:var(--input-padding);background:var(--input-bg);border:var(--input-border);border-radius:var(--input-radius);font-size:1rem;width:100%}textarea{resize:vertical;min-height:80px}._mealTypeButtons_vryyt_108{display:flex;gap:8px}._mealTypeBtn_vryyt_113{flex:1;padding:8px 12px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-primary);border-radius:8px;cursor:pointer;font-weight:500;transition:background .2s ease}._mealTypeBtn_vryyt_113:hover{background:var(--color-surface)}._mealTypeBtn_vryyt_113._active_vryyt_129{background:var(--color-primary);color:#fff;border:none}._formGroupCheckbox_vryyt_135{display:flex;align-items:center}._checkboxLabel_vryyt_140{display:flex;align-items:center;gap:8px;font-weight:500;white-space:nowrap;flex-shrink:0}._attendeesList_vryyt_149{display:flex;flex-wrap:wrap;gap:10px}._attendeeItem_vryyt_155{background:var(--color-surface-alt);padding:6px 10px;border-radius:999px;display:flex;align-items:center;gap:6px}._errorMessage_vryyt_164{color:var(--color-danger);font-size:.9rem}._formActions_vryyt_169{display:flex;justify-content:flex-end;gap:12px;margin-top:12px;flex-shrink:0;padding-top:16px;border-top:1px solid var(--color-border)}._cancelBtn_vryyt_179,._saveBtn_vryyt_180{padding:10px 16px;font-weight:500;border-radius:999px;border:none;cursor:pointer}._cancelBtn_vryyt_179{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border)}._saveBtn_vryyt_180{background:var(--color-primary);color:#fff}@media (max-width: 768px){._modalOverlay_vryyt_8{padding:8px}._modal_vryyt_8{max-height:95vh;padding:16px;margin:8px}._mealForm_vryyt_65{gap:12px}._formRow_vryyt_80{flex-direction:column;gap:8px}._formRow_vryyt_80 ._formGroup_vryyt_74{flex:none}._mealTypeButtons_vryyt_108{flex-direction:column}._attendeesList_vryyt_149{gap:8px}._attendeeItem_vryyt_155{padding:4px 8px;font-size:.9rem}}@media (max-width: 480px){._modal_vryyt_8{max-height:98vh;padding:12px;margin:4px}._modalHeader_vryyt_36{margin-bottom:12px}._mealForm_vryyt_65{gap:10px}._formActions_vryyt_169{flex-direction:column;gap:8px}._cancelBtn_vryyt_179,._saveBtn_vryyt_180{width:100%;padding:12px 16px}}.recurring-delete-modal{max-width:500px;width:90%}.modal-body{padding:20px}.modal-body p{margin-bottom:15px;color:#333}.delete-options{display:flex;flex-direction:column;gap:15px;margin:20px 0}.delete-option-btn{display:flex;align-items:center;gap:15px;padding:15px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.delete-option-btn:hover{border-color:var(--ds-brand);background:#f8f9fa}.delete-option-btn.delete-single:hover{border-color:#28a745;background:#f8fff9}.delete-option-btn.delete-future:hover{border-color:#ffc107;background:#fffef8}.delete-option-btn.delete-series:hover{border-color:#dc3545;background:#fff8f8}.option-icon{font-size:24px;flex-shrink:0}.option-content{flex:1}.option-title{font-weight:600;font-size:16px;margin-bottom:4px;color:#333}.option-description{font-size:14px;color:#666;line-height:1.4}.modal-footer{padding:15px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px}.cancel-btn{padding:8px 16px;border:1px solid #ccc;border-radius:4px;background:#fff;color:#333;cursor:pointer;transition:background-color .2s ease}.cancel-btn:hover{background:#f5f5f5}:root{--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-inverse: #FFFFFF;--color-primary-light: var(--ds-brand-wash);--color-primary-hover: var(--ds-brand);--color-border-light: #F1F5F9;--color-border-focus: var(--ds-brand);--color-accent-red: #EF4444;--color-accent-yellow: #F59E0B;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}.calendar-export-modal{background:var(--color-surface);border-radius:var(--radius-2xl);padding:0;width:90%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);position:relative;border:1px solid var(--color-border);font-family:var(--font-family-primary)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-8);border-bottom:2px solid var(--color-border-light);background:var(--color-surface-alt);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;position:relative}.modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal-header h2{margin:0;color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);display:flex;align-items:center;gap:var(--space-2)}.close-btn{background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xl);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-base)}.close-btn:hover{background-color:var(--color-accent-red);color:var(--color-text-inverse);transform:scale(1.1);border-color:var(--color-accent-red)}.modal-content{padding:var(--space-8);color:var(--color-text-primary);line-height:1.6}.export-info{margin-bottom:var(--space-8);background:var(--color-surface-alt);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}.export-info p{margin-bottom:var(--space-4);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);font-weight:var(--font-medium)}.export-info ul{margin:0;padding-left:var(--space-5);list-style:none}.export-info li{margin-bottom:var(--space-3);line-height:1.5;position:relative;padding-left:var(--space-6);color:var(--color-text-secondary)}.export-info li:before{content:"📱";position:absolute;left:0;top:0;font-size:var(--text-base)}.export-info li strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.url-section{margin-bottom:var(--space-8);background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-xl);border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.url-section label{display:block;margin-bottom:var(--space-3);font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-lg)}.url-input-group{display:flex;gap:var(--space-3);align-items:center}.url-input{flex:1;min-width:0;padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;background:var(--color-surface-alt);color:var(--color-text-primary);transition:all var(--transition-base);box-shadow:var(--shadow-xs);word-break:break-all;overflow-wrap:break-word}.url-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm);transform:translateY(-1px)}.copy-btn{flex:0 0 auto;min-width:100px;max-width:120px;padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-family-primary);white-space:nowrap;align-items:center;border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:var(--color-text-inverse);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;justify-content:center;line-height:1.1}.copy-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.copy-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));transform:translateY(-2px);box-shadow:var(--shadow-lg)}.copy-btn:hover:before{left:100%}.copy-btn:active{transform:translateY(-1px);box-shadow:var(--shadow-md)}.security-note{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8);border-left:4px solid var(--color-accent-yellow);box-shadow:var(--shadow-xs)}.security-note h4{margin:0 0 var(--space-3) 0;color:#92400e;font-size:var(--text-lg);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2)}.security-note p{margin:0;color:#92400e;font-size:var(--text-sm);line-height:1.5;font-weight:var(--font-medium)}.instructions{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid var(--color-accent-green);border-radius:var(--radius-xl);padding:var(--space-6);border-left:4px solid var(--color-accent-green);box-shadow:var(--shadow-xs)}.instructions h4{margin:0 0 var(--space-4) 0;color:#065f46;font-size:var(--text-lg);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2)}.instructions ol{margin:0;padding-left:var(--space-6);counter-reset:step-counter;list-style:none}.instructions li{margin-bottom:var(--space-3);color:#065f46;line-height:1.5;font-weight:var(--font-medium);position:relative;padding-left:var(--space-8);counter-increment:step-counter}.instructions li:before{content:counter(step-counter);position:absolute;left:0;top:0;background:var(--color-accent-green);color:var(--color-text-inverse);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold)}.instructions li:last-child{margin-bottom:0}.loading{text-align:center;padding:var(--space-8);color:var(--color-text-secondary);font-style:italic;font-size:var(--text-lg);background:var(--color-surface-alt);border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}@media (max-width: 768px){.calendar-export-modal{width:95%;margin:var(--space-4) auto;max-height:95vh}.modal-header{padding:var(--space-5) var(--space-6)}.modal-header h2{font-size:var(--text-xl)}.modal-content{padding:var(--space-6)}.export-info,.url-section,.security-note,.instructions{padding:var(--space-5);margin-bottom:var(--space-6)}.url-input-group{flex-direction:column;gap:var(--space-3)}.copy-btn{width:auto;min-width:100px;max-width:120px;align-self:flex-start}.url-input{min-width:0;width:100%}}@media (max-width: 480px){.calendar-export-modal{width:98%;margin:var(--space-2) auto;border-radius:var(--radius-xl)}.modal-header{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header h2{font-size:var(--text-lg)}.modal-content{padding:var(--space-5)}.export-info,.url-section,.security-note,.instructions{padding:var(--space-4);margin-bottom:var(--space-5)}.url-input,.copy-btn{padding:var(--space-3);font-size:var(--text-sm)}.instructions li{padding-left:var(--space-6)}.instructions li:before{width:20px;height:20px;font-size:.7rem}}.copy-btn:focus-visible,.url-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){.url-input{border-width:3px}.security-note,.instructions{border-width:2px}}:root{--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-inverse: #FFFFFF;--color-primary-light: var(--ds-brand-wash);--color-primary-hover: var(--ds-brand);--color-border-light: #F1F5F9;--color-border-focus: var(--ds-brand);--color-accent-red: #EF4444;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}.calendar-page-container{max-width:1400px;margin:0 auto;padding:var(--space-8) var(--space-6);background:var(--color-bg);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);min-height:90vh;font-family:var(--font-family-primary)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);position:relative;overflow:visible;z-index:100}.calendar-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.calendar-page-container h1{font-size:var(--text-3xl);color:var(--color-text-primary);margin:0;font-weight:var(--font-bold);line-height:1.2}.calendar-actions{display:flex;gap:var(--space-4);justify-content:center;align-items:center;margin-bottom:var(--space-8);padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);flex-wrap:wrap;position:relative;z-index:2}.action-icon{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:80px;position:relative;overflow:hidden;box-shadow:var(--shadow-xs);gap:var(--space-2)}.action-icon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.action-icon:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.action-icon:hover:before{left:100%}.action-icon .icon{font-size:1.5rem;margin-bottom:var(--space-1)}.action-icon .label{font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center;line-height:1.2;white-space:nowrap}.calendar-legend{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-6);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;z-index:2}.calendar-legend:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.clear-filter-btn{background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;box-shadow:var(--shadow-xs)}.legend-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-alt);border:2px solid transparent;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;cursor:pointer;box-shadow:var(--shadow-xs)}.fc{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-6);font-family:var(--font-family-primary);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;position:relative;z-index:1}.fc-toolbar{margin-bottom:var(--space-6)!important;padding:var(--space-4) 0;border-bottom:2px solid var(--color-border-light)}.fc-toolbar-title{font-size:var(--text-2xl)!important;font-weight:var(--font-bold)!important;color:var(--color-text-primary)!important}.fc-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark))!important;border:none!important;color:var(--color-text-inverse)!important;font-weight:var(--font-medium)!important;border-radius:var(--radius-lg)!important;padding:var(--space-3) var(--space-5)!important;transition:all var(--transition-base)!important;font-size:var(--text-sm)!important;box-shadow:var(--shadow-xs)!important;font-family:var(--font-family-primary)!important}.fc-button:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))!important;transform:translateY(-2px)!important;box-shadow:var(--shadow-md)!important}.fc-button:focus{box-shadow:0 0 0 3px #3b82f64d!important;outline:none!important}.fc-button-active,.fc-button-active:hover{background:var(--color-primary-dark)!important;box-shadow:inset 0 2px 4px #0000001a!important;transform:translateY(0)!important}.fc-today-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark))!important;box-shadow:var(--shadow-sm)!important}.fc-today-button:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))!important;transform:translateY(-2px)!important;box-shadow:var(--shadow-md)!important}.fc-daygrid-day{border-color:var(--color-border-light)!important;transition:background-color var(--transition-fast)!important}.fc-daygrid-day:hover{background-color:var(--color-surface-alt)!important}.fc-daygrid-day-number{color:var(--color-text-secondary)!important;font-weight:var(--font-medium)!important;font-size:var(--text-sm)!important;padding:var(--space-2)!important;transition:all var(--transition-fast)!important}.fc-day-today{background-color:var(--color-primary-light)!important}.fc-day-today .fc-daygrid-day-number{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark))!important;color:var(--color-text-inverse)!important;border-radius:50%!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:var(--text-sm)!important;font-weight:var(--font-semibold)!important;box-shadow:var(--shadow-sm)!important}.fc-daygrid-day-events{margin-top:var(--space-1)!important}.fc-event{margin:var(--space-1) 0!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-xs)!important;border:none!important;transition:all var(--transition-base)!important;cursor:pointer!important}.fc-event:hover{transform:translateY(-1px)!important;box-shadow:var(--shadow-sm)!important}.fc-event-title{font-weight:var(--font-medium)!important;font-size:var(--text-xs)!important;line-height:1.3!important;padding:var(--space-1) var(--space-2)!important}.fc-timegrid-slot{border-color:var(--color-border-light)!important}.fc-timegrid-axis{background-color:var(--color-surface-alt)!important;border-color:var(--color-border-light)!important;color:var(--color-text-secondary)!important;font-size:var(--text-xs)!important}.fc-timegrid-slot-label{color:var(--color-text-secondary)!important;font-size:var(--text-xs)!important;font-weight:var(--font-medium)!important}.fc-list-event{border-color:var(--color-border-light)!important;transition:all var(--transition-base)!important}.fc-list-event-title{color:var(--color-text-primary)!important;font-weight:var(--font-semibold)!important;font-size:var(--text-base)!important}.fc-list-event-time{color:var(--color-text-secondary)!important;font-weight:var(--font-medium)!important;font-size:var(--text-sm)!important}.fc-list-event-dot{border-color:var(--color-primary)!important;box-shadow:var(--shadow-xs)!important}.fc-list-event.meal-event .fc-list-event-dot{border-color:var(--color-accent-orange)!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172ab3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-light)}.modal-header h2{margin:0;color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.close-btn{background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:var(--text-xl);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all var(--transition-base)}.close-btn:hover{background-color:var(--color-accent-red);color:var(--color-text-inverse);transform:scale(1.1)}.modal-content{color:var(--color-text-primary);line-height:1.6}.modal-content p{margin:var(--space-3) 0}.fc-custom-event{display:flex;flex-direction:column;gap:2px;padding:var(--space-1);line-height:1.2}.fc-event-title{font-weight:var(--font-medium)!important;font-size:var(--text-xs)!important;line-height:1.2!important;padding:0!important;margin:0!important;display:block!important}.fc-attendee-dots{display:flex;gap:3px;align-items:center;margin-top:2px;height:12px;line-height:12px}.attendee-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.4);flex-shrink:0;box-shadow:var(--shadow-xs);display:inline-block}.extra-attendees{font-size:9px;color:#ffffffe6;margin-left:2px;font-weight:var(--font-medium);line-height:12px;vertical-align:middle}.fc-event-address,.fc-event-location{font-size:9px;margin-top:2px;color:#fffffff2;background-color:#0000001a;padding:1px 3px;border-radius:3px;line-height:1.1;display:block}.fc-event-address a,.fc-event-location a{color:#fffffff2;text-decoration:none;display:inline-flex;align-items:center;gap:2px;transition:all var(--transition-base);font-weight:var(--font-medium);font-size:9px}.fc-event-address a:hover,.fc-event-location a:hover{color:#fff;text-decoration:underline;background-color:#0003;border-radius:3px;padding:1px 3px}.fc-list-event{border-color:var(--color-border-light)!important;transition:all var(--transition-base)!important;padding:var(--space-4)!important;display:flex!important;align-items:flex-start!important;gap:var(--space-3)!important;border-left:none!important;border-right:none!important;border-top:none!important;border-bottom:1px solid var(--color-border-light)!important}.fc-list-event:hover{background-color:var(--color-surface-alt)!important;transform:translate(4px)!important}.fc-list-event-dot{border-color:var(--color-primary)!important;background-color:var(--color-primary)!important;box-shadow:var(--shadow-xs)!important;width:8px!important;height:8px!important;margin-top:6px!important;margin-right:0!important;flex-shrink:0!important;border-radius:50%!important;border-width:0!important}.fc-list-event-time{color:var(--color-text-secondary)!important;font-weight:var(--font-medium)!important;font-size:var(--text-sm)!important;margin-bottom:0!important;margin-right:var(--space-4)!important;min-width:120px!important;flex-shrink:0!important;margin-top:2px!important;border-right:1px solid var(--color-border-light)!important;padding-right:var(--space-3)!important}.fc-list-event-title{color:var(--color-text-primary)!important;font-weight:var(--font-semibold)!important;font-size:var(--text-base)!important;line-height:1.4!important;margin-bottom:0!important;margin-top:0!important;flex:1!important}.fc-list-event-content{display:flex!important;flex-direction:column!important;gap:var(--space-1)!important;flex:1!important;padding-left:var(--space-3)!important}.fc-list-day-cushion{background-color:var(--color-surface-alt)!important;border-bottom:1px solid var(--color-border)!important;padding:var(--space-3) var(--space-4)!important}.fc-list-table{border-collapse:separate!important;border-spacing:0!important}.fc-list-day{border-bottom:2px solid var(--color-border)!important}.fc-list-day th{border-left:none!important;border-right:none!important;border-top:none!important}.fc-list-event.meal-event .fc-list-event-dot{border-color:var(--color-accent-orange)!important;background-color:var(--color-accent-orange)!important}.fc-list-event .fc-event-location,.fc-list-event .fc-event-address{color:var(--color-text-secondary)!important;background-color:transparent!important;padding:0!important;font-size:var(--text-sm)!important;margin-top:var(--space-1)!important;display:block!important}.fc-list-event .fc-event-location a,.fc-list-event .fc-event-address a{color:var(--color-primary)!important;font-weight:var(--font-semibold)!important;text-decoration:none!important;background-color:transparent!important;padding:0!important;font-size:var(--text-sm)!important;display:inline-flex!important;align-items:center!important;gap:var(--space-1)!important}.fc-list-event .fc-event-location a:hover,.fc-list-event .fc-event-address a:hover{color:var(--color-primary-dark)!important;text-decoration:underline!important;transform:none!important;background-color:transparent!important}.fc-list-event .fc-attendee-dots{margin-top:var(--space-2)!important;height:auto!important;gap:var(--space-1)!important;display:flex!important;align-items:center!important}.fc-list-event .attendee-dot{width:10px!important;height:10px!important;border:2px solid var(--color-surface)!important;border-radius:50%!important}.fc-list-event .extra-attendees{font-size:var(--text-xs)!important;color:var(--color-text-secondary)!important;margin-left:var(--space-1)!important}.loading{text-align:center;padding:var(--space-12);color:var(--color-text-secondary);font-size:var(--text-lg);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}@media (max-width: 768px){.calendar-page-container{padding:var(--space-6) var(--space-4)}.calendar-header{flex-direction:row;align-items:center;gap:0;padding:var(--space-5);margin-bottom:var(--space-6)}.calendar-page-container h1{font-size:var(--text-2xl);flex:1}.calendar-actions{padding:var(--space-4);gap:var(--space-3);margin-bottom:var(--space-6)}.action-icon{width:80px;height:70px;padding:var(--space-3);gap:var(--space-1)}.action-icon .icon{font-size:1.25rem}.action-icon .label{font-size:.7rem}.fc{padding:var(--space-4)}.fc-toolbar{flex-direction:column!important;gap:var(--space-3)!important;align-items:center!important}.fc-toolbar-chunk{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:var(--space-2)!important}.fc-button{padding:var(--space-2) var(--space-3)!important;font-size:var(--text-xs)!important}.fc-toolbar-title{font-size:var(--text-xl)!important;text-align:center!important;margin-bottom:var(--space-2)!important}.modal{width:95%!important;margin:var(--space-4)!important;padding:var(--space-6)!important}.legend-items{justify-content:center}.legend-item{padding:var(--space-2) var(--space-3);min-height:32px;gap:var(--space-2)}.legend-dot{width:14px;height:14px}.legend-name{font-size:var(--text-sm);line-height:1.3}}@media (max-width: 480px){.calendar-page-container{padding:var(--space-4) var(--space-3)}.calendar-header{padding:var(--space-4)}.calendar-page-container h1{font-size:var(--text-xl)}.fc{padding:var(--space-3)}.fc-toolbar-title{font-size:var(--text-lg)!important}.fc-button{padding:var(--space-1) var(--space-2)!important;font-size:.7rem!important}.calendar-actions{gap:var(--space-2)}.action-icon{width:70px;height:60px;padding:var(--space-2);gap:var(--space-1)}.action-icon .icon{font-size:1.125rem}.action-icon .label{font-size:.65rem}.legend-items{gap:var(--space-2)}.legend-item{padding:var(--space-1) var(--space-2);gap:var(--space-1);min-height:28px}.legend-dot{width:12px;height:12px}.legend-name{font-size:var(--text-xs);line-height:1.2}}.fc-theme-standard .fc-list-event,.fc-theme-standard .fc-list-event td,.fc-theme-standard .fc-list-event th{border:none!important;border-bottom:none!important;border-top:none!important;border-left:none!important;border-right:none!important}.fc-theme-standard .fc-list-table,.fc-theme-standard .fc-list-table td,.fc-theme-standard .fc-list-table th{border:none!important}.fc-list-event{border-bottom:none!important}.fc-list-event-time{border-right:none!important}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.action-icon:focus,.legend-item:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){.fc-event{border:2px solid currentColor!important}.legend-dot{border-width:3px!important}}.newsfeed-card{display:flex;align-items:center;background:#faf8f6;border-radius:18px;box-shadow:0 1px 4px #0000000a;padding:18px 20px;margin-bottom:16px;gap:18px}.newsfeed-card-icon{font-size:2.2rem;color:#b6b6b6;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px}.newsfeed-card-content{display:flex;flex-direction:column}.newsfeed-card-title{font-weight:600;font-size:1.08rem;color:#181818}.newsfeed-card-meta{color:#888;font-size:.98rem;margin-top:2px}.newsfeed-card-link{color:#2a6ae6;text-decoration:underline;font-weight:500;font-size:1.01rem;margin-top:2px;margin-bottom:2px;cursor:pointer}.newsfeed-card-secondary{color:#aaa;font-size:.97rem;margin-top:2px}.newsfeed-card.modern{display:flex;align-items:center;background:#fff;border-radius:18px;box-shadow:0 1px 8px #0000000f;padding:18px 22px;margin-bottom:18px;gap:18px;transition:box-shadow .15s;cursor:pointer}.newsfeed-card.modern:hover{box-shadow:0 4px 16px #0000001a}.newsfeed-card-icon.modern-icon{font-size:2.2rem;color:#8ca0b3;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px}.newsfeed-card-content.modern-content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.newsfeed-card-title.modern-title{font-weight:700;font-size:1.13rem;color:#181818;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-meta.modern-meta{color:#7a8594;font-size:1.01rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-link.modern-link{color:#185adf;text-decoration:underline;font-weight:500;font-size:1.01rem;margin-top:2px;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-secondary.modern-secondary{color:#aaa;font-size:.97rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-right.modern-right{display:flex;align-items:center;gap:8px;min-width:32px;margin-left:16px}.modern-arrow{color:#b6b6b6;margin-left:2px}.onboarding-checklist{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:12px;padding:16px;margin:12px;box-shadow:var(--shadow-soft);font-size:14px;color:var(--color-text-primary)}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:var(--color-text-primary)}.onboarding-toggle{background:none;border:none;color:var(--color-primary);text-decoration:underline;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;width:auto;min-width:40px;max-width:60px;white-space:nowrap}.onboarding-toggle:hover{background-color:#2f80ed1a}.onboarding-items{list-style:none;padding:0;margin:0;space-y:8px}.onboarding-items li{display:flex;align-items:center;padding:8px 0;border-radius:6px;transition:background-color .2s ease}.onboarding-items li:hover{background-color:var(--color-surface-alt)}.onboarding-items li.completed{color:var(--color-accent-green)}.checkmark{margin-right:12px;font-size:16px;min-width:20px;text-align:center}.onboarding-item-content{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.onboarding-item-text{font-weight:500;color:var(--color-text-primary);flex:1}.onboarding-action-btn{background:var(--color-primary);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0;width:auto;min-width:80px;max-width:120px}.onboarding-action-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}@media (min-width: 768px){.onboarding-checklist{margin:16px;padding:20px;font-size:16px}.onboarding-header{margin-bottom:16px}.onboarding-items li{padding:12px 0}.checkmark{margin-right:16px;font-size:18px;min-width:24px}.onboarding-item-content{gap:16px}.onboarding-action-btn{padding:8px 16px;font-size:14px}}.onboarding-items li.completed{animation:fadeInScale .3s ease-in-out}@keyframes fadeInScale{0%{opacity:.7;transform:scale(.95)}to{opacity:1;transform:scale(1)}}._banner_13wwu_1{background:linear-gradient(135deg,var(--color-primary),#2980b9);color:#fff;padding:12px 0;position:relative;z-index:1000;box-shadow:0 2px 8px #0000001a}._bannerContent_13wwu_10{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}._bannerText_13wwu_20{display:flex;align-items:center;gap:12px;flex:1}._bannerIcon_13wwu_27{font-size:1.5rem;animation:_pulse_13wwu_1 2s infinite}._bannerTitle_13wwu_32{font-weight:600;font-size:1.1rem;white-space:nowrap}._bannerDescription_13wwu_38{font-size:.95rem;opacity:.9;line-height:1.4}._bannerActions_13wwu_44{display:flex;align-items:center;gap:12px;flex-shrink:0}._tryNowButton_13wwu_51{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}._tryNowButton_13wwu_51:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}._dismissButton_13wwu_70{background:none;color:#ffffffb3;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;line-height:1;width:auto;min-width:auto;flex-shrink:0}._dismissButton_13wwu_70:hover{color:#fff;background:#ffffff1a}@keyframes _pulse_13wwu_1{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 768px){._bannerContent_13wwu_10{padding:0 16px 16px;position:relative;flex-direction:column;gap:12px;text-align:center}._bannerText_13wwu_20{flex-direction:column;gap:8px;padding-right:0;margin-top:40px}._bannerTitle_13wwu_32{white-space:normal}._bannerActions_13wwu_44{position:static;display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:8px}._tryNowButton_13wwu_51{order:1;min-width:120px}._dismissButton_13wwu_70{position:absolute;top:8px;right:16px;z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0}}@media (max-width: 480px){._banner_13wwu_1{padding:16px 0}._bannerContent_13wwu_10{padding:0 12px 16px}._bannerText_13wwu_20{margin-top:45px}._bannerTitle_13wwu_32{font-size:1rem}._bannerDescription_13wwu_38{font-size:.9rem}}:root{--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-inverse: #FFFFFF;--color-primary-light: var(--ds-brand-wash);--color-primary-hover: var(--ds-brand);--color-border-light: #F1F5F9;--color-border-focus: var(--ds-brand);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}.newsfeed-container{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);min-height:100vh;background:var(--color-bg);color:var(--color-text-primary);width:100%;box-sizing:border-box;overflow-x:hidden;font-family:var(--font-family-primary);position:relative;z-index:1}.newsfeed-header.modern-header{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-8);margin-bottom:var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:visible;z-index:100}.newsfeed-header.modern-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.newsfeed-header.modern-header:hover{box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);width:100%}.newsfeed-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;line-height:1.2}.add-icons-row{display:flex;gap:var(--space-4);justify-content:center;align-items:center;margin-bottom:var(--space-6)}.add-icon{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-secondary);font-size:var(--text-lg);width:100px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;gap:var(--space-2)}.add-icon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.add-icon:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.add-icon:hover:before{left:100%}.add-icon .icon{font-size:1.5rem;margin-bottom:var(--space-1)}.add-icon .label{font-size:var(--text-xs);font-weight:var(--font-medium);text-align:center;line-height:1.2;white-space:nowrap}.add-dropdown-container{position:relative;display:flex;justify-content:center}.add-dropdown{position:absolute;top:115%;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:100;display:flex;flex-direction:column;min-width:160px;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-base)}.add-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.add-dropdown button{background:none;border:none;padding:var(--space-4) var(--space-5);font-size:var(--text-base);text-align:left;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-primary);font-weight:var(--font-medium)}.add-dropdown button:hover{background:var(--color-surface-alt);color:var(--color-primary)}.newsfeed-legend{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-8);transition:all var(--transition-base);box-shadow:var(--shadow-xs);position:relative;z-index:2}.newsfeed-legend:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.legend-title{font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-lg)}.clear-filter-btn{background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;min-width:auto;width:auto}.clear-filter-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.legend-items{display:flex;flex-wrap:wrap;gap:var(--space-3)}.legend-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-alt);border:2px solid transparent;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;cursor:pointer}.legend-item:hover{background:var(--color-surface-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.legend-item.selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.legend-item.selected .legend-name{color:var(--color-primary-dark);font-weight:var(--font-semibold)}.legend-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-surface);box-shadow:var(--shadow-xs);flex-shrink:0}.legend-name{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:var(--font-medium);white-space:nowrap}.newsfeed-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-8);position:relative;z-index:1}.newsfeed-section{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden;z-index:2}.newsfeed-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base)}.newsfeed-section:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.newsfeed-section:hover:before{transform:scaleX(1)}.section-header{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-light)}.section-header h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--space-3)}.section-icon{font-size:var(--text-xl);color:var(--color-primary);padding:var(--space-2);background:var(--color-primary-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.view-all-btn{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;flex-shrink:0;max-width:fit-content;transition:all var(--transition-base);text-decoration:none}.view-all-btn:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.section-content{space-y:var(--space-4)}.newsfeed-card,.newsfeed-card.modern{display:flex;align-items:center;background:var(--color-surface-alt);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:var(--space-5);margin-bottom:var(--space-4);gap:var(--space-4);transition:all var(--transition-base);cursor:pointer;border:1px solid var(--color-border-light);position:relative;overflow:hidden}.newsfeed-card:before,.newsfeed-card.modern:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transform:scaleY(0);transition:transform var(--transition-base);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.newsfeed-card:hover,.newsfeed-card.modern:hover{background:var(--color-surface);transform:translate(8px);box-shadow:var(--shadow-md);border-color:var(--color-border)}.newsfeed-card:hover:before,.newsfeed-card.modern:hover:before{transform:scaleY(1)}.newsfeed-card:last-child{margin-bottom:0}.newsfeed-card-icon,.newsfeed-card-icon.modern-icon{font-size:var(--text-2xl);color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.newsfeed-card-content,.newsfeed-card-content.modern-content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.newsfeed-card-title,.newsfeed-card-title.modern-title{font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--color-text-primary);line-height:1.4;margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-meta,.newsfeed-card-meta.modern-meta{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-link,.newsfeed-card-link.modern-link{color:var(--color-primary);text-decoration:underline;font-weight:var(--font-medium);font-size:var(--text-sm);margin-top:var(--space-1);margin-bottom:var(--space-1);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-secondary,.newsfeed-card-secondary.modern-secondary{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.newsfeed-card-right,.newsfeed-card-right.modern-right,.modern-arrow{color:var(--color-text-muted);font-size:var(--text-lg);flex-shrink:0;transition:all var(--transition-base);margin-left:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.newsfeed-card:hover .newsfeed-card-right,.newsfeed-card:hover .modern-arrow{color:var(--color-primary);transform:translate(4px)}.date-group{margin-bottom:var(--space-6)}.date-header{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-primary);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-lg);display:inline-block}.event-attendees{display:flex;align-items:center;margin-top:var(--space-3);gap:var(--space-2)}.attendees-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-medium)}.attendee-circles{display:flex;gap:var(--space-1);align-items:center}.attendee-circle{width:16px;height:16px;border-radius:50%;border:2px solid var(--color-surface);box-shadow:var(--shadow-xs);transition:transform var(--transition-fast)}.attendee-circle:hover{transform:scale(1.2)}.attendees-text{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.no-events{text-align:center;color:var(--color-text-secondary);font-style:italic;padding:var(--space-5)}.no-attendees{color:var(--color-text-muted);font-style:italic;font-size:var(--text-sm)}.grocery-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);margin-bottom:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-xl);border-left:4px solid var(--color-accent-green);transition:all var(--transition-base);gap:var(--space-4);border:1px solid var(--color-border-light);position:relative;overflow:hidden}.grocery-list-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(16,185,129,.1) 50%,transparent 70%);opacity:0;transition:opacity var(--transition-base)}.grocery-list-item:hover{background:var(--color-surface);transform:translate(8px);box-shadow:var(--shadow-md)}.grocery-list-item:hover:after{opacity:1}.list-info{flex:1;min-width:0;position:relative;z-index:1}.list-name{font-weight:var(--font-semibold);margin-bottom:var(--space-1);word-wrap:break-word;color:var(--color-text-primary);font-size:var(--text-base)}.list-stats{font-size:var(--text-sm);color:var(--color-text-secondary)}.recent-badge{color:var(--color-accent-green);font-weight:var(--font-semibold)}.view-list-btn{background:var(--color-primary);border:none;color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;min-width:70px;max-width:90px;position:relative;z-index:1}.view-list-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.meal-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);margin-bottom:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-xl);border-left:4px solid var(--color-accent-orange);transition:all var(--transition-base);gap:var(--space-4);border:1px solid var(--color-border-light);position:relative;overflow:hidden}.meal-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(245,158,11,.1) 50%,transparent 70%);opacity:0;transition:opacity var(--transition-base)}.meal-item:hover{background:var(--color-surface);transform:translate(8px);box-shadow:var(--shadow-md)}.meal-item:hover:after{opacity:1}.meal-info{flex:1;min-width:0;position:relative;z-index:1}.meal-title{font-weight:var(--font-semibold);margin-bottom:var(--space-1);word-wrap:break-word;color:var(--color-text-primary);font-size:var(--text-base)}.meal-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.meal-date,.meal-attendees{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.meal-location{font-size:var(--text-sm);color:var(--color-text-secondary)}.view-meal-btn{background:var(--color-primary);border:none;color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);transition:all var(--transition-base);white-space:nowrap;flex-shrink:0;min-width:80px;max-width:100px;position:relative;z-index:1}.view-meal-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.comment-item{padding:var(--space-5);margin-bottom:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-xl);border-left:4px solid var(--color-accent-green);transition:all var(--transition-base);cursor:pointer;border:1px solid var(--color-border-light);position:relative;overflow:hidden}.comment-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(16,185,129,.1) 50%,transparent 70%);opacity:0;transition:opacity var(--transition-base)}.comment-item:hover{background:var(--color-surface);transform:translate(8px);border-left-color:var(--color-primary);box-shadow:var(--shadow-md)}.comment-item:hover:after{opacity:1}.comment-content{font-style:italic;margin-bottom:var(--space-2);font-size:var(--text-base);color:var(--color-text-primary);font-weight:var(--font-medium);position:relative;z-index:1}.comment-meta{font-size:var(--text-xs);color:var(--color-text-secondary);position:relative;z-index:1}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary)}.empty-state p{margin-bottom:var(--space-6);font-size:var(--text-base);font-style:italic}.add-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;color:var(--color-text-inverse);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);transition:all var(--transition-base);text-decoration:none;display:inline-block;width:100%;box-shadow:var(--shadow-sm)}.add-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.quick-actions{display:flex;gap:var(--space-4);justify-content:center;align-items:center;margin-bottom:var(--space-6);padding:var(--space-5) 0;flex-wrap:nowrap}.quick-action-btn{background:var(--color-primary);border:none;color:var(--color-text-inverse);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);transition:all var(--transition-base);min-width:140px;text-align:center}.quick-action-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.loading,.error{text-align:center;padding:var(--space-10) var(--space-5);font-size:var(--text-lg)}.loading{color:var(--color-text-secondary)}.error{color:#ef4444}@media (max-width: 768px){.newsfeed-container{padding:var(--space-6) var(--space-4);width:100%;max-width:100%;overflow-x:hidden}.newsfeed-header.modern-header{padding:var(--space-6);margin-bottom:var(--space-6)}.header-content{flex-direction:row;gap:0;align-items:center}.header-top{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.newsfeed-title{font-size:var(--text-2xl);flex:1;line-height:1.2}.add-icons-row{gap:var(--space-3);margin-bottom:var(--space-5)}.add-icon{width:80px;height:70px;padding:var(--space-3);gap:var(--space-1)}.add-icon .icon{font-size:1.25rem}.add-icon .label{font-size:.7rem}.quick-actions{flex-direction:column;align-items:center}.newsfeed-content{grid-template-columns:1fr;gap:var(--space-6)}.newsfeed-section{padding:var(--space-6)}.grocery-list-item,.meal-item{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.view-list-btn,.view-meal-btn{align-self:flex-end}.legend-items{justify-content:center}.section-header{flex-wrap:wrap;gap:var(--space-2)}.section-header h2{font-size:var(--text-lg)}}@media (max-width: 480px){.newsfeed-container{padding:var(--space-4) var(--space-3);width:100%;max-width:100%;overflow-x:hidden}.newsfeed-header.modern-header{padding:var(--space-5);border-radius:var(--radius-xl)}.newsfeed-title{font-size:var(--text-xl);line-height:1.2}.newsfeed-section{padding:var(--space-4);border-radius:var(--radius-xl)}.newsfeed-card{padding:var(--space-4);gap:var(--space-3)}.add-icons-row{gap:var(--space-2)}.add-icon{padding:var(--space-2);width:70px;height:60px;gap:var(--space-1)}.add-icon .icon{font-size:1.125rem}.add-icon .label{font-size:.65rem}.legend-items{gap:var(--space-2)}.legend-item{padding:var(--space-2) var(--space-3)}}@media (max-width: 475px){.newsfeed-container{padding:var(--space-3) var(--space-2);width:100%;max-width:100%;overflow-x:hidden}.newsfeed-legend{padding:var(--space-4);margin-bottom:var(--space-6)}.legend-title{font-size:var(--text-base);margin-bottom:var(--space-3)}.legend-items{gap:var(--space-2)}.legend-item{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.legend-dot{width:14px;height:14px}.legend-name{font-size:var(--text-xs)}.newsfeed-card{padding:var(--space-3)}.section-header h2{font-size:var(--text-base)}}.tag-display{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #bbdefb;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.tag-pill.clickable{cursor:pointer;transition:all .2s ease}.tag-pill.clickable:hover{background:#bbdefb;border-color:#90caf9;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.tag-pill.clickable:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.tag-count{font-size:11px;opacity:.8;font-weight:400}.tag-pill:nth-child(3n){background:#f3e5f5;color:#7b1fa2;border-color:#ce93d8}.tag-pill:nth-child(3n).clickable:hover{background:#ce93d8;border-color:#ba68c8}.tag-pill:nth-child(3n+1){background:#e8f5e8;color:#388e3c;border-color:#a5d6a7}.tag-pill:nth-child(3n+1).clickable:hover{background:#a5d6a7;border-color:#81c784}.tag-pill:nth-child(3n+2){background:#fff3e0;color:#f57c00;border-color:#ffcc02}.tag-pill:nth-child(3n+2).clickable:hover{background:#ffcc02;border-color:#ffb300}.tag-selector{position:relative;min-width:200px;width:100%;outline:none}.tag-selector-input{display:flex;align-items:center;min-height:44px;background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:1rem;color:#495057;transition:border-color .2s}.tag-selector-input:focus,.tag-selector:focus .tag-selector-input{border-color:var(--ds-brand);box-shadow:0 0 0 2px #007bff26}.tag-selector-placeholder{color:#aaa;font-style:italic}.tag-selector-pills{display:flex;flex-wrap:wrap;gap:6px}.tag-selector-pill{background:#e3f2fd;color:#1976d2;border-radius:12px;padding:2px 10px;font-size:.95em;font-weight:500;border:1px solid #bbdefb;white-space:nowrap}.tag-selector-arrow{margin-left:auto;color:#888;font-size:1.1em;padding-left:8px}.tag-selector-dropdown{position:absolute;top:110%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-radius:6px;box-shadow:0 4px 16px #00000014;z-index:10;padding:8px 0;max-height:220px;overflow-y:auto}.tag-selector-option{display:flex;align-items:center;gap:10px;padding:6px 16px;font-size:1em;cursor:pointer;transition:background .15s;font-weight:500;line-height:1.2}.tag-selector-option input[type=checkbox]{margin:0 8px 0 0;accent-color:#1976d2;width:18px;height:18px;display:inline-block;vertical-align:middle;position:relative;top:0}.tag-selector-option span,.tag-selector-option label{display:inline-block;vertical-align:middle;font-size:1em;line-height:1.2}.tag-selector-option:hover{background:#f1f7ff}.tag-selector-empty{color:#888;font-style:italic;padding:10px 16px;text-align:center}.location-notes{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;margin-top:20px}.location-notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.location-notes-header h4{margin:0;color:#333;font-size:16px;font-weight:600}.notes-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.notes-toggle input[type=checkbox]{margin:0}.location-notes-loading{text-align:center;padding:20px;color:#666}.location-notes-error{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.location-notes-error button{background:none;border:none;color:#c33;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px}.note-create-form{margin-bottom:20px}.note-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px}.note-input:focus{outline:none;border-color:var(--ds-brand);box-shadow:0 0 0 2px #007bff40}.note-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.note-char-count{font-size:12px;color:#666}.note-create-btn{padding:8px 16px;background:var(--ds-brand);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.note-create-btn:hover:not(:disabled){background:#0056b3}.note-create-btn:disabled{background:#ccc;cursor:not-allowed}.notes-list{display:flex;flex-direction:column;gap:12px}.no-notes{text-align:center;color:#666;font-style:italic;margin:20px 0}.note-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:12px}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.note-author{font-weight:600;color:#333;font-size:14px}.note-date{font-size:12px;color:#666}.note-content{color:#333;line-height:1.5;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.note-actions{display:flex;justify-content:flex-end}.note-delete-btn{background:none;border:none;color:#dc3545;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:3px;transition:background-color .2s}.note-delete-btn:hover{background:#ffebee}.location-modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-content{display:flex;flex-direction:column;gap:20px}.location-form{display:flex;flex-direction:column;gap:1rem}.location-form .form-group{display:flex;flex-direction:column;gap:.5rem}.location-form label{font-weight:600;color:#333}.location-form input,.location-form textarea,.location-form select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.location-form input:focus,.location-form textarea:focus,.location-form select:focus{outline:none;border-color:var(--ds-brand);box-shadow:0 0 0 2px #007bff40}.location-form input.error{border-color:#dc3545}.location-form textarea{resize:vertical;min-height:80px}.location-form .checkbox-group{flex-direction:row;align-items:center;gap:.5rem}.location-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.location-form .checkbox-label input[type=checkbox]{width:auto;margin:0}.location-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.location-form .cancel-btn,.location-form .save-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.location-form .cancel-btn{background-color:#6c757d;color:#fff}.location-form .cancel-btn:hover{background-color:#5a6268}.location-form .save-btn{background-color:var(--ds-brand);color:#fff}.location-form .save-btn:hover{background-color:#0056b3}.location-form .save-btn:disabled,.location-form .cancel-btn:disabled{opacity:.6;cursor:not-allowed}.location-form .error-message{color:#dc3545;font-size:.875rem;margin-top:.5rem}.location-details-section{border-top:1px solid #e9ecef;padding-top:20px;margin-top:20px}.tags-section{margin-bottom:20px}.tags-section h4{margin:0 0 10px;color:#333;font-size:16px;font-weight:600}.notes-toggle-section{margin-bottom:15px}.notes-toggle-btn{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.notes-toggle-btn:hover{background:#e9ecef;border-color:#adb5bd}.tag-manager{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.tag-manager h3{margin:0 0 20px;color:#333;font-size:18px;font-weight:600}.tag-manager-loading{text-align:center;padding:20px;color:#666}.tag-manager-error{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.tag-manager-error button{background:none;border:none;color:#c33;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px}.tag-input-group{display:flex;gap:8px;align-items:stretch;margin-bottom:20px}.tag-input{flex:1 1 0;min-width:200px;max-width:100%;padding:12px;border:1px solid #ced4da;border-radius:6px;font-size:1rem;font-family:inherit;background:#f8f9fa;color:#495057}.tag-input:focus{outline:none;border-color:var(--ds-brand);box-shadow:0 0 0 2px #007bff26}.tag-create-btn{flex:0 0 auto;max-width:120px;padding:10px 18px;border-radius:8px;font-size:1rem;font-weight:600;white-space:nowrap;align-self:center;background:var(--ds-brand);color:#fff;border:none;cursor:pointer;transition:background .2s;height:44px;display:flex;align-items:center;justify-content:center}.tag-create-btn:disabled{background:#ccc;cursor:not-allowed}.tag-create-btn:not(:disabled):hover{background:#0056b3}.tags-list{display:flex;flex-direction:column;gap:8px}.no-tags{text-align:center;color:#666;font-style:italic;margin:20px 0}.tag-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.tag-name{font-weight:500;color:#333}.tag-actions{display:flex;gap:5px}.tag-edit-btn,.tag-delete-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:3px;font-size:14px;transition:background-color .2s}.tag-edit-btn:hover{background:#e3f2fd}.tag-delete-btn:hover{background:#ffebee}.tag-edit-form{display:flex;gap:8px;width:100%}.tag-save-btn{padding:6px 12px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500}.tag-save-btn:hover:not(:disabled){background:#218838}.tag-save-btn:disabled{background:#ccc;cursor:not-allowed}.tag-cancel-btn{padding:6px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500}.tag-cancel-btn:hover{background:#545b62}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}.locations-page{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);min-height:100vh;background:var(--color-bg);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.headerRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:visible}.headerRow:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.headerRow:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.headerTitle{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;color:var(--color-text-primary);line-height:1.2}.locations-controls{margin-bottom:var(--space-8);background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:var(--space-6);border:1px solid var(--color-border);transition:all var(--transition-base)}.locations-controls:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-section{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;z-index:1}.search-section input{flex:1;min-width:200px;padding:var(--space-4) var(--space-5);background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.search-section input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm);transform:translateY(-1px)}.search-section input:hover:not(:focus){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.search-section input::placeholder{color:var(--color-text-muted);font-weight:var(--font-normal)}.search-section button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;box-shadow:var(--shadow-sm);overflow:hidden}.search-section button:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-md)}.tag-manager-btn{background:linear-gradient(135deg,#6b7280,#4b5563)!important;opacity:.9}.tag-manager-btn:hover{background:linear-gradient(135deg,#4b5563,#374151)!important;opacity:1;transform:none!important}.tabs{display:flex;gap:var(--space-4);border-bottom:2px solid var(--color-border-light);flex-wrap:wrap;margin-bottom:var(--space-5);padding-bottom:var(--space-2)}.tab{background:none!important;border:none!important;padding:var(--space-3) var(--space-5)!important;cursor:pointer;border-bottom:3px solid transparent!important;transition:all var(--transition-base);color:var(--color-text-secondary)!important;font-size:var(--text-base);font-weight:var(--font-medium);border-radius:0!important}.tab.active{border-bottom-color:var(--color-primary)!important;color:var(--color-primary)!important;font-weight:var(--font-semibold);background:none!important}.tab:hover:not(.active){color:var(--color-text-primary)!important;background:var(--color-surface-alt)!important;border-color:transparent!important}.tab:focus{outline:none!important}.tag-filter-section{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-xs);transition:all var(--transition-base)}.tag-filter-section:hover{background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tag-filter-section h4{margin:0 0 var(--space-3) 0;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.tag-filter-dropdown{margin-bottom:var(--space-4)}.clear-filter-btn{background:linear-gradient(135dc,#dc2626,#b91c1c);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;margin-top:var(--space-2);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.clear-filter-btn:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6)}.location-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden}.location-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transform:scaleY(0);transition:transform var(--transition-base);border-radius:var(--radius-2xl) 0 0 var(--radius-2xl)}.location-card:hover{transform:translateY(-4px) translate(8px);box-shadow:var(--shadow-lg);border-color:var(--color-border)}.location-card:hover:before{transform:scaleY(1)}.location-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5);position:relative;z-index:1}.location-header h3{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);flex:1;margin-right:var(--space-3);line-height:1.3}.location-actions{display:flex;gap:var(--space-2);position:relative;z-index:1}.location-actions button{background:var(--color-surface-alt);border:1px solid var(--color-border);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-lg);font-size:16px;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-shadow:var(--shadow-xs)}.location-actions button:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.favorite-btn.favorited{color:#fbbf24;background:#fbbf241a;border-color:#fbbf24}.favorite-btn.favorited:hover{background:#fbbf2433;transform:translateY(-2px) scale(1.1)}.location-address{margin-bottom:var(--space-4);position:relative;z-index:1}.location-address a{color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);display:flex;align-items:center;gap:var(--space-2);transition:all var(--transition-base);padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.location-address a:hover{color:var(--color-primary-dark);text-decoration:none;background:var(--color-surface);transform:translate(4px);box-shadow:var(--shadow-xs)}.location-tags{margin-bottom:var(--space-4);position:relative;z-index:1}.location-rating{color:#fbbf24;font-size:var(--text-lg);margin-bottom:var(--space-3);font-weight:var(--font-medium);position:relative;z-index:1}.location-notes{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5;margin-top:var(--space-3);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);position:relative;z-index:1;font-style:italic}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary);font-size:var(--text-lg);background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);font-style:italic}.empty-state button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;margin-top:var(--space-5);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.empty-state button:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--ds-brand-hover));transform:translateY(-2px);box-shadow:var(--shadow-md)}.loading{grid-column:1 / -1;text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary);font-size:var(--text-lg);font-style:italic;background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);border:1px solid #fecaca;box-shadow:var(--shadow-sm);font-weight:var(--font-medium)}.error-message button{background:linear-gradient(135deg,var(--color-accent-green),#219150);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-base);white-space:nowrap;box-shadow:var(--shadow-xs)}.error-message button:hover{background:linear-gradient(135deg,#219150,#1e7e34);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.locations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.locations-header h1{margin:0;color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);flex:1;min-width:200px}.header-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.add-location-btn{background:linear-gradient(135deg,var(--color-accent-green),#219150);color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-5) var(--space-8);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.add-location-btn:hover{background:linear-gradient(135deg,#219150,#1e7e34);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.locations-page{padding:var(--space-6) var(--space-4)}.headerRow{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}.headerTitle{font-size:var(--text-2xl)}.locations-controls{padding:var(--space-5);margin-bottom:var(--space-6)}.search-section{flex-direction:column;gap:var(--space-3)}.search-section input{min-width:auto}.tabs{gap:var(--space-2);margin-bottom:var(--space-4)}.locations-grid{grid-template-columns:1fr;gap:var(--space-4)}.location-card{padding:var(--space-5)}.location-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.location-actions{align-self:flex-end}}@media (max-width: 480px){.locations-page{padding:var(--space-4) var(--space-3)}.headerRow{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl)}.headerTitle{font-size:var(--text-xl)}.locations-controls,.location-card{padding:var(--space-4);border-radius:var(--radius-xl)}.location-header h3{font-size:var(--text-lg)}.tabs{gap:var(--space-1)}.tab{padding:var(--space-2) var(--space-3)!important;font-size:var(--text-sm)}.location-actions button{width:32px;height:32px;font-size:14px}.tag-filter-section{padding:var(--space-4);border-radius:var(--radius-lg)}}._mealCard_zaosj_1{background:var(--color-surface);border-radius:12px;padding:20px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border);transition:all .2s ease}._mealCard_zaosj_1:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}._mealHeader_zaosj_15{margin-bottom:12px}._mealName_zaosj_19{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:var(--color-text-primary);line-height:1.3}._mealMeta_zaosj_27{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-secondary);flex-wrap:wrap}._separator_zaosj_36{color:var(--color-text-muted)}._prepTime_zaosj_40,._totalTime_zaosj_41,._difficulty_zaosj_42{font-weight:500}._mealDescription_zaosj_46{color:var(--color-text-primary);line-height:1.5;margin:0 0 16px;font-size:.95rem}._mealActions_zaosj_53{margin-bottom:16px}._viewRecipeButton_zaosj_57{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}._viewRecipeButton_zaosj_57:hover{background:var(--color-primary-dark)}._recipeDetails_zaosj_73{border-top:1px solid var(--color-border);padding-top:20px;margin-top:16px}._fullRecipe_zaosj_79{margin-bottom:24px}._recipeTitle_zaosj_83{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--color-text-primary)}._recipeText_zaosj_90{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;font-size:.95rem}._ingredientsSection_zaosj_97{margin-bottom:24px}._ingredientsTitle_zaosj_101{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--color-text-primary)}._ingredientsList_zaosj_108{display:flex;flex-direction:column;gap:8px}._ingredientItem_zaosj_114{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}._ingredientItem_zaosj_114:hover{background:var(--color-surface-alt)}._ingredientCheckbox_zaosj_128{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}._ingredientText_zaosj_135{font-size:.95rem;color:var(--color-text-primary);flex:1}._recipeActions_zaosj_141{display:flex;flex-direction:column;gap:12px}._saveMealButton_zaosj_147{background:var(--color-accent-green);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}._saveMealButton_zaosj_147:hover:not(:disabled){background:#219150}._saveMealButton_zaosj_147:disabled{background:var(--color-text-muted);cursor:not-allowed}._grocerySection_zaosj_168{display:flex;flex-direction:column;gap:8px}._groceryListSelect_zaosj_174{padding:10px;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem;background:var(--color-surface);color:var(--color-text-primary)}._addToGroceryButton_zaosj_183{background:var(--color-accent-orange);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}._addToGroceryButton_zaosj_183:hover:not(:disabled){background:#e67e22}._addToGroceryButton_zaosj_183:disabled{background:var(--color-text-muted);cursor:not-allowed}@media (max-width: 768px){._mealCard_zaosj_1{padding:16px}._mealMeta_zaosj_27{flex-direction:column;align-items:flex-start;gap:4px}._separator_zaosj_36{display:none}._recipeActions_zaosj_141{gap:8px}._grocerySection_zaosj_168{gap:6px}}._alterRecipeButton_zaosj_228{background:var(--color-accent-blue);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}._alterRecipeButton_zaosj_228:hover:not(:disabled){background:#2980b9}._alterationSection_zaosj_244{margin-top:16px;padding:16px;background:var(--color-surface-alt);border-radius:8px;border:1px solid var(--color-border)}._alterationLabel_zaosj_252{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text-primary);font-size:.95rem}._alterationTextarea_zaosj_260{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;margin-bottom:12px;background:var(--color-surface);color:var(--color-text-primary)}._alterationTextarea_zaosj_260:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}._submitAlterationButton_zaosj_279{background:var(--color-accent-orange);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}._submitAlterationButton_zaosj_279:hover:not(:disabled){background:#e67e22}._submitAlterationButton_zaosj_279:disabled{background:var(--color-text-muted);cursor:not-allowed}._alterationInfo_zaosj_300{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.85rem}._characterCount_zaosj_308{color:var(--color-text-secondary)}._loadingMessage_zaosj_312{color:var(--color-accent-orange);font-weight:500}._aiMealPlannerContainer_1ubni_1{padding:24px 16px;background:var(--color-bg);min-height:100vh}._header_1ubni_7{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}._pageTitle_1ubni_14{font-size:1.5rem;font-weight:600}._content_1ubni_19{display:flex;flex-direction:column;gap:24px}._formSection_1ubni_25{background:var(--color-surface);border-radius:12px;padding:24px;box-shadow:var(--shadow-soft)}._sectionTitle_1ubni_32{font-size:1.25rem;font-weight:600;margin:0 0 20px;color:var(--color-text-primary)}._mealForm_1ubni_39{display:flex;flex-direction:column;gap:20px}._formGroup_1ubni_45{display:flex;flex-direction:column;gap:8px}._label_1ubni_51{font-weight:500;color:var(--color-text-primary);font-size:.95rem}._input_1ubni_57,._select_1ubni_58{padding:12px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease}._input_1ubni_57:focus,._select_1ubni_58:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f80ed1a}._input_1ubni_57::placeholder{color:var(--color-text-muted)}._checkboxGroup_1ubni_79{display:flex;gap:20px;flex-wrap:wrap}._checkboxLabel_1ubni_85{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem;color:var(--color-text-primary)}._checkbox_1ubni_79{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}._submitButton_1ubni_101{background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:8px}._submitButton_1ubni_101:hover:not(:disabled){background-color:var(--color-primary-dark)}._submitButton_1ubni_101:disabled{background-color:var(--color-text-muted);cursor:not-allowed}._usageInfo_1ubni_123{margin-top:16px;padding:12px;background:var(--color-surface-alt);border-radius:8px;text-align:center;font-size:.9rem;color:var(--color-text-secondary)}._usageNote_1ubni_133{margin:4px 0 0;font-size:.8rem;color:var(--color-text-muted);font-style:italic}._errorMessage_1ubni_140{background:#dc3545;color:#fff;padding:16px;border-radius:8px;text-align:center;font-size:.95rem}._resultsSection_1ubni_149{background:var(--color-surface);border-radius:12px;padding:24px;box-shadow:var(--shadow-soft)}._mealsGrid_1ubni_156{display:flex;flex-direction:column;gap:20px;margin-top:20px}._fallbackNotice_1ubni_163{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}._fallbackNotice_1ubni_163 p{margin:0;color:#856404;font-weight:500}._loadingMessage_1ubni_178{margin-top:16px;text-align:center;padding:16px;background:var(--color-surface-alt);border-radius:8px}._loadingMessage_1ubni_178 p{margin:0 0 12px;color:var(--color-text-secondary);font-size:.95rem}._loadingSpinner_1ubni_192{width:24px;height:24px;border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;animation:_spin_1ubni_1 1s linear infinite;margin:0 auto}@keyframes _spin_1ubni_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){._aiMealPlannerContainer_1ubni_1{padding:16px 12px}._formSection_1ubni_25,._resultsSection_1ubni_149{padding:20px}._checkboxGroup_1ubni_79{flex-direction:column;gap:12px}._submitButton_1ubni_101{padding:12px 20px}}.request-password-reset-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ds-brand) 0%,var(--ds-brand) 100%);padding:20px}.request-password-reset-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.request-password-reset-container h1{text-align:center;color:#333;margin-bottom:10px;font-size:28px;font-weight:600}.request-password-reset-form{display:flex;flex-direction:column;gap:20px}.back-to-login{background:none;border:none;color:var(--ds-brand);font-size:14px;cursor:pointer;text-decoration:underline;transition:color .2s ease}.back-to-login:hover{color:#1d4ed8}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ds-brand) 0%,var(--ds-brand) 100%);padding:20px}.reset-password-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:450px}.reset-password-container h1{text-align:center;color:#333;margin-bottom:10px;font-size:28px;font-weight:600}.description{text-align:center;color:#666;margin-bottom:30px;line-height:1.5}.reset-password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#333;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--ds-brand)}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group input.error{border-color:#dc3545}.validation-errors{margin-top:8px}.validation-error{color:#dc3545;font-size:12px;margin-bottom:4px}.password-requirements{background-color:#f8f9fa;padding:16px;border-radius:8px;border:1px solid #e9ecef}.password-requirements h4{margin:0 0 12px;color:#333;font-size:14px;font-weight:600}.password-requirements ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.password-requirements li{font-size:12px;display:flex;align-items:center;gap:8px}.password-requirements li:before{content:"";width:12px;height:12px;border-radius:50%;flex-shrink:0}.password-requirements li.met{color:#28a745}.password-requirements li.met:before{background-color:#28a745;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");background-size:8px;background-position:center;background-repeat:no-repeat}.password-requirements li.not-met{color:#6c757d}.password-requirements li.not-met:before{background-color:#6c757d}.submit-button{background:linear-gradient(135deg,var(--ds-brand) 0%,var(--ds-brand) 100%);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #2563eb33}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;text-align:center}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.links{margin-top:30px;text-align:center}.request-new-link{background:none;border:none;color:var(--ds-brand);font-size:14px;cursor:pointer;text-decoration:underline;transition:color .2s ease}.request-new-link:hover{color:#1d4ed8}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.verify-email-container{width:100%;max-width:500px}.verify-email-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.verify-email-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;text-align:center}.verify-email-header h1{margin:0;font-size:24px;font-weight:600}.verify-email-content{padding:40px 30px;text-align:center}.verifying-state{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.verifying-state p{color:#666;font-size:16px;margin:0}.success-state{display:flex;flex-direction:column;align-items:center;gap:20px}.success-icon{width:60px;height:60px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}.success-state h2{color:#333;margin:0;font-size:24px;font-weight:600}.success-state p{color:#666;font-size:16px;margin:0;line-height:1.5}.error-state{display:flex;flex-direction:column;align-items:center;gap:20px}.error-icon{width:60px;height:60px;background:#f44336;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}.error-state h2{color:#333;margin:0;font-size:24px;font-weight:600}.error-state p{color:#666;font-size:16px;margin:0;line-height:1.5}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.login-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.resend-button{background:transparent;color:#667eea;border:2px solid #667eea;padding:10px 22px;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-left:10px}.resend-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.error-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}@media (max-width: 600px){.verify-email-page{padding:10px}.verify-email-header,.verify-email-content{padding:20px}.verify-email-header h1,.success-state h2,.error-state h2{font-size:20px}.error-actions{flex-direction:column;align-items:center}.resend-button{margin-left:0;margin-top:10px}}.not-found-page{min-height:100vh;background:var(--color-bg);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.not-found-container{background:var(--color-surface);border-radius:16px;padding:40px 24px;text-align:center;box-shadow:var(--shadow-medium);max-width:400px;width:100%}.not-found-content{display:flex;flex-direction:column;align-items:center;gap:24px}.not-found-title{font-size:4rem;font-weight:700;color:var(--color-primary);margin:0;line-height:1}.not-found-subtitle{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.not-found-description{font-size:1rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.not-found-actions{display:flex;justify-content:center;width:100%;max-width:280px}.not-found-btn{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;width:100%}.not-found-btn.primary{background:var(--color-primary);color:#fff}.not-found-btn.primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}@media (min-width: 768px){.not-found-container{padding:60px 40px;max-width:500px}.not-found-title{font-size:5rem}.not-found-subtitle{font-size:1.75rem}.not-found-actions{max-width:200px}}
