:root{--color-bg: #F8F9FB;--color-surface: #FFFFFF;--color-surface-alt: #F1F3F6;--color-text-primary: #1A1A1A;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--color-primary: #2F80ED;--color-primary-dark: #1C60C4;--color-border: #E5E7EB;--color-accent-green: #27AE60;--color-accent-orange: #F2994A;--color-accent-blue: #3498DB;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .05);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .08);background-color:var(--color-bg);color:var(--color-text-primary)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;width:100vw;max-width:100vw;margin:0;box-sizing:border-box}.commentAddButton{background:#27ae60;color:#fff;border:none;border-radius:8px;padding:12px 0;font-size:1.1rem;font-weight:500;cursor:pointer;margin-top:8px;width:100%;transition:background .2s}.commentAddButton:hover{background:#219150}.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:#3b82f6;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}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%;transition:all .2s ease;box-shadow:var(--shadow-soft)}button:hover,.authButton:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-medium)}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(--color-primary)}.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}._form_1ev9z_1{background:var(--color-surface);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px;margin-bottom:2rem;display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box}._formTitle_1ev9z_14{font-size:1.3rem;font-weight:700;margin-bottom:8px;color:var(--color-text-primary)}._inputRow_1ev9z_21{display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;gap:12px;width:100%;box-sizing:border-box}._input_1ev9z_21,._inputName_1ev9z_30,._inputQty_1ev9z_30,._inputUnit_1ev9z_30,._inputCategory_1ev9z_30{width:0!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;flex-basis:auto!important;flex-shrink:1!important}._inputName_1ev9z_30{flex:3 1 0!important}._inputQty_1ev9z_30,._inputUnit_1ev9z_30,._inputCategory_1ev9z_30{flex:1 1 0!important}._input_1ev9z_21{flex:1;padding:14px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-primary);font-size:1rem;margin-bottom:0}._select_1ev9z_55{padding:14px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-primary);font-size:1rem;margin-bottom:0;box-sizing:border-box}._addButton_1ev9z_66{background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:14px 0;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:8px;transition:background .2s;width:100%}._addButton_1ev9z_66:hover{background:var(--color-primary-dark)}@media (max-width: 600px){._form_1ev9z_1{padding:12px 6px;width:100%}._inputRow_1ev9z_21{flex-direction:column!important;gap:8px}._input_1ev9z_21,._inputName_1ev9z_30,._inputQty_1ev9z_30,._inputUnit_1ev9z_30,._inputCategory_1ev9z_30{width:100%!important;flex:1 1 0!important}._input_1ev9z_21,._select_1ev9z_55{font-size:1.05rem;padding:14px 10px}._addButton_1ev9z_66{font-size:1.05rem;padding:14px 0}}._item_1qha6_1{background:var(--color-surface);border-radius:18px;display:flex;align-items:center;padding:18px 20px;margin-bottom:16px;transition:background .2s,box-shadow .2s;box-shadow:var(--shadow-soft);min-height:48px;width:100%;box-sizing:border-box}._dragHandle_1qha6_15{font-size:2.2rem;color:var(--color-text-muted);margin-right:22px;cursor:grab;-webkit-user-select:none;user-select:none}._itemText_1qha6_23{color:var(--color-text-primary);font-size:1.1rem;flex-grow:1;text-decoration:var(--strike, none)}._controls_1qha6_30{display:flex;align-items:center;gap:12px;height:100%;justify-content:center}._checkbox_1qha6_38{width:28px;height:28px;accent-color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0}._deleteButton_1qha6_48{background:none;border:none;font-size:1.2rem;color:#e74c3c;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0}._purchased_1qha6_62{opacity:.6;text-decoration:line-through}@media (max-width: 600px){._item_1qha6_1{padding:10px 6px;min-height:40px}._controls_1qha6_30{gap:8px}._itemText_1qha6_23{font-size:1rem}._dragHandle_1qha6_15{font-size:2.7rem;margin-right:28px}}._groceryItemsList_m6lxx_1{width:100%;margin:0;padding:0;list-style:none}._threadContainer_mha65_1{margin-top:32px;background:var(--color-surface);padding:24px;border-radius:12px;box-shadow:var(--shadow-soft);color:var(--color-text-primary)}._threadTitle_mha65_10{font-size:1.25rem;font-weight:600;margin-bottom:16px}._commentsList_mha65_16{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}._commentCard_mha65_23{border-bottom:1px solid var(--color-border);padding-bottom:12px}._commentHeader_mha65_28{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:12px}._commentUser_mha65_37{font-weight:600;color:var(--color-text-primary)}._commentDate_mha65_42{font-size:.85rem;color:var(--color-text-secondary);margin-left:6px}._commentText_mha65_48{font-size:1rem;margin:4px 0 0;line-height:1.4}._replyBox_mha65_55{margin-top:8px;margin-left:0;border-left:none;background:none;border-radius:0;padding:0}._commentForm_mha65_66{margin-top:16px;display:flex;flex-direction:column;gap:12px}._textarea_mha65_73{width:100%;border-radius:10px;border:1px solid var(--color-border);padding:12px;font-size:1rem;background:var(--color-surface-alt);color:var(--color-text-primary);resize:vertical}._addButton_mha65_84{align-self:flex-start;background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:10px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}._addButton_mha65_84:hover{background:var(--color-primary-dark)}._clearButton_mha65_101{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}._clearButton_mha65_101:hover{color:#e74c3c}._archiveButton_mha65_118{all:unset;cursor:pointer;font-size:1.05rem;color:var(--color-text-muted);line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:4px;height:32px;width:32px;border-radius:6px;transition:background .2s ease}._archiveButton_mha65_118:hover{background:var(--color-surface-alt);color:#e74c3c}._replyButton_mha65_139{background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:500;cursor:pointer;margin-top:8px;display:inline-block;transition:all .2s ease}._replyButton_mha65_139:hover{background:var(--color-primary-dark)}._container_12050_58{background:var(--color-bg);min-height:100vh;padding:var(--space-8) var(--space-6);color:var(--color-text-primary);font-family:Inter,system-ui,sans-serif;width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box;position:relative;z-index:auto}._headerRow_12050_76{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);width:100%;min-height:60px;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_12050_76: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_12050_76:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}._headerTitle_12050_110{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;line-height:1.2;display:flex;align-items:center}._headerRight_12050_120{display:flex;align-items:center;gap:var(--space-3);height:100%}._backToListsButton_12050_131{width:100%;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);font-size:var(--text-base);font-weight:var(--font-medium);text-align:left;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-4);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}._backToListsButton_12050_131: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)}._backToListsButton_12050_131:hover{background:var(--color-surface-alt);transform:translate(8px);box-shadow:var(--shadow-md);color:var(--color-primary)}._backToListsButton_12050_131:hover:before{transform:scaleY(1)}._showPurchasedToggle_12050_177{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:var(--font-medium);margin-bottom:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-xs);transition:all var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none}._showPurchasedToggle_12050_177:hover{background:var(--color-surface-alt);box-shadow:var(--shadow-sm);transform:translateY(-1px)}._showPurchasedToggle_12050_177 input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary);transform:scale(1.2)}._showPurchasedToggle_12050_177 label{cursor:pointer;color:var(--color-text-primary);font-weight:var(--font-medium)}._groceryListSection_12050_218{width:100%;max-width:none;margin:0 0 var(--space-8) 0;padding:0}._groceryItemsList_12050_225{width:100%;margin:0;padding:0}._logoutButton_12050_235{background:linear-gradient(135deg,#374151,#1f2937);color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}._logoutButton_12050_235:hover{background:linear-gradient(135deg,#1f2937,#111827);transform:translateY(-2px);box-shadow:var(--shadow-md)}._clearPurchasedButton_12050_254{width:100%;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;margin-top:var(--space-5);margin-bottom:0;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}._clearPurchasedButton_12050_254: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}._clearPurchasedButton_12050_254:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:var(--shadow-lg)}._clearPurchasedButton_12050_254:hover:before{left:100%}._listSelector_12050_297{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-xs);border:1px solid var(--color-border)}._listButton_12050_310{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-xs)}._listButton_12050_310:hover{background:var(--color-surface);transform:translateY(-1px);box-shadow:var(--shadow-sm)}._listButton_12050_310._selected_12050_329{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}._deleteListButton_12050_336{background:transparent;border:none;color:#dc2626;font-size:var(--text-xl);cursor:pointer;margin-left:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-base)}._deleteListButton_12050_336:hover{background:#dc26261a;transform:scale(1.1)}._newListButton_12050_353{background:var(--color-accent-green);color:#fff;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;margin-left:var(--space-2);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}._newListButton_12050_353:hover{background:#219150;transform:translateY(-1px);box-shadow:var(--shadow-md)}._addListForm_12050_377{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-base)}._addListForm_12050_377:hover{box-shadow:var(--shadow-md)}._addListForm_12050_377 form{display:flex;gap:var(--space-3);width:100%;align-items:stretch}._addListInput_12050_401{flex:1 1 0;min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}._addListInput_12050_401:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-sm)}._addListSubmit_12050_421{flex:0 0 auto;padding:0 var(--space-5);white-space:nowrap;background:var(--color-accent-green);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}._addListSubmit_12050_421:hover{background:#219150;transform:translateY(-1px);box-shadow:var(--shadow-md)}._header_12050_76{font-size:var(--text-3xl);font-weight:var(--font-bold);text-align:center;margin-top:var(--space-2);margin-bottom:var(--space-6);color:var(--color-text-primary)}._topBar_12050_455{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}._showPurchased_12050_177{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);font-size:var(--text-base);justify-content:flex-start;white-space:nowrap}._divider_12050_474{border:none;border-top:2px solid var(--color-border);margin:var(--space-8) 0 var(--space-6) 0;opacity:.6}._showPurchasedButton_12050_481{display:none}@media (max-width: 768px){._container_12050_58{padding:var(--space-6) var(--space-4);width:100%;max-width:100%}._headerRow_12050_76{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5);min-height:50px}._headerTitle_12050_110{font-size:var(--text-2xl)}._headerRight_12050_120{gap:var(--space-2)}._showPurchasedToggle_12050_177{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}._addListForm_12050_377{padding:var(--space-4);margin-bottom:var(--space-5)}._listSelector_12050_297{padding:var(--space-3);margin-bottom:var(--space-5)}._listButton_12050_310,._newListButton_12050_353,._logoutButton_12050_235{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}._addListForm_12050_377 form{flex-direction:row;gap:var(--space-3)}._addListInput_12050_401{font-size:var(--text-base)}._addListSubmit_12050_421{font-size:var(--text-base);padding:0 var(--space-4)}._groceryListSection_12050_218{max-width:100%;padding:0}}@media (max-width: 480px){._container_12050_58{padding:var(--space-4) var(--space-3);width:100%;max-width:100%}._headerRow_12050_76{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);min-height:45px;border-radius:var(--radius-xl)}._headerTitle_12050_110{font-size:var(--text-xl)}._header_12050_76{font-size:var(--text-2xl)}._showPurchasedToggle_12050_177{padding:var(--space-3);margin-bottom:var(--space-4)}._addListForm_12050_377,._listSelector_12050_297{padding:var(--space-3);border-radius:var(--radius-xl)}._backToListsButton_12050_131{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}}@media (max-width: 475px){._container_12050_58{padding:var(--space-3) var(--space-2);width:100%;max-width:100%}._headerRow_12050_76{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}._showPurchasedToggle_12050_177{padding:var(--space-2) var(--space-3);gap:var(--space-2)}._addListForm_12050_377,._listSelector_12050_297{padding:var(--space-2)}}@media (max-width: 600px){._container_12050_58{padding:var(--space-2)}._header_12050_76{font-size:var(--text-2xl)}._listButton_12050_310,._newListButton_12050_353,._logoutButton_12050_235{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}._addListForm_12050_377 form{flex-direction:row;gap:var(--space-2)}._addListInput_12050_401{font-size:var(--text-base)}._addListSubmit_12050_421{font-size:var(--text-base);padding:0 var(--space-3)}._headerRow_12050_76{min-height:40px}._headerTitle_12050_110{font-size:var(--text-lg)}._groceryListSection_12050_218{max-width:100%;padding:0}._showPurchasedToggle_12050_177{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-5)}._showPurchasedToggle_12050_177 input[type=checkbox]{width:16px;height:16px}}._hamburgerMenu_fqup0_6{position:relative}._hamburgerButton_fqup0_10{background:none;color:var(--color-primary);font-size:2rem;padding:.3rem .8rem;cursor:pointer;transition:background .2s;border:none;border-radius:8px}._hamburgerButton_fqup0_10:hover{background:var(--color-surface-alt);color:var(--color-primary)}._menuDropdown_fqup0_26{position:absolute;right:0;top:110%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 10px 25px #00000026;z-index:10;min-width:160px;padding:8px 0}._menuItem_fqup0_39{background:none;border:none;color:var(--color-text-primary);font-size:.95rem;padding:10px 16px;width:100%;text-align:left;cursor:pointer;border-radius:6px;transition:background .2s}._menuItem_fqup0_39:hover{background:var(--color-surface-alt);color:var(--color-primary)}._menuDivider_fqup0_57{border:none;border-top:1px solid var(--color-border);margin:.5rem 0}._logoutItem_fqup0_63{color:#e74c3c}._logoutItem_fqup0_63:hover{background:#fcebea;color:#e74c3c}._container_t2ere_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_t2ere_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_t2ere_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_t2ere_79:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}._header_t2ere_79{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;line-height:1.2}._content_t2ere_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_t2ere_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_t2ere_123:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}._content_t2ere_123:hover:before{transform:scaleX(1)}._list_t2ere_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_t2ere_176{width:100%;margin:0}._listButton_t2ere_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_t2ere_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_t2ere_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_t2ere_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_t2ere_185:hover:before{transform:scaleY(1)}._listButton_t2ere_185:hover:after{left:100%}._listButton_t2ere_185:active{transform:translateY(-2px) translate(4px);box-shadow:var(--shadow-sm)}._form_t2ere_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_t2ere_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_t2ere_255:hover{box-shadow:var(--shadow-sm);background:var(--color-surface)}._form_t2ere_255:hover:before{transform:scaleX(1)}._form_t2ere_255:focus-within{box-shadow:var(--shadow-md);background:var(--color-surface);border-color:var(--color-primary)}._form_t2ere_255:focus-within:before{transform:scaleX(1)}._input_t2ere_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_t2ere_307::placeholder{color:var(--color-text-muted);font-weight:var(--font-normal)}._input_t2ere_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_t2ere_307:hover:not(:focus){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}._createButton_t2ere_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_t2ere_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_t2ere_346:hover{background:linear-gradient(135deg,var(--color-primary-dark),#1C60C4);transform:translateY(-2px);box-shadow:var(--shadow-lg)}._createButton_t2ere_346:hover:before{left:100%}._createButton_t2ere_346:active{transform:translateY(0);box-shadow:var(--shadow-sm)}._createButton_t2ere_346:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d,var(--shadow-lg)}._form_t2ere_255>._createButton_t2ere_346{height:56px}._content_t2ere_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_t2ere_58{padding:var(--space-6) var(--space-4)}._headerRow_t2ere_79{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}._header_t2ere_79{font-size:var(--text-2xl)}._content_t2ere_123{padding:var(--space-6);gap:var(--space-6)}._list_t2ere_166{grid-template-columns:1fr;gap:var(--space-4)}._listButton_t2ere_185{padding:var(--space-6) var(--space-5);font-size:var(--text-base);min-height:70px}._form_t2ere_255{flex-direction:column;gap:var(--space-4);align-items:stretch;margin-top:var(--space-6);padding:var(--space-5)}._input_t2ere_307,._createButton_t2ere_346{height:48px}._createButton_t2ere_346{padding:0 var(--space-6);font-size:var(--text-sm)}}@media (max-width: 480px){._container_t2ere_58{padding:var(--space-4) var(--space-3)}._headerRow_t2ere_79{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-radius:var(--radius-xl)}._header_t2ere_79{font-size:var(--text-xl)}._content_t2ere_123{padding:var(--space-5);gap:var(--space-5);border-radius:var(--radius-xl)}._listButton_t2ere_185{padding:var(--space-5) var(--space-4);font-size:var(--text-sm);min-height:60px;border-radius:var(--radius-xl)}._form_t2ere_255{gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-xl)}._input_t2ere_307{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);height:44px}._createButton_t2ere_346{height:44px;padding:0 var(--space-5);font-size:var(--text-sm)}}@media (max-width: 320px){._container_t2ere_58{padding:var(--space-3) var(--space-2)}._headerRow_t2ere_79{padding:var(--space-3) var(--space-4)}._content_t2ere_123{padding:var(--space-4)}._form_t2ere_255{padding:var(--space-3)}._list_t2ere_166{gap:var(--space-3)}._listButton_t2ere_185{padding:var(--space-4);min-height:50px}}._newListRow_t2ere_552{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);width:100%}._newListInput_t2ere_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_t2ere_560:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}._newListButton_t2ere_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_t2ere_577:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.family-invite-notice{background:linear-gradient(135deg,#2f80ed,#1c60c4);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:#2f80ed;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:#3498db;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,#3b82f6,#2563eb);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,#2563eb,#1d4ed8);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),#1C60C4);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),#1C60C4);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),#1C60C4);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),#1C60C4);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_gqw3v_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_gqw3v_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_gqw3v_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_gqw3v_72:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}._headerTitle_gqw3v_102{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;color:var(--color-text-primary);line-height:1.2}._header_gqw3v_72{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}._header_gqw3v_72 h1{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0;color:var(--color-text-primary)}._addButton_gqw3v_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_gqw3v_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_gqw3v_128:hover{background:linear-gradient(135deg,var(--color-primary-dark),#1C60C4);transform:translateY(-2px);box-shadow:var(--shadow-md)}._addButton_gqw3v_128:hover:before{left:100%}._addButton_gqw3v_128:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs);opacity:.6}._addButton_gqw3v_128:disabled:before{display:none}._formContainer_gqw3v_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_gqw3v_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_gqw3v_181:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}._formContainer_gqw3v_181:hover:before{transform:scaleX(1)}._form_gqw3v_181{display:flex;flex-direction:column;gap:var(--space-6)}._form_gqw3v_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_gqw3v_229{display:flex;flex-direction:column;gap:var(--space-2)}._formGroup_gqw3v_229 label{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-sm)}._formGroup_gqw3v_229 input,._formGroup_gqw3v_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_gqw3v_229 input:focus,._formGroup_gqw3v_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_gqw3v_229 input:hover:not(:focus),._formGroup_gqw3v_229 select:hover:not(:focus){border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}._formRow_gqw3v_270{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}._formActions_gqw3v_280{display:flex;gap:var(--space-4);margin-top:var(--space-5)}._submitButton_gqw3v_286,._cancelButton_gqw3v_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_gqw3v_286{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;overflow:hidden}._submitButton_gqw3v_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_gqw3v_286:hover{background:linear-gradient(135deg,var(--color-primary-dark),#1C60C4);transform:translateY(-2px);box-shadow:var(--shadow-md)}._submitButton_gqw3v_286:hover:before{left:100%}._cancelButton_gqw3v_287{background:var(--color-surface-alt);color:var(--color-text-primary);border:1px solid var(--color-border)}._cancelButton_gqw3v_287:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-primary)}._itemsList_gqw3v_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_gqw3v_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_gqw3v_342:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}._itemsList_gqw3v_342:hover:before{transform:scaleX(1)}._emptyMessage_gqw3v_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_gqw3v_384{width:100%;border-collapse:collapse;text-align:left;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs)}._table_gqw3v_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_gqw3v_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_gqw3v_384 tr:hover{background:var(--color-surface-alt);transform:translate(4px);transition:all var(--transition-base)}._table_gqw3v_384 tr:last-child td{border-bottom:none}._editButton_gqw3v_426,._deleteButton_gqw3v_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_gqw3v_426{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}._editButton_gqw3v_426:hover{background:linear-gradient(135deg,var(--color-primary-dark),#1C60C4);transform:translateY(-1px);box-shadow:var(--shadow-sm)}._deleteButton_gqw3v_427{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}._deleteButton_gqw3v_427:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:var(--shadow-sm)}._hamburgerButton_gqw3v_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_gqw3v_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_gqw3v_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_gqw3v_492:hover{background:var(--color-accent-green);color:#fff}._homeButton_gqw3v_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_gqw3v_510:hover{background:var(--color-accent-green);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){._container_gqw3v_58{padding:var(--space-6) var(--space-4)}._headerRow_gqw3v_72{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-5)}._headerTitle_gqw3v_102{font-size:var(--text-2xl)}._formContainer_gqw3v_181{padding:var(--space-6);margin-bottom:var(--space-6)}._formRow_gqw3v_270{grid-template-columns:1fr;gap:var(--space-4)}._formActions_gqw3v_280{flex-direction:column;gap:var(--space-3)}._submitButton_gqw3v_286,._cancelButton_gqw3v_287{width:100%}._itemsList_gqw3v_342{padding:var(--space-6)}._table_gqw3v_384{font-size:var(--text-sm)}._table_gqw3v_384 th,._table_gqw3v_384 td{padding:var(--space-3)}._editButton_gqw3v_426,._deleteButton_gqw3v_427{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}}@media (max-width: 480px){._container_gqw3v_58{padding:var(--space-4) var(--space-3)}._headerRow_gqw3v_72{padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl)}._headerTitle_gqw3v_102{font-size:var(--text-xl)}._formContainer_gqw3v_181,._itemsList_gqw3v_342{padding:var(--space-5);border-radius:var(--radius-xl)}._form_gqw3v_181 h2{font-size:var(--text-xl)}._table_gqw3v_384 th,._table_gqw3v_384 td{padding:var(--space-2);font-size:var(--text-xs)}._formActions_gqw3v_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:#007bff;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-bg: #FAFBFC;--color-surface: #FFFFFF;--color-surface-alt: #F8FAFC;--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-text-inverse: #FFFFFF;--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #DBEAFE;--color-primary-hover: #60A5FA;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-focus: #3B82F6;--color-accent-green: #10B981;--color-accent-orange: #F59E0B;--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-bg: #FAFBFC;--color-surface: #FFFFFF;--color-surface-alt: #F8FAFC;--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-text-inverse: #FFFFFF;--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #DBEAFE;--color-primary-hover: #60A5FA;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-focus: #3B82F6;--color-accent-green: #10B981;--color-accent-orange: #F59E0B;--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-bg: #FAFBFC;--color-surface: #FFFFFF;--color-surface-alt: #F8FAFC;--color-surface-hover: #F1F5F9;--color-surface-elevated: #FFFFFF;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-text-inverse: #FFFFFF;--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #DBEAFE;--color-primary-hover: #60A5FA;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-focus: #3B82F6;--color-accent-green: #10B981;--color-accent-orange: #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}.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:#007bff;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:#007bff;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:#007bff;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:#007bff;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:#007bff;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:#007bff;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:#007bff;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),#1C60C4);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),#1C60C4);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,#2563eb,#3b82f6);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:#2563eb;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,#2563eb,#3b82f6);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:#2563eb}.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,#2563eb,#3b82f6);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:#2563eb;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}}
