:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#102a43;background:linear-gradient(180deg,#fff6ee,#f8fbff 45%,#f3f7fb);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#0071ea;text-decoration:inherit}a:hover{color:#005cbc}body{margin:0;min-width:320px;min-height:100vh;background:inherit}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid #cbd2d9;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;color:#102a43;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}button:hover{border-color:#ea7900;background:#fff1e2}.primaryButton{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #ea7900;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;border-color:#ea7900;background:#ea7900;color:#fff;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}.primaryButton:hover{border-color:#b85f00;background:#b85f00;color:#fff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{--brand-primary: #ea7900;--brand-primary-soft: #fff1e2;--brand-primary-strong: #b85f00;--brand-primary-tint: rgba(234, 121, 0, .18);--brand-secondary: #0071ea;--brand-secondary-soft: #e8f2ff;--brand-secondary-tint: rgba(0, 113, 234, .14);--state-success: #0f8a3b;--state-error: #c2410c;--header-offset: 92px}#root{margin:0;padding:0;text-align:left}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,var(--brand-primary-tint),transparent 28%),radial-gradient(circle at bottom right,var(--brand-secondary-tint),transparent 24%),linear-gradient(180deg,#fdf8f2,#edf4ff)}.loginShell{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:24px;align-items:center}.loginIntro{display:grid;gap:12px;color:#102a43}.loginIntro h1,.loginIntro p{margin:0}.loginIntro p{color:#52606d;max-width:40ch;font-size:1.05rem}.loginBrand{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:8px 14px;border-radius:999px;background:var(--brand-primary);color:#fff;font-weight:700;letter-spacing:.01em}.loginBrandLogo{width:min(100%,540px);height:auto;display:block}.loginCard{display:grid;gap:14px;padding:24px;border:1px solid #d9e2ec;border-radius:20px;background:#fffffff5;box-shadow:0 18px 40px #0f172a1f}.loginActionsRow{display:flex;justify-content:flex-start}.loginActionsRowTop{margin-top:-2px}.loginTextLink{color:#486581;text-decoration:none;font-weight:600}.loginTextLink:hover{color:var(--brand-secondary);text-decoration:underline}.loginBackLinkButton{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;text-decoration:none}.loginBackLinkButton:hover{color:#fff;background:var(--brand-primary-strong);border-color:var(--brand-primary-strong);text-decoration:none}.formHelperText{margin:-2px 0 2px;color:#52667a;font-size:.9rem;line-height:1.4}.loginField{display:grid;gap:8px;color:#243b53;font-weight:600}.loginField input{width:100%;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:12px;padding:12px 14px;background:#fff;color:#102a43}.passwordField{position:relative}.passwordField input{padding-right:48px}.passwordToggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:#52606d}.passwordToggle:hover{background:#f8fafc;color:#243b53}.passwordToggle svg{width:18px;height:18px}.appHeader{display:flex;gap:12px;padding:12px;border-bottom:1px solid #d9e2ec;align-items:center;flex-wrap:nowrap;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.appHeaderTop{display:flex;align-items:center;gap:12px;flex:0 0 auto}.appBrand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.appBrand img{width:44px;height:44px;display:block;border-radius:12px;flex:0 0 auto}.appBrand span{color:var(--brand-primary);font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.appHeaderMenu{display:flex;gap:12px;align-items:center;flex:1 1 auto;min-width:0}.appNav{display:flex;gap:12px;flex-wrap:nowrap;align-items:center}.appMenuToggle{display:none}.appNav a{color:#486581;padding:8px 12px;border-radius:999px;transition:background-color .2s ease,color .2s ease}.appNav a:hover{color:var(--brand-secondary);background:var(--brand-secondary-soft)}.appNav a.isActive{color:var(--brand-primary-strong);background:var(--brand-primary-soft)}.appHeaderRight{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.appHeaderRight>a{color:#486581;padding:8px 12px;border-radius:999px;text-decoration:none}.appHeaderRight>a:hover{color:var(--brand-secondary);background:var(--brand-secondary-soft)}.appHeaderRight>a.isActive{color:var(--brand-primary-strong);background:var(--brand-primary-soft)}.appContainer{max-width:1400px;margin:0 auto;padding:16px}.recipesPage{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}.recipesSidebar,.recipeDetailPanel{background:#fff;border:1px solid #d9e2ec;border-radius:16px;box-shadow:0 12px 32px #0f172a14}.recipesSidebar{padding:16px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;position:sticky;top:var(--header-offset);max-height:calc(100vh - var(--header-offset) - 16px)}.recipesSidebarHeader{display:grid;gap:12px}.recipesSidebarHeader h2,.recipeDetailHeader h3,.recipeSectionHeader h4{margin:0}.recipesSidebarHeader p,.recipeDetailHeader p{margin:4px 0 0;color:#52606d}.recipesSearch,.recipeEditor input,.recipeEditor textarea{width:100%;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:10px;padding:10px 12px;background:#fff;color:#102a43}.recipeList{display:grid;gap:8px}.recipeListLoading{margin:4px 0 0;text-align:center;color:#52606d;font-size:.92rem}.recipeListLoadMoreSentinel{height:1px}.recipeGallerySection{display:grid;gap:16px;padding:18px;background:#fff;border:1px solid #d9e2ec;border-radius:16px;box-shadow:0 12px 32px #0f172a14}.recipeGalleryToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.recipeGalleryToolbarBottom{margin-top:4px}.recipeGalleryToolbarTop{justify-content:space-between}.recipeGalleryToolbarActions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-start}.recipeGalleryHeaderActions{display:grid;grid-template-columns:auto minmax(280px,420px);gap:12px;align-items:center}.recipeGalleryToggle,.recipeGalleryCount,.recipeGalleryPrivacyHint{color:#52606d;font-size:.92rem}.recipeGalleryPresetPicker{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.recipeGalleryPresetLabel{color:#52606d;font-size:.92rem}.recipeGalleryPresetButtons{display:inline-flex;gap:8px;flex-wrap:wrap}.recipeGalleryPresetButtons button{min-width:56px;padding:8px 12px}.recipeGalleryPresetButtons .isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft);color:var(--brand-primary-strong)}.recipeGalleryPager{display:inline-flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.recipeGalleryPager button{padding:8px 12px;min-width:44px}.recipeGalleryPagerNav{flex:0 0 auto}.recipeGalleryPagerNumbers{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.recipeGalleryPagerGroup{display:inline-flex;align-items:center;gap:8px}.recipeGalleryPagerGap{color:#52606d;padding:0 4px}.recipeGalleryPager .isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft);color:var(--brand-primary-strong)}.recipeGalleryGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.recipeGalleryCard{text-align:left;border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc;overflow:hidden;display:grid;grid-template-rows:180px minmax(120px,1fr);cursor:pointer}.recipeGalleryCard.isActive{border-color:var(--brand-primary);box-shadow:0 0 0 1px #ea79001f}.recipeGalleryImage{width:100%;height:180px;object-fit:cover;background:#fff}.recipeGalleryImagePlaceholder{background:linear-gradient(135deg,var(--brand-primary-soft),var(--brand-secondary-soft))}.recipeGalleryBody{display:grid;grid-template-rows:1fr auto auto;gap:12px;padding:12px;min-height:0}.recipeGalleryBody strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:1rem;line-height:1.25;align-self:center}.recipeGalleryMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#52606d;font-size:.9rem}.recipeGalleryMetaMain{display:inline-flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.weeklyRecipeCardServings{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#52606d;font-size:.86rem;font-weight:700;cursor:default}.weeklyRecipeCardServings input{width:54px;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:10px;padding:6px 8px;background:#fff;color:#102a43;font:inherit;text-align:center}.recipeGalleryAction,.recipeInlineAction{justify-self:start}.recipeIconAction{flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:12px;border:1px solid #cbd2d9;background:#fff}.recipeIconAction svg{width:18px;height:18px}.recipeIconAction.isAdd{color:#137333;border-color:#9fd5ac;background:#eefbf1}.recipeIconAction.isAdd:hover{background:#ddf5e3}.recipeIconAction.isRemove{color:#b42318;border-color:#f3b2ad;background:#fff1f0}.recipeIconAction.isRemove:hover{background:#ffe3e0}.recipeFullscreenModal{position:fixed;inset:0;z-index:60;background:#0f172a85;padding:24px;display:grid;place-items:center}.recipeFullscreenModalCard{background:#fff;border-radius:20px;padding:20px;overflow:auto;min-height:0;max-height:min(88vh,calc(100vh - 48px));box-shadow:0 20px 60px #0f172a40}.recipeEditorModalCard{width:min(1180px,calc(100vw - 48px))}.recipeFullscreenModalHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-20px -20px 16px;padding:16px 20px;position:sticky;top:-20px;z-index:1;background:#fff;border-bottom:1px solid #d9e2ec}.recipeFullscreenModalHeader h3{margin:0}.recipeFullscreenModalActions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.recipeFilters{display:grid;gap:8px}.recipeFiltersToggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;text-align:left}.recipeFiltersLabel{font-size:.88rem;color:#52606d}.recipeFiltersToggleMeta{display:inline-flex;align-items:center;gap:8px;color:#52606d;font-size:.85rem}.recipeFilterChips{display:flex;flex-wrap:wrap;gap:8px}.recipeFilterChip{border:1px solid #d9e2ec;border-radius:999px;background:#fff;color:#486581;padding:6px 12px;font-size:.82rem}.recipeFilterChip.isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft);color:var(--brand-primary-strong)}.recipesSidebarScrollable{min-height:0;overflow-y:auto;padding-right:4px}.recipeListItem{width:100%;text-align:left;border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc;padding:14px;display:grid;gap:8px}.recipeListCardTop{display:grid;gap:10px}.recipeListCardTop.hasThumb{grid-template-columns:88px minmax(0,1fr);align-items:start}.recipeListCardBody{display:grid;gap:8px;min-width:0}.recipeListThumb{width:88px;height:88px;border-radius:12px;object-fit:cover;border:1px solid #d9e2ec;background:#fff}.recipeListItem.isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.recipeListItemTitleRow,.recipeSectionHeader,.recipeActionsRow,.recipeDetailHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.recipeListMeta,.recipeDetailMeta{display:flex;gap:8px;flex-wrap:wrap;color:#52606d;font-size:.9rem}.recipeListTags{margin:0;color:#486581;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipeDetailPanel{padding:18px;min-height:calc(100vh - 32px)}.recipeDetailContent{display:grid;gap:14px}.recipeDetailLead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start}.recipeDetailLeadBody{display:grid;gap:10px;min-width:0}.recipeDetailDescription{margin:0;color:#52606d;line-height:1.5}.recipeDetailOwner{margin:0;color:#486581;font-size:.92rem}.recipeBadge,.recipeMetaChip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.82rem}.recipeBadge{background:var(--brand-primary-soft);color:var(--brand-primary-strong)}.recipeMetaChip{background:var(--brand-secondary-soft);color:var(--brand-secondary)}.recipeTagChip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.82rem;background:#ea790024;color:var(--brand-primary-strong)}.recipeImagesGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.recipeImageCard,.recipeSection,.recipeItemCard{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.recipeImageCard,.recipeSection{padding:14px}.recipeImageLabel{font-size:.88rem;color:#52606d;margin-bottom:10px}.recipeImage{width:100%;border-radius:12px;display:block;border:1px solid #d9e2ec}.recipeImagePreviewButton{width:220px;padding:0;border:1px solid #d9e2ec;border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in}.recipeStepImage .recipeImagePreviewButton{width:100%}.recipeIngredientThumb{width:104px;height:104px;object-fit:cover;border-radius:12px;border:1px solid #d9e2ec;background:#fff;display:block;margin-bottom:10px}.recipeImagePreviewThumb{width:100%;height:160px;object-fit:cover;display:block}.recipeImageModalOverlay{position:fixed;inset:0;background:#0f172ab8;display:grid;place-items:center;padding:24px;z-index:1000}.recipeImageModalCard{max-width:min(90vw,980px);max-height:90vh;display:grid;gap:12px}.recipeImageModalClose{justify-self:end;background:#fff}.recipeImageModalImage{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain;border-radius:16px;background:#fff}.recipeEditor{display:grid;gap:16px}.userRecipeEditorForm{padding-right:2px}.recipeFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipeEditor label{display:grid;gap:8px;color:#243b53;font-weight:600}.recipeItemsStack{display:grid;gap:12px}.recipeItemCard{padding:14px}.recipeStepImage{margin-bottom:12px}.recipeStepCard.hasImage{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}.recipeStepCard.hasImage .recipeStepImage{margin-bottom:0}.recipeStepBody{min-width:0}.recipeFactsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.recipeFactCard{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px 11px;display:grid;gap:2px}.recipeFactCard strong{font-size:.95rem;line-height:1.25}.recipeFactCard span{color:#52606d;font-size:.9rem}.userRecipeNutritionField input{margin-top:6px}.userRecipeTagPicker{display:flex;flex-wrap:wrap;gap:8px}.recipeIngredientGrid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:center}.recipeStepGrid{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.recipeBulletList{display:grid;gap:10px;margin-top:12px}.recipeBulletRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.checkboxLabel{display:inline-flex!important;align-items:center;gap:8px;font-weight:500!important}.recipeToggleLabel{font-size:.92rem}.recipeActionsRowCompact{justify-content:flex-start;flex-wrap:wrap}.userRecipeImagePreviewRow{display:flex;justify-content:flex-start}.userRecipeIngredientExtras{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.userRecipeIngredientExtras label{flex:1 1 280px}.userRecipeInlineDangerButton,.recipeEditorDeleteButton{margin-top:0}.userRecipeStepGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:12px}.recipeVisibilityChip.isShared{background:#eefbf1;color:#137333}.recipeVisibilityChip.isPrivate{background:#edf4ff;color:#1d4ed8}.recipeActionsColumn{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px}.recipeActionsColumn button,.recipeActionsColumn .inlineLinkButton{width:100%;box-sizing:border-box;white-space:normal;min-height:48px}.recipesSidebarFooter{position:sticky;bottom:0;margin:0 -16px -16px;padding:14px 16px 16px;background:linear-gradient(180deg,#fff9,#fff 24%);border-top:1px solid #e5e7eb;display:grid;grid-template-columns:1fr;gap:10px;z-index:2}.recipesSidebarFooter button,.recipesSidebarFooter .inlineLinkButton{width:100%;box-sizing:border-box;white-space:normal;min-height:48px}.dangerButton{margin-top:12px}.stateError{color:var(--state-error)}.stateSuccess{color:var(--state-success)}.toastViewport{position:fixed;top:calc(var(--header-offset) + 8px);right:16px;z-index:100;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast{border-radius:14px;padding:12px 14px;border:1px solid #d9e2ec;background:#fffffffa;box-shadow:0 14px 34px #0f172a24;color:#102a43}.toast-success{border-color:#0f8a3b2e;background:#f3fcf6}.toast-error{border-color:#c2410c2e;background:#fff7f3}.mobileBackButton{width:fit-content}.adminPage{display:grid;gap:16px}.adminTabs{display:flex;gap:10px;flex-wrap:wrap}.recipeCatalogTopbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:4px}.adminTabs button{line-height:1.15}.recipeCatalogInlineActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#52606d}.recipeCatalogInlineSummary{font-weight:700;color:#102a43}.recipeCatalogInlineDash{color:#9aa5b1}.recipeCatalogInlineLabel{font-size:.92rem}.recipeCatalogInlineActions button{min-height:40px}.adminTabs .isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.adminSectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.adminCard{background:#fff;border:1px solid #d9e2ec;border-radius:16px;box-shadow:0 12px 32px #0f172a14;padding:16px}.adminCard h2,.adminCard p{margin-top:0}.adminForm{display:grid;gap:10px}.adminForm label{display:grid;gap:6px;color:#243b53;font-weight:600}.adminForm label span{font-size:.92rem}.adminForm input,.adminForm select,.adminForm textarea{width:100%;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:10px;padding:10px 12px}.adminForm textarea{resize:vertical;min-height:120px;font:inherit}.adminList{display:grid;gap:10px}.adminListScrollable{max-height:520px;overflow:auto;padding-right:4px;margin-top:12px}.adminListRow{display:flex;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f8fafc;box-sizing:border-box;align-items:center;min-width:0}.adminListRowButton{width:100%;text-align:left;cursor:pointer;max-width:100%}.adminListRowButton.isActive{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.adminListRowMain{flex:1 1 auto;min-width:0}.adminListRowMain strong,.adminListRowMain p{display:block;overflow-wrap:anywhere}.adminListRowActions{flex:0 1 auto;min-width:0;display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.adminInlinePill{padding:6px 10px;min-height:auto;font-size:.85rem;flex:0 0 auto}.adminInlineAction{pointer-events:auto}.adminUserEditor{margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb;display:grid;gap:12px}.adminListRow p{margin:4px 0 0;color:#52606d}.adminUnitsGrid{display:flex;flex-wrap:wrap;gap:10px}.adminImportSummary{margin:0;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;overflow:auto;font-size:.85rem}.dashboardPage{display:grid;gap:16px}.dashboardHeroCard{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:16px 18px;border-radius:18px;border:1px solid #d9e2ec;background:radial-gradient(circle at top right,var(--brand-primary-tint),transparent 24%),linear-gradient(135deg,#fffaf4,#eef6ff);box-shadow:0 10px 24px #0f172a0f}.dashboardHeroCard h2,.dashboardHeroCard p{margin:0}.dashboardGrid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.92fr);gap:16px}.dashboardInsightsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboardStatusCard,.dashboardRecipesCard,.dashboardInsightsCard{display:grid;gap:16px}.dashboardCardHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.dashboardCardHeader h2,.dashboardCardHeader p{margin:0}.dashboardCardHeader>div:first-child{display:grid;gap:6px}.dashboardCardActions,.dashboardCarouselActions{display:flex;gap:10px;flex-wrap:wrap}.dashboardStatusGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboardMetricCard{display:grid;gap:4px;padding:14px;border-radius:14px;border:1px solid #d9e2ec;background:#f8fafc}.dashboardMetricCard span{color:#52606d;font-size:.92rem}.dashboardMetricCard strong{font-size:1.3rem;color:#102a43}.dashboardRankingList{display:grid;gap:10px}.dashboardRankingItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid #d9e2ec;background:#f8fafc}.dashboardRankingItem strong{min-width:0}.dashboardRankingPosition{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--brand-primary-soft);color:var(--brand-primary-strong);font-weight:700}.dashboardRecipeCarousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,340px);gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.dashboardRecipeCard{display:grid;gap:12px;padding:14px;border-radius:16px;border:1px solid #d9e2ec;background:#f8fafc;scroll-snap-align:start}.dashboardRecipeMeta{align-items:center}.weeklyPageShell{display:grid;gap:16px}.weeklyEyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--brand-primary);margin-bottom:8px!important}.weeklyPlanningTopbar{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:12px;align-items:stretch}.weeklyPageShell{--weekly-control-height: 44px;--weekly-control-font-size: .88rem}.weeklyPlanningPanel{border-radius:18px;border:1px solid #d9e2ec;background:radial-gradient(circle at top right,var(--brand-primary-tint),transparent 24%),linear-gradient(135deg,#fffaf4,#eef6ff);box-shadow:0 10px 24px #0f172a0f;padding:10px 14px}.weeklyPlanningPanelMain{display:flex;align-items:center}.weeklyPlanningPanelActions{display:grid;gap:10px;align-content:stretch}.weeklyPlanningHeaderRow{display:grid;gap:12px;width:100%}.weeklyPlanningHeaderTopRow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.weeklyPlanningHeaderBottomRow{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.weeklyPlanningTitleRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:var(--weekly-control-height)}.weeklyPlanningTitleRow h2{margin:0;font-size:1.15rem;line-height:1.15}.weeklyPlanningInfoButton{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;border:1px solid #cbd2d9;background:#fff;color:#52606d;font-weight:700;line-height:1}.weeklyPlanningInfoButton:hover{color:var(--brand-primary-strong);background:var(--brand-primary-soft)}.weeklyPlanningMeta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.weeklyPlanningControls{display:contents}.weeklyPlanningHeaderControls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-start;min-width:0}.weeklyPlanningToggle{display:inline-flex;align-items:center;gap:4px;height:var(--weekly-control-height);box-sizing:border-box;padding:2px;border:1px solid #cbd2d9;border-radius:16px;background:#fff}.weeklyPlanningToggle button{height:100%;min-height:0;border:0;background:transparent;color:#52606d;border-radius:12px;padding:6px 12px;font-weight:700;font-size:var(--weekly-control-font-size);line-height:1.2}.weeklyPlanningToggle button.isActive{background:var(--brand-primary-soft);color:var(--brand-primary-strong);box-shadow:inset 0 0 0 1px var(--brand-primary)}.weeklyWeekSelectWrap{position:relative;min-width:180px}.weeklyWeekSelect{width:100%;appearance:none;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:12px;background:#fff;color:#243b53;padding:0 34px 0 12px;font-weight:600;font-size:var(--weekly-control-font-size);line-height:1.2;height:var(--weekly-control-height)}.weeklyWeekSelectWrap:after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#52606d;pointer-events:none}.weeklyCompactField{display:grid;gap:4px;color:#243b53;font-weight:600;align-content:start;justify-items:end;text-align:right}.weeklyCompactField span{font-size:.74rem;line-height:1.1}.weeklyCompactField input{box-sizing:border-box;border:1px solid #cbd2d9;border-radius:12px;padding:0 8px;width:58px;min-height:var(--weekly-control-height);background:#fff;color:#243b53;font-size:var(--weekly-control-font-size);font-weight:400;line-height:1.2;text-align:center}.weeklyPlanningSelectionCount{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--brand-secondary-soft);color:var(--brand-secondary);font-weight:700}.weeklyPlanningFloatingCount{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;padding:10px 16px;border-radius:18px;border:1px solid #c9ddff;background:#eef5ff;box-shadow:0 14px 30px #0f172a24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left}.weeklyPlanningFloatingCount strong{color:#0b69ff;font-size:1.5rem;font-weight:800;line-height:1}.weeklyPlanningFloatingCount span{color:#35506b;font-size:.86rem;line-height:1;white-space:nowrap}.weeklyPlanningFloatingCount.isWarning{animation:weeklySelectionWarningPulse 2.6s ease-in-out}.weeklyPlanningFloatingCount.isWarning strong{color:#c93c16}.weeklyPlanningFloatingCount.isWarning span{color:#8f2d12}@keyframes weeklySelectionWarningPulse{0%{background:#eef5ff;border-color:#c9ddff;box-shadow:0 14px 30px #0f172a24}15%{background:#ffe9e4;border-color:#f6b5a7;box-shadow:0 16px 32px #c93c1633}70%{background:#ffe9e4;border-color:#f6b5a7;box-shadow:0 16px 32px #c93c1633}to{background:#eef5ff;border-color:#c9ddff;box-shadow:0 14px 30px #0f172a24}}.weeklyPlanningActionColumn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weeklyPlanningActionColumn button,.weeklyPlanningActionLink,.weeklyPlanningSaveButton{box-sizing:border-box;width:100%;min-height:var(--weekly-control-height);margin-top:0;padding:0 12px;font-size:var(--weekly-control-font-size);line-height:1.2;border-radius:12px}.weeklyPlanningActionLink{display:inline-flex;align-items:center;justify-content:center}.weeklyPlanningSaveButton{font-weight:700}.weeklyPlanningSaveGroup{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}.weeklyPlanningSaveMenuToggle{box-sizing:border-box;width:100%;min-height:var(--weekly-control-height);margin-top:0;padding:0;border-radius:12px}.weeklyPlanningSaveMenuToggle svg{width:18px;height:18px}.weeklyPlanningSaveMenu{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;padding:8px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;box-shadow:0 18px 40px #0f172a29;z-index:5}.weeklyPlanningSaveMenu button{width:100%;justify-content:flex-start;text-align:left}.weeklyPlanningPoolChip{white-space:nowrap}.weeklyPlanningManualFilters{display:grid;gap:12px}.weeklyPlanningModalCard{width:min(420px,calc(100vw - 32px));max-width:420px;padding:18px 20px;max-height:min(78vh,calc(100vh - 40px))}.weeklyPlanningHelpModalCard{width:min(560px,calc(100vw - 32px));max-width:560px;max-height:min(78vh,calc(100vh - 40px))}.weeklyPlanningServingsModalCard{width:min(920px,calc(100vw - 32px));max-width:920px}.weeklyPlanningModalOverlay{place-items:center;padding:20px}.weeklyPlanningModalHeader{margin-bottom:12px}.weeklyPlanningModalHeader h3{margin:0}.weeklyPlanningModalCard p{margin:0;color:#52606d;line-height:1.6}.weeklyPlanningHelpBody{display:grid;gap:16px}.weeklyPlanningHelpBody section{display:grid;gap:8px}.weeklyPlanningHelpBody h4{margin:0;color:#102a43}.weeklyPlanningHelpBody ul{margin:0;padding-left:20px;color:#52606d}.weeklyPlanningModalActions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:20px}.weeklyPlanningModalActions .primaryButton,.weeklyPlanningModalActions button{min-width:120px}.weeklyPlanningModalActions .primaryButton{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.weeklyPlanningServingsList{display:grid;gap:12px}.weeklyPlanningServingsRow{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:center;border:1px solid #d9e2ec;border-radius:16px;padding:14px;background:#f8fafc}.weeklyPlanningServingsRecipe{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center}.weeklyPlanningServingsRecipe span{display:block;margin-top:4px;color:#52606d;font-size:.92rem}.weeklyPlanningServingsImage{width:92px;height:92px;object-fit:cover;border-radius:14px;background:#fff}.weeklyPlanningServingsImagePlaceholder{background:linear-gradient(135deg,var(--brand-primary-soft),var(--brand-secondary-soft))}.weeklyPlanningServingsField{display:grid;gap:8px}.weeklyPlanningServingsField span{color:#243b53;font-weight:600}.weeklyPlanningServingsField input{width:100%;box-sizing:border-box;border:1px solid #cbd2d9;border-radius:12px;padding:10px 12px;background:#fff;color:#102a43}.recipeListItem.isSelectedForWeek{border-color:var(--brand-primary);background:linear-gradient(180deg,#fffdfa,#fff4e8);box-shadow:inset 0 0 0 1px #ea79001a}.shoppingPlanningTopbar{align-items:center;padding:12px 16px}.currentWeekTopbar{padding:10px 16px;display:flex}.currentWeekTopbar .weeklyPlanningIntro{justify-content:space-between;width:100%}.shoppingRecipeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.shoppingRecipeCard{border:1px solid #d9e2ec;border-radius:14px;overflow:hidden;background:#fff;display:grid;grid-template-rows:140px auto}.shoppingRecipeImage{width:100%;height:140px;object-fit:cover;background:#fff}.shoppingRecipeImagePlaceholder{background:linear-gradient(135deg,var(--brand-primary-soft),var(--brand-secondary-soft))}.shoppingRecipeBody{padding:12px}.shoppingRecipeBody strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.shoppingHistorySection{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.shoppingHistorySection summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#243b53}.shoppingHistorySection summary span{color:#52606d;font-size:.88rem}.shoppingWeekListTitleRow{align-items:flex-start}.shoppingWeekListTitleRow .recipeMetaChip{flex:0 0 auto;line-height:1.15;text-align:center}.inlineLinkButton{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid #cbd2d9;background:#fff;color:#102a43;text-decoration:none}.inlineLinkButton:hover{border-color:var(--brand-secondary);background:var(--brand-secondary-soft);color:var(--brand-secondary)}.weeklyRecipeCards{display:grid;gap:10px}.weeklyRecipeCard{border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc;padding:12px}.weeklyRecipeCard summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.weeklyRecipeCard p{margin:10px 0 0}.weeklyChecklist{display:grid;gap:8px}.weeklyChecklistItem{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #d9e2ec}.weeklyChecklistItem strong,.weeklyChecklistItem p{margin:0}.weeklyChecklistItem p{margin-top:4px;color:#52606d}.weeklyChecklistItem.isChecked{opacity:.72;background:var(--brand-primary-soft)}.weeklyChecklistItem.isChecked strong{text-decoration:line-through}@media(max-width:520px){:root{--header-offset: 78px}.appHeader{display:grid;gap:10px;padding:12px 10px;align-items:stretch}.appHeaderTop{justify-content:space-between}.appMenuToggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px}.appHeaderMenu{display:none;flex-direction:column;align-items:stretch;gap:10px;padding-top:4px;border-top:1px solid #e5e7eb}.appHeaderMenu.isOpen{display:flex}.appNav{display:grid;grid-template-columns:1fr;gap:8px}.appNav a{text-align:left;border-radius:12px}.appHeaderRight{margin-left:0;display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}.appHeaderRight>a,.appHeaderRight>button,.appHeaderRight>label{justify-self:stretch}.appHeaderRight>a{text-align:left}.appHeaderRight>label{display:flex;justify-content:space-between;align-items:center;gap:4px}.appBrand img{width:40px;height:40px}.appBrand span{font-size:1.05rem}.appContainer{padding:10px}.toastViewport{right:10px;width:calc(100vw - 20px)}.recipeListCardTop.hasThumb{grid-template-columns:72px minmax(0,1fr);align-items:start}.recipeListThumb{width:72px;height:72px}.recipeListItemTitleRow{align-items:flex-start}.recipeIngredientThumb{width:84px;height:84px}}@media(max-width:980px){.loginShell,.dashboardGrid,.dashboardInsightsGrid{grid-template-columns:1fr}.dashboardHeroCard{align-items:flex-start;flex-direction:column}.dashboardStatusGrid{grid-template-columns:1fr}.dashboardRecipeCarousel{grid-auto-columns:minmax(240px,88vw)}.recipesPage{grid-template-columns:1fr}.weeklyPlanningFloatingCount{right:12px;bottom:12px;gap:8px;padding:8px 12px}.recipeDetailLead{grid-template-columns:1fr}.weeklyPlanningControls{display:grid;gap:10px}.weeklyPlanningHeaderRow{align-items:stretch}.weeklyPlanningHeaderTopRow,.weeklyPlanningHeaderBottomRow{align-items:stretch;justify-content:stretch}.weeklyPlanningHeaderControls,.weeklyPlanningActionColumn{justify-content:stretch}.weeklyPlanningTopbar{grid-template-columns:1fr}.weeklyPlanningPanelMain{display:block}.weeklyPlanningHeaderControls>*{width:100%}.weeklyPlanningHeaderBottomRow>*{width:100%}.shoppingPlanningTopbar{align-items:stretch}.adminSectionGrid{grid-template-columns:1fr}.weeklyActionBar{display:grid;justify-content:stretch;padding:0}.weeklyActionPanelButtons{justify-content:stretch}.weeklyActionPanelButtons button,.weeklyActionPanelButtons .inlineLinkButton{width:100%}.recipesSidebar,.recipeDetailPanel{padding:14px}.recipesSidebar{position:static;max-height:none;grid-template-rows:auto auto auto auto}.recipeDetailHeader{flex-wrap:wrap;align-items:flex-start}.recipeStepCard.hasImage{grid-template-columns:1fr}.recipeStepCard.hasImage .recipeStepImage{margin-bottom:12px}.recipeImagePreviewButton{width:min(100%,280px)}.recipesSidebarScrollable{overflow:visible;max-height:none;padding-right:0}.recipesSidebarFooter{position:static;margin:0;padding:0;border-top:0;background:transparent;display:grid;grid-template-columns:1fr}.recipeImagesGrid,.recipeFormGrid,.recipeIngredientGrid,.recipeStepGrid,.recipeBulletRow{grid-template-columns:1fr}.recipeCatalogTopbar{align-items:stretch}.recipeGalleryHeaderActions{grid-template-columns:1fr}.recipeCatalogInlineActions{width:100%}.recipeGalleryToolbar{align-items:stretch;flex-direction:column}.recipeGalleryPager{width:100%;flex-direction:column;align-items:stretch}.recipeGalleryPager button{flex:0 0 auto}.recipeGalleryPagerNav{width:100%}.recipeEditorModalCard{width:min(100vw,calc(100vw - 24px))}.weeklyPlanningServingsRow,.weeklyPlanningServingsRecipe,.weeklyPlanningSaveGroup{grid-template-columns:1fr}.userRecipeIngredientExtras{flex-direction:column;align-items:stretch}.recipeGalleryPagerNumbers{width:100%;justify-content:center}.recipeGalleryGrid{grid-template-columns:1fr}.recipeFullscreenModal{padding:12px;place-items:center}.recipeFullscreenModalCard{width:min(100%,calc(100vw - 24px));max-height:min(82vh,calc(100vh - 24px));border-radius:18px}.weeklyPlanningModalCard,.weeklyPlanningHelpModalCard{width:min(100%,calc(100vw - 24px));max-width:none;max-height:min(82vh,calc(100vh - 24px));padding:16px}.weeklyPlanningHelpBody{gap:14px}.weeklyPlanningModalActions{justify-content:stretch;gap:10px}.weeklyPlanningModalActions .primaryButton,.weeklyPlanningModalActions button{width:100%;min-width:0}}
