:root{--color-bg: #f5f4f0;--color-surface: #ffffff;--color-surface-soft: #f0ece4;--color-primary: #2f6f4e;--color-primary-soft: #e0f1e7;--color-accent: #e1864b;--color-text-main: #1f2933;--color-text-muted: #6b7280;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text-main);background-color:var(--color-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;background-color:var(--color-bg)}button{font-family:inherit}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}._appWrapper_15uvx_1{min-height:100vh;display:grid;grid-template-rows:auto 1fr;background-color:var(--color-bg)}._header_15uvx_8{background:linear-gradient(135deg,#2f6f4e,#244c39);display:grid;grid-template-rows:auto auto;box-shadow:0 2px 12px #0f172a40}._logoWrapper_15uvx_15{display:flex;justify-content:center;padding:.9rem .4rem}._logo_15uvx_15{width:110px;height:auto;object-fit:contain;border-radius:999px;background-color:#fdfaf5;box-shadow:0 8px 22px #0f172a47}._nav_15uvx_30{background-color:#0f172afa}._navList_15uvx_34{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:1.5rem;align-items:center}._navItem_15uvx_44{background:transparent;border:none;color:#e5e7eb;padding:.8rem .5rem;font-size:1rem;font-family:inherit;cursor:pointer;text-decoration:none;display:inline-block;position:relative;transition:color .18s ease,transform .18s ease}._navItem_15uvx_44:hover{color:#fff;transform:translateY(-1px)}._navItemActive_15uvx_63{color:#fff;border-bottom:3px solid var(--color-accent)}._main_15uvx_68{display:flex;justify-content:center;align-items:center;padding:2.5rem 1.25rem 3rem}._loginStatus_15uvx_76{display:flex;align-items:center;gap:.5rem}._username_15uvx_82{color:#94a3b8;font-size:.9rem;margin-right:.5rem;pointer-events:none}._page_juyyw_1{width:100%;max-width:720px;display:flex;justify-content:center}._card_juyyw_8{background-color:var(--color-surface);padding:2.5rem 2.25rem;border-radius:18px;display:grid;grid-template-rows:auto auto auto;justify-items:center;gap:.9rem;width:100%;box-shadow:0 18px 45px #0f172a26;border:1px solid rgba(148,163,184,.35)}._logo_juyyw_21{width:88px;height:auto;object-fit:contain}._title_juyyw_27{margin:0;font-size:1.8rem;letter-spacing:.03em;color:var(--color-primary)}._text_juyyw_34{margin:0;text-align:center;color:var(--color-text-muted)}._button_juyyw_40{background-color:var(--color-primary);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;margin-top:1rem;transition:opacity .2s}._button_juyyw_40:hover{opacity:.9}._recipeModalOverlay_1ywv9_1{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}._recipeModalContainer_1ywv9_15{background-color:var(--color-surface);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(148,163,184,.3)}._recipeModalCloseButton_1ywv9_27{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:10}._recipeModalCloseButton_1ywv9_27:hover{background-color:var(--color-surface-soft);color:var(--color-text-main)}._recipeModalContent_1ywv9_51{padding:2.5rem 2rem 2rem}._recipeModalHeader_1ywv9_55{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}._recipeModalTitle_1ywv9_63{margin:0;font-size:1.8rem;font-weight:600;color:var(--color-text-main);flex:1}._recipeModalCategoryBadge_1ywv9_71{padding:.4rem .9rem;border-radius:8px;background-color:var(--color-primary-soft);color:var(--color-primary);font-size:.8rem;font-weight:600;text-transform:uppercase;white-space:nowrap}._recipeModalDescription_1ywv9_82{margin:0 0 2rem;color:var(--color-text-muted);font-size:1rem;line-height:1.6}._recipeModalStatusMessage_1ywv9_89{padding:2rem;text-align:center;color:var(--color-text-muted)}._ingredientsSection_1ywv9_95{margin-top:2rem}._ingredientsSectionTitle_1ywv9_99{margin:0 0 1.5rem;font-size:1.3rem;font-weight:600;color:var(--color-primary)}._ingredientsListContainer_1ywv9_106{display:flex;flex-direction:column;gap:.75rem}._ingredientListItem_1ywv9_112{padding:.75rem;background-color:var(--color-surface-soft);border-radius:8px;border:1px solid rgba(148,163,184,.2)}._ingredientListItemInfo_1ywv9_119{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;gap:.5rem}._ingredientListItemNameWrapper_1ywv9_127{display:flex;align-items:center;gap:.5rem;flex:1;flex-wrap:wrap}._ingredientListItemRight_1ywv9_135{display:flex;align-items:center;gap:.5rem;flex-shrink:0}._ingredientListItemName_1ywv9_127{font-weight:600;color:var(--color-text-main);font-size:1rem}._ingredientListItemAmount_1ywv9_148{color:var(--color-primary);font-weight:500;font-size:.9rem}._ingredientListItemPreparation_1ywv9_154{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.85rem;font-style:italic}._ingredientListItemDescription_1ywv9_161{color:var(--color-text-muted);font-size:.85rem;font-style:italic}._ingredientNutritionContainer_1ywv9_167{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.2)}._ingredientNutritionTitle_1ywv9_173{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--color-primary)}._ingredientNutritionGrid_1ywv9_180{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}._ingredientNutritionItem_1ywv9_186{display:flex;flex-direction:column;gap:.15rem;padding:.4rem;background-color:var(--color-surface);border-radius:4px}._ingredientNutritionLabel_1ywv9_195{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;font-weight:500}._ingredientNutritionValue_1ywv9_202{font-size:.85rem;color:var(--color-text-main);font-weight:600}._ingredientNutritionToggle_1ywv9_208{width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--color-primary);background-color:var(--color-surface);color:var(--color-primary);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}._ingredientNutritionToggle_1ywv9_208:hover{background-color:var(--color-primary-soft);transform:scale(1.1)}._ingredientNutritionToggleActive_1ywv9_230{background-color:var(--color-primary);color:#fff}._recipesPage_hmmzs_1{width:100%;max-width:720px;display:grid;justify-content:center}._recipesCard_hmmzs_8{background-color:var(--color-surface);padding:2.25rem 2rem;border-radius:16px;display:grid;grid-template-rows:auto auto 1fr;gap:1.5rem;width:100%;box-shadow:0 16px 40px #0f172a21;border:1px solid rgba(148,163,184,.3)}._recipesTitle_hmmzs_20{margin:0;font-size:1.6rem;color:var(--color-primary)}._categoryFilterButtons_hmmzs_26{display:flex;flex-wrap:wrap;width:100%;gap:.75rem}._categoryFilterButton_hmmzs_26{padding:.6rem 1.25rem;border:2px solid var(--color-primary);border-radius:8px;background-color:var(--color-surface);color:var(--color-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}._categoryFilterButton_hmmzs_26:hover{background-color:var(--color-primary-soft);transform:translateY(-1px)}._categoryFilterButtonActive_hmmzs_50{background-color:var(--color-primary);color:#fff}._categoryFilterButtonActive_hmmzs_50:hover{background-color:var(--color-primary);transform:translateY(0)}._statusMessage_hmmzs_60{text-align:center;color:var(--color-text-muted);font-size:1.1rem;padding:2rem 0}._errorMessage_hmmzs_67{text-align:center;color:#dc2626;font-size:1.1rem;padding:2rem 0}._recipesScrollContainer_hmmzs_74{max-height:560px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}._recipesScrollContainer_hmmzs_74::-webkit-scrollbar{width:8px}._recipesScrollContainer_hmmzs_74::-webkit-scrollbar-track{background:var(--color-surface-soft);border-radius:4px}._recipesScrollContainer_hmmzs_74::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}._recipesScrollContainer_hmmzs_74::-webkit-scrollbar-thumb:hover{background:var(--color-primary);opacity:.8}._recipesGrid_hmmzs_100{display:grid;grid-template-columns:1fr;gap:1.5rem}._recipeCardItem_hmmzs_106{background-color:var(--color-surface-soft);padding:1.5rem;border-radius:12px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px #0f172a14;border:1px solid rgba(148,163,184,.2);transition:all .2s ease;cursor:pointer}._recipeCardItem_hmmzs_106:hover{box-shadow:0 8px 24px #0f172a1f;transform:translateY(-3px);border-color:var(--color-primary);background-color:var(--color-surface)}._recipeCardHeader_hmmzs_126{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}._recipeCardTitle_hmmzs_133{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-main);flex:1}._recipeCategoryBadge_hmmzs_141{padding:.25rem .75rem;border-radius:6px;background-color:var(--color-primary-soft);color:var(--color-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}._recipeCardDescription_hmmzs_152{margin:0;color:var(--color-text-muted);font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}._recipeCardFooter_hmmzs_163{margin-top:auto;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.2)}._recipeIngredientCount_hmmzs_169{font-size:.85rem;color:var(--color-text-muted);font-weight:500}._page_4nbcp_1{width:100%;max-width:720px;display:flex;justify-content:center}._card_4nbcp_8{background-color:var(--color-surface);padding:2.25rem 2rem;border-radius:16px;display:grid;grid-template-rows:auto auto 1fr;gap:1.5rem;width:100%;box-shadow:0 16px 40px #0f172a21;border:1px solid rgba(148,163,184,.3)}._title_4nbcp_20{margin:0;font-size:1.6rem;color:var(--color-primary)}._message_4nbcp_26{text-align:center;color:var(--color-text-muted);font-size:1.1rem;padding:2rem 0}._error_4nbcp_33{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}._success_4nbcp_45{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}._dismissButton_4nbcp_57{padding:.4rem .8rem;border:none;border-radius:6px;background-color:#0000001a;color:inherit;font-size:.85rem;cursor:pointer;transition:background-color .2s ease}._dismissButton_4nbcp_57:hover{background-color:#0003}._scrollContainer_4nbcp_72{max-height:600px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}._scrollContainer_4nbcp_72::-webkit-scrollbar{width:8px}._scrollContainer_4nbcp_72::-webkit-scrollbar-track{background:var(--color-surface-soft);border-radius:4px}._scrollContainer_4nbcp_72::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}._scrollContainer_4nbcp_72::-webkit-scrollbar-thumb:hover{background:var(--color-primary);opacity:.8}._userList_4nbcp_98{display:flex;flex-direction:column;gap:.5rem}._userRow_4nbcp_104{background-color:var(--color-surface-soft);border-radius:8px;border:1px solid rgba(148,163,184,.2);overflow:hidden;transition:all .2s ease}._userRow_4nbcp_104:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0f172a14}._userRowHeader_4nbcp_117{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background-color .2s ease;gap:1rem}._userRowHeader_4nbcp_117:hover{background-color:#94a3b80d}._userRowInfo_4nbcp_131{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}._userRowName_4nbcp_139{font-size:1rem;font-weight:600;color:var(--color-text-main)}._userRowRoles_4nbcp_145{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._expandIcon_4nbcp_153{font-size:.75rem;color:var(--color-primary);flex-shrink:0;transition:transform .2s ease}._userRowContent_4nbcp_160{border-top:1px solid rgba(148,163,184,.2);background-color:var(--color-surface)}._expandedSection_4nbcp_165{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}._rolesSection_4nbcp_172{display:flex;flex-direction:column;gap:.75rem}._rolesTitle_4nbcp_178{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}._rolesList_4nbcp_187{display:flex;flex-wrap:wrap;gap:.5rem}._roleBadge_4nbcp_193{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:6px;background-color:var(--color-primary-soft);color:var(--color-primary);font-size:.85rem;font-weight:600}._removeRoleButton_4nbcp_205{background:none;border:none;color:var(--color-primary);font-size:1.2rem;line-height:1;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}._removeRoleButton_4nbcp_205:hover{background-color:#0000001a}._noRoles_4nbcp_226{margin:0;color:var(--color-text-muted);font-size:.9rem;font-style:italic}._addRoleSection_4nbcp_233{display:flex;flex-direction:column;gap:.75rem}._addRoleForm_4nbcp_239{display:flex;gap:.75rem;align-items:flex-start}._roleSelect_4nbcp_245{flex:1;padding:.6rem 1rem;border:2px solid var(--color-primary);border-radius:8px;background-color:var(--color-surface);color:var(--color-text-main);font-size:.9rem;cursor:pointer;transition:border-color .2s ease}._roleSelect_4nbcp_245:focus{outline:none;border-color:var(--color-primary)}._addButton_4nbcp_262{padding:.6rem 1.25rem;border:none;border-radius:8px;background-color:var(--color-primary);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}._addButton_4nbcp_262:hover:not(:disabled){background-color:var(--color-primary);opacity:.9;transform:translateY(-1px)}._addButton_4nbcp_262:disabled{opacity:.5;cursor:not-allowed}._deleteSection_4nbcp_286{padding-top:.75rem;border-top:1px solid rgba(148,163,184,.2)}._deleteUserButton_4nbcp_291{width:100%;padding:.75rem 1.25rem;border:2px solid #dc2626;border-radius:8px;background-color:var(--color-surface);color:#dc2626;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}._deleteUserButton_4nbcp_291:hover:not(:disabled){background-color:#fee2e2;color:#991b1b;transform:translateY(-1px)}._deleteUserButton_4nbcp_291:disabled{opacity:.5;cursor:not-allowed}._roleSelect_4nbcp_245:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-surface-soft)}._disabledHint_4nbcp_321{margin:.5rem 0 0;font-size:.85rem;color:var(--color-text-muted);font-style:italic}._page_5h999_1{width:100%;display:flex;justify-content:center}._shell_5h999_7{width:min(980px,100%);padding:2.5rem 1.5rem 3rem}._card_5h999_12{background:radial-gradient(circle at top left,#f8f4ec,#efe7da);border-radius:26px;padding:2.2rem 2.4rem;box-shadow:0 26px 70px #0f172a38;border:1px solid rgba(148,163,184,.5);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.2rem}._brandPanel_5h999_23{display:grid;grid-template-rows:auto auto auto;gap:1rem;align-content:center}._logo_5h999_30{width:82px;height:82px;border-radius:999px;background-color:#fdfaf5;box-shadow:0 12px 30px #0f172a2e;object-fit:contain}._title_5h999_39{margin:0;font-size:1.9rem;color:var(--color-primary)}._subtitle_5h999_45{margin:0;color:var(--color-text-muted)}._formPanel_5h999_50{background-color:var(--color-surface);padding:1.9rem 1.8rem;border-radius:20px;box-shadow:0 18px 45px #0f172a29;border:1px solid rgba(148,163,184,.35);display:flex;align-items:center}._form_5h999_50{display:grid;grid-template-rows:auto auto auto;gap:1.5rem;width:100%}._field_5h999_67{display:flex;flex-direction:column;gap:.35rem}._label_5h999_73{font-size:.85rem;color:var(--color-text-muted)}._input_5h999_78{padding:.85rem .9rem;border-radius:12px;border:1px solid rgba(148,163,184,.7);background-color:#f9fafb;color:var(--color-text-main);font-size:.98rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}._input_5h999_78:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f6f4e33;background-color:#fff}._button_5h999_96{margin-top:.4rem;padding:.9rem 1.6rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--color-primary),#347f59);color:#fff;font-size:1rem;cursor:pointer;justify-self:flex-start;min-width:210px;box-shadow:0 14px 32px #347f5980;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}._button_5h999_96:hover{transform:translateY(-1px);box-shadow:0 18px 40px #347f5999;filter:brightness(1.03)}._button_5h999_96:active{transform:translateY(0);box-shadow:0 10px 22px #347f5973}._errorMessage_5h999_123{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:.5rem}._toggleButton_5h999_133{margin-top:.5rem;padding:.6rem 1rem;border:none;background:transparent;color:var(--color-primary);font-size:.9rem;cursor:pointer;text-decoration:underline;transition:color .15s ease}._toggleButton_5h999_133:hover{color:#347f59}#root{min-height:100vh}
