.filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.ingredient-search-field{margin-top:16px}.ingredient-search-field small{line-height:1.45}.filter-search-row{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;display:grid}.filter-open-button{display:none}.filter-panel-overlay[hidden]{display:block}.filter-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-panel-close{display:none}.active-filter-chips{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.active-filter-chips .tag{font-size:.84rem}.recipe-folder-chip{color:var(--sage-dark);background:#f4efe5;border-radius:9px;margin:0 0 12px;padding:6px 9px;font-size:.86rem;font-weight:650;display:inline-flex}.recipe-cooking-summary{color:var(--sage-dark);background:#f5f1e8;border-radius:11px;gap:3px;margin:10px 0 13px;padding:10px 11px;font-size:.83rem;display:grid}.recipe-cooking-summary strong{color:#9a6115}.recipe-cooking-summary time,.recipe-cooking-summary.empty{color:var(--muted)}.folder-picker{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.folder-picker .button{place-items:center;display:grid}.quantity-controls{grid-template-columns:44px minmax(70px,1fr) 44px;gap:7px;display:grid}.quantity-button{min-height:44px;padding:0;font-size:1.25rem}.step-editor-head{grid-template-columns:1fr minmax(180px,240px) auto;align-items:center;gap:0;margin-bottom:8px;display:grid}.step-duration-field{width:100%}.step-duration-field input{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:8px 12px}.step-editor-head .drag-handle{justify-self:end}.mobile-step-duration{display:none}.drag-handle{min-width:48px;color:var(--sage-dark);border:1px solid var(--line);cursor:grab;letter-spacing:-.18em;background:0 0;padding:8px;font-size:1.2rem}.drag-handle:active{cursor:grabbing}.step-editor-card:has(.drag-handle:active){background:#f4f7f1}.mobile-editor-card-head,.mobile-editor-actions{display:none}.editor-save-bar{margin-top:18px}.editor-apply-crop{display:none}.revision-history .muted{margin:0 0 12px;line-height:1.45}.revision-row{gap:10px;padding:12px 0}.revision-row>div:first-child{gap:2px}.revision-row .compact-actions{margin-top:8px}.revision-row .compact-actions button{min-height:40px;padding:.5rem .75rem}.step-length-warning{justify-content:space-between;align-items:center;gap:12px;margin:10px 0 16px;display:flex}.step-length-warning button{flex:none}.folder-manager{max-width:760px}.folder-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.folder-row .actions{margin-top:0}.folder-confirm{grid-column:1/-1}.folder-list{margin-top:20px}@media (max-width:760px){.folder-picker,.folder-row{grid-template-columns:1fr}.folder-picker .button{width:100%}.recipe-editor-page-head{gap:0;padding:14px 0 12px}.recipe-editor-page-head h1{margin:0}:is(.recipe-editor-form,.recipe-editor-form:has(.editor-save-bar.has-pending-crop)){padding-bottom:0}.editor-collapsible-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:10px 0;padding:0;overflow:visible}.mobile-editor-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.mobile-editor-card-toggle{min-width:0;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.mobile-editor-card-toggle>span:first-child{gap:3px;min-width:0;display:grid}.mobile-editor-card-toggle strong,.mobile-editor-card-toggle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-editor-card-toggle small{max-width:210px;color:var(--muted);font-weight:500}.mobile-editor-card-toggle>span:last-child{color:var(--sage-dark);font-size:1.3rem}.ingredient-editor-card .mobile-editor-card-head{grid-template-columns:1fr}.editor-quick-name-row{grid-template-columns:minmax(0,1fr) 38px;gap:6px;padding:0 8px 6px;display:grid}.editor-quick-name{width:100%;min-width:0;min-height:38px;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:7px 9px;font-weight:700}.editor-quick-remove{min-width:38px;min-height:38px;padding:0;font-size:1.2rem}.ingredient-editor-card .mobile-editor-card-toggle strong,.ingredient-editor-card .mobile-editor-card-toggle small{white-space:normal}.ingredient-editor-card .mobile-editor-card-toggle>span:last-child{white-space:nowrap;font-size:.86rem;font-weight:750}.ingredient-editor-card .editor-quick-quantity{justify-self:start;width:min(100%,220px);padding:0 8px 8px}.editor-quick-meta{align-items:center;gap:6px;width:min(100%,280px);padding:0 8px 6px;display:flex}.editor-quick-meta .editor-quick-quantity{width:164px;padding:0}.editor-quick-unit{width:82px;min-height:36px;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:7px 6px}.editor-quick-flags{color:var(--sage-dark);flex-wrap:wrap;gap:8px;padding:0 8px 6px;font-size:.82rem;display:flex}.editor-quick-move{grid-template-columns:1fr 1fr;gap:6px;padding:0 8px 8px;display:grid}.editor-quick-move button{min-height:36px;padding:6px 8px;font-size:.84rem}.editor-quick-quantity{grid-template-columns:36px minmax(34px,1fr) 36px;align-items:center;gap:4px;min-width:0;display:grid}.editor-quick-quantity button{min-width:36px;min-height:36px;padding:0}.editor-quick-quantity>input{text-align:center;width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:7px 4px;font-weight:750}.editor-collapsible-body{border-top:1px solid var(--line);padding:4px 12px 14px;display:none}.step-length-warning{flex-direction:column;align-items:flex-start}.step-length-warning button{width:100%}.editor-collapsible-card.is-open .editor-collapsible-body{display:block}.ingredient-editor-card.editor-collapsible-card.is-open .editor-collapsible-body,.ingredient-editor-card .editor-collapsible-body,.ingredient-editor-card .mobile-editor-actions{display:none}.step-editor-head{margin-top:10px;display:flex}.step-editor-head .step-duration-field,.step-editor-head .drag-handle{display:none}.mobile-step-duration{display:block}.desktop-editor-actions{display:none}.mobile-editor-actions{margin-top:10px;display:block}.mobile-editor-actions summary{border:1px solid var(--line);width:48px;min-height:44px;color:var(--sage-dark);cursor:pointer;border-radius:10px;place-items:center;margin-left:auto;font-size:1.35rem;font-weight:800;list-style:none;display:grid}.mobile-editor-actions summary::-webkit-details-marker{display:none}.mobile-editor-actions>div{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:10px;display:grid}.mobile-editor-actions>div button{width:100%}.editor-save-bar{z-index:32;left:12px;right:12px;bottom:calc(var(--mobile-nav-height) + var(--cookie-consent-height,0px) + 16px + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:8px;display:grid;position:fixed;box-shadow:0 -8px 24px #3f31201f}.editor-save-bar .editor-apply-crop{grid-column:1/-1;display:block}.editor-save-bar button{width:100%}.revision-history .muted{margin-bottom:8px;font-size:.94rem}.revision-row{gap:8px;padding:10px 0}.revision-row>div:first-child{gap:1px}.revision-row small{font-size:.9rem;line-height:1.35}.revision-row .compact-actions{grid-template-columns:1fr 1.12fr;gap:8px;margin-top:4px;display:grid}.revision-row .compact-actions button{min-height:38px;padding:.45rem .5rem;font-size:.92rem}.mobile-filter-form.panel{box-shadow:none;background:0 0;border:0;padding:0}.filter-search-row{z-index:1;grid-template-columns:minmax(0,1fr) auto;position:relative}.filter-open-button{white-space:nowrap;grid-column:1/-1;width:100%;display:block}.filter-panel-overlay,.filter-panel-overlay[hidden]{display:none}.filter-panel-overlay:not([hidden]){z-index:55;padding-top:calc(28px + env(safe-area-inset-top));background:#191c187a;align-items:flex-end;display:flex;position:fixed;inset:0}.filter-panel-sheet{width:100%;max-height:calc(100dvh - 28px - env(safe-area-inset-top));overscroll-behavior:contain;padding:18px 18px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:22px 22px 0 0;overflow-y:auto;box-shadow:0 -18px 48px #1b1f1a3d}.filter-panel-sheet:before{content:"";background:#c9c3b8;border-radius:999px;width:42px;height:4px;margin:-7px auto 10px;display:block}.filter-panel-head{z-index:1;background:var(--surface);margin:-8px 0 10px;padding:10px 0;position:sticky;top:-18px}.filter-panel-head h2{margin:0}.filter-panel-close{width:44px;min-width:44px;padding:0;font-size:1.5rem;display:block}.filter-panel-sheet .filter-grid{grid-template-columns:1fr}.filter-panel-sheet .actions{background:linear-gradient(transparent,var(--surface) 18%);margin:18px -4px -8px;padding:10px 4px 0;position:sticky;bottom:0}.filter-panel-sheet .actions>*{text-align:center;flex:1}}@media (min-width:761px){.recipe-editor-form{padding-bottom:96px}.editor-save-bar{z-index:32;left:50%;bottom:calc(var(--cookie-consent-height,0px) + 20px);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(680px,100% - 48px);margin:0;padding:8px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 -8px 24px #3f31201f}.editor-save-bar.has-pdf-export{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-save-bar .editor-apply-crop{grid-column:1/-1;display:block}.editor-save-bar button{width:100%}}.shopping-share-box{margin-top:16px}.shopping-share-box .field{margin-bottom:8px}.shopping-share-box .muted{margin:6px 0 12px;font-size:.88rem}.shared-shopping-page{max-width:780px;margin:38px auto}.shared-shopping-head{margin-bottom:18px;padding:28px}.shared-shopping-head h1{margin:.35rem 0 .7rem}.shared-shopping-list{min-height:0}.shared-shopping-list .shopping-table{color:#f3f3f3}.workspace-tabs{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;width:max-content;max-width:100%;margin:0 0 22px;padding:6px;display:flex}.workspace-tabs button{min-width:180px}.current-shopping-section{max-width:860px}.save-indicator{color:var(--sage-dark);background:#edf2e9;border-radius:999px;padding:7px 10px;font-size:.84rem;font-weight:700}.save-indicator.error{color:#8d3829;background:#fff0e9}.current-add-form{grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr) auto;align-items:end;gap:12px;margin:18px 0;padding:18px;display:grid}.current-add-form .field{margin:0}.current-shopping-list{min-height:220px}.current-shopping-row{border-bottom:1px solid #27292d;grid-template-columns:28px minmax(150px,1fr) minmax(105px,.45fr) 38px;align-items:center;gap:8px;padding:7px 0;display:grid}.current-product-cell{min-width:0;display:grid}.current-product-cell .shopping-item-sources{padding:0 8px}.current-shopping-row input[type=text],.current-product-input,.current-amount-input{color:#f3f3f3;background:0 0;border:1px solid #0000;border-radius:8px;min-width:0;padding:8px}.current-shopping-row input:focus{background:#16181b;border-color:#74777d}.current-shopping-row.done input{color:#8f9196;text-decoration:line-through}.current-check-label{cursor:pointer;place-items:center;display:grid}.current-check-label input{opacity:0;position:absolute}.current-remove{color:#c5c7cb;background:0 0;border:1px solid #42454b;min-height:36px;padding:0;font-size:1.35rem}.planner-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px;display:grid}.planner-toolbar>div{text-align:center;gap:3px;display:grid}.planner-today{color:var(--sage-dark);text-decoration:underline}.planner-table-scroll{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow-x:auto}.planner-table{border-collapse:collapse;width:100%;min-width:820px}.planner-table th,.planner-table td{border-bottom:1px solid var(--line);text-align:left;padding:13px 11px}.planner-table thead th{color:var(--sage-dark);background:#f1f4ed}.planner-table tbody tr:last-child th,.planner-table tbody tr:last-child td{border-bottom:0}.planner-table select{width:100%;min-width:180px;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:10px}.planner-day-check{text-transform:capitalize;align-items:center;gap:9px;min-width:155px;display:flex}.planner-day-check input{width:18px;height:18px;accent-color:var(--sage)}.planner-mobile-cards{display:none}.planner-footer{justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.planner-footer p{margin:0}@media (max-width:760px){.workspace-tabs{width:100%}.workspace-tabs button{flex:1;min-width:0}.current-add-form{grid-template-columns:1fr}.current-shopping-row{grid-template-columns:28px minmax(0,1fr) 86px 36px}.current-shopping-row input{padding-left:5px;padding-right:5px}.planner-toolbar{grid-template-columns:1fr 1fr}.planner-toolbar>div{grid-area:1/1/auto/-1}.planner-table-scroll{display:none}.planner-mobile-cards{gap:12px;display:grid}.planner-day-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.planner-day-card>header{justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.planner-day-card.is-past>header{background:#f3f0e8}.planner-day-card .planner-day-check{min-width:0;font-weight:750}.planner-day-toggle{min-height:38px;padding:7px 10px;font-size:.82rem}.planner-day-slots{gap:13px;padding:0 14px 16px;display:grid}.planner-day-slots label{color:var(--sage-dark);gap:6px;font-weight:700;display:grid}.planner-day-slots select{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:10px;padding:10px}.planner-footer{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));z-index:8;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;border-radius:14px;flex-direction:column;align-items:stretch;margin:14px -4px 0;padding:12px;position:sticky;box-shadow:0 -8px 24px #3f312017}.planner-footer button{width:100%}}.recycle-list{margin-bottom:18px;display:grid}.recycle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.recycle-row>div:first-child{gap:5px;display:grid}.recycle-row small{color:var(--muted)}@media (max-width:650px){.recycle-row{flex-direction:column;align-items:flex-start}.recycle-row .actions{margin-top:0}}.planner-meal-field{gap:7px;display:grid}.planner-recipe-row{align-items:stretch;gap:7px;min-width:0;display:flex}.planner-recipe-row>select{flex:1;min-width:0}.planner-recipe-row .serving-scale-compact{flex:0 0 76px;margin:0}.planner-recipe-row .serving-scale-compact label{display:block}.planner-recipe-row .serving-scale-compact.is-short span{display:none}.planner-recipe-row .serving-scale-compact select{width:100%;min-width:0;height:100%}.planner-table .planner-recipe-row>select{min-width:0}.planner-dish{gap:7px;display:grid}.planner-dish-additional{border-top:1px dashed var(--line);padding-top:8px}.planner-meal-options{flex-wrap:wrap;align-items:center;gap:7px 14px;display:flex}.planner-second-dish{color:var(--sage-dark);align-items:center;gap:7px;font-size:.84rem;font-weight:700;display:flex}.planner-second-dish input{width:17px;height:17px;accent-color:var(--sage)}@media (max-width:760px){.planner-mobile-slot{color:var(--sage-dark);gap:6px;display:grid}.planner-mobile-slot .planner-recipe-row>select{width:100%;min-height:48px}.planner-mobile-slot .serving-scale-compact{min-height:48px;margin-left:0}.planner-day-slots label.planner-leftover,.planner-day-slots label.planner-second-dish{white-space:nowrap;align-items:center;gap:7px;width:max-content;display:inline-flex}.planner-day-slots label.planner-leftover input,.planner-day-slots label.planner-second-dish input{flex:none}}.planner-daily-tools{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.planner-tool-card{align-content:start;gap:14px;padding:20px;display:grid}.planner-tool-card h2{margin:0 0 5px;font-size:1.28rem}.planner-tool-card p{margin:0}.planner-tool-form{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.planner-tool-form select,.planner-tool-form input{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #cfc6b7;border-radius:9px;padding:10px}.planner-queue-list,.planner-template-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.planner-queue-list li,.planner-template-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.planner-template-list li>span{gap:2px;display:grid}.planner-template-list small{color:var(--muted)}.planner-row-actions{align-items:center;gap:5px;display:flex}.planner-row-actions button{min-height:34px;padding:6px 9px;font-size:.8rem}.planner-row-actions button[aria-label^=Remove],.planner-row-actions button[aria-label^=Удалить]{font-size:1.1rem}.planner-tool-empty{padding:8px 0}.planner-week-actions{justify-content:flex-end;gap:8px;margin:-8px 0 14px;display:flex}.planner-leftover{color:var(--sage-dark);align-items:center;gap:7px;font-size:.84rem;font-weight:700;display:flex}.planner-leftover input{width:17px;height:17px;accent-color:var(--sage)}.planner-leftover-help{margin:12px 0 0;font-size:.88rem}.notice.success{color:var(--sage-dark);background:#edf6e9;border-color:#bed4b6}@media (max-width:900px){.planner-daily-tools{grid-template-columns:1fr}.planner-queue-list li,.planner-template-list li{flex-direction:column;align-items:flex-start}.planner-row-actions{flex-wrap:wrap;width:100%}.planner-row-actions button{flex:1}}@media (max-width:760px){.planner-tool-form{grid-template-columns:1fr}.planner-tool-form button{width:100%}.planner-week-actions{grid-template-columns:repeat(3,1fr);display:grid}.planner-week-actions button{padding:9px;font-size:.82rem}}.classification-chips,.filter-chip-field{border:0;min-width:0;margin:0 0 17px;padding:0}.classification-chips legend,.filter-chip-field legend{margin-bottom:8px;font-weight:700}.classification-chips>div,.filter-chip-field>div{flex-wrap:wrap;gap:8px;display:flex}.classification-chip{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--sage-dark);cursor:pointer;border-radius:999px;align-items:center;padding:9px 13px;font-weight:700;display:inline-flex;position:relative}.classification-chip.selected{border-color:var(--sage);background:var(--sage);color:#fff}.classification-chip input{opacity:0;position:absolute}.classification-chip:focus-within{outline-offset:2px;outline:3px solid #dc9d52}.filter-chip-field{grid-column:span 2}.filter-chip-field .check-row{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:40px;padding:7px 10px;font-weight:600}.planner-picker-mode{justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.planner-picker-mode .link-button{white-space:nowrap;min-height:32px;padding:2px;text-decoration:underline}.planner-no-suggestions{margin:0;font-size:.75rem;line-height:1.35}@media (min-width:761px){.filter-form .filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,180px));align-items:start}.filter-form .filter-grid>label:last-child{order:1}.filter-form .filter-grid>.filter-chip-field:first-of-type{order:2}.filter-form .filter-grid>.filter-chip-field:last-of-type{order:3}}@media (max-width:760px){.filter-chip-field{grid-column:auto}.classification-chips>div{grid-template-columns:1fr 1fr;display:grid}.classification-chip{justify-content:center}.planner-picker-mode{font-size:.8rem}}
.family-page{max-width:920px;margin:0 auto}.family-summary-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.family-summary-grid strong{margin-top:8px;font-size:1.35rem;display:block}.family-quota progress{width:100%;height:10px;accent-color:var(--sage);margin-top:16px;display:block}.family-name-form{grid-template-columns:1fr auto;gap:12px;display:grid}.family-name-form input{background:#fff;border:1px solid #cfc6b7;border-radius:9px;width:100%;padding:12px}.family-members-list{display:grid}.family-member-row{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.family-member-row:last-child{border-bottom:0}.family-member-row>span:nth-child(2){gap:2px;display:grid}.family-member-row small{color:var(--muted);display:block}.family-avatar{width:42px;height:42px;color:var(--sage-dark);background:#e8efe5;border-radius:50%;place-items:center;font-weight:800;display:grid}.family-share-box{margin-top:18px}.family-live-badge,.recipe-owner{color:var(--sage-dark);background:#e8efe5;border-radius:999px;margin:.55rem 0 0;padding:6px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.recipe-scope-tabs{margin-bottom:18px}.success-notice{border-left-color:var(--sage);background:#edf6eb}.recipe-family-notes{margin-top:0}.family-note-list{gap:10px;display:grid}.family-note{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 17px}.family-note header{color:var(--sage-dark);justify-content:space-between;gap:14px;display:flex}.family-note time{color:var(--muted);font-size:.82rem}.family-note p{white-space:pre-wrap;margin:.65rem 0;line-height:1.55}.danger-text{color:#a43f32}.family-note-form{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:16px;display:grid}.family-note-form textarea{resize:vertical;background:#fff;border:1px solid #cfc6b7;border-radius:10px;min-height:88px;padding:12px}@media (max-width:620px){.family-summary-grid,.family-name-form,.family-note-form{grid-template-columns:1fr}.family-member-row{grid-template-columns:40px minmax(0,1fr)}.family-member-row>button{grid-column:2;justify-self:start}.family-note header{gap:3px;display:grid}}.family-member-row{grid-template-columns:44px minmax(0,1fr) auto auto}.family-invitations{margin-top:24px}.family-invitations article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.family-invitations article>div:first-child{gap:4px;display:grid}.family-invitations small{color:var(--muted)}@media (max-width:720px){.family-member-row{grid-template-columns:40px minmax(0,1fr)}.family-invitations article{flex-direction:column;align-items:flex-start}}.family-upgrade-hint{color:var(--muted);margin:18px 0 0}.family-upgrade-hint a{color:var(--sage-dark);font-weight:700;text-decoration:underline}
.blog-article{max-width:880px;margin:0 auto;padding:56px 0 28px;font-size:1.08rem;line-height:1.72}.blog-article-kicker{color:var(--clay);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:750}.blog-article h1{margin:0 0 18px;font-size:clamp(2.45rem,6vw,4.7rem);line-height:1.02}.blog-article h2{margin:54px 0 16px;font-size:clamp(1.7rem,3.6vw,2.45rem)}.blog-article h3{margin:32px 0 10px;font-family:Georgia,serif;font-size:1.35rem;line-height:1.2}.blog-article p,.blog-article ul,.blog-article ol,.blog-article blockquote,.blog-article table{margin:0 0 20px}.blog-article li+li{margin-top:7px}.blog-article blockquote{border-left:4px solid var(--clay);background:#f5efe4;border-radius:0 12px 12px 0;padding:18px 22px;font-family:Georgia,serif;font-size:1.05em}.blog-article a:not(.button){color:var(--sage-dark);text-underline-offset:.16em;font-weight:700;text-decoration:underline;text-decoration-thickness:.08em}.blog-figure{margin:38px 0 46px}.blog-figure img{border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow);border-radius:18px;display:block}.blog-figure figcaption{max-width:720px;color:var(--muted);text-align:center;margin:12px auto 0;font-size:.92rem;font-style:italic}.blog-table-scroll{max-width:100%;margin:26px 0;overflow-x:auto}.blog-article table{border-collapse:collapse;width:100%}.blog-article th,.blog-article td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 14px}.blog-article th{color:var(--sage-dark);background:#edf2e9}.blog-byline{border-top:1px solid var(--line);color:var(--muted);margin:48px 0 0;padding-top:20px;font-weight:650}.blog-faq{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;margin-top:58px;padding:28px}.blog-faq h2{margin-top:0}.blog-faq h3:first-of-type{margin-top:18px}.blog-cta{background:var(--sage-dark);color:#fff;border-radius:20px;margin:48px 0 20px;padding:32px}.blog-cta h2{color:#fff;margin:0 0 12px}.blog-cta .button{color:var(--sage-dark);background:#fff;margin-top:8px;display:inline-flex}@media (max-width:760px){.blog-article{padding:36px 0 18px;font-size:1rem;line-height:1.65}.blog-article h1{font-size:2.35rem}.blog-article h2{margin-top:42px}.blog-figure{margin:30px -2px 36px}.blog-faq,.blog-cta{padding:22px}}.blog-breadcrumb{color:var(--muted);align-items:center;gap:8px;margin:-2px 0 24px;font-size:.92rem;display:flex}.blog-breadcrumb a{color:var(--sage-dark);font-weight:700}.blog-hub h2{margin:58px 0 18px;font-size:clamp(1.7rem,3.6vw,2.45rem)}.blog-hub h3{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.18}.blog-hub-kicker{color:var(--clay);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:750}.blog-hub-lead{max-width:700px;color:var(--muted)}.blog-hub-card>div{padding:26px}.blog-hub-card p{margin:0 0 16px}.blog-hub-card a,.blog-hub-value a{color:var(--sage-dark);text-underline-offset:.16em;font-weight:750;text-decoration:underline}.blog-hub-descriptor{color:var(--muted);font-style:italic;font-size:.95rem!important}.blog-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.blog-hub-value{border-left:4px solid var(--clay);background:#f5efe4;border-radius:0 18px 18px 0;margin-top:56px;padding:34px}.blog-hub-value h2{margin-top:0}.blog-hub-faq{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;margin-top:58px;padding:28px}.blog-hub-faq h2{margin-top:0}.blog-hub-faq h3{margin-top:28px;font-size:1.3rem}.blog-hub-cta{background:var(--sage-dark);color:#fff;border-radius:20px;margin-top:48px;padding:32px}.blog-hub-cta h2{color:#fff;margin:0 0 12px}.blog-hub-cta p{margin:0 0 20px}.blog-hub-cta .button{color:var(--sage-dark);background:#fff;margin:0 10px 8px 0;display:inline-flex}.blog-hub-cta .button.secondary{color:#fff;background:0 0;border-color:#fff}@media (max-width:760px){.blog-hub{padding:36px 0 18px}.blog-hub p{font-size:1rem}.blog-hub h2{margin-top:42px}.blog-hub-featured,.blog-hub-grid{display:block}.blog-hub-grid .blog-hub-card+.blog-hub-card{margin-top:22px}.blog-hub-featured img{height:auto}.blog-hub-card>div,.blog-hub-value,.blog-hub-faq,.blog-hub-cta{padding:22px}}.url-import-source-url{max-width:760px;color:var(--sage-dark);overflow-wrap:anywhere;font-size:.9rem;font-weight:700}.blog-hub{max-width:880px;margin:0 auto;padding:56px 0}.blog-hub h1{margin:0 0 12px;font-size:clamp(2.45rem,6vw,4.7rem);line-height:1.02}.blog-hub h2{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.18}.blog-hub p{font-size:1.08rem;line-height:1.7}.blog-hub-hero{max-width:680px}.blog-hub-hero p{margin:0}.blog-hub-articles{margin-top:38px}.blog-hub-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.blog-hub-card-link{height:100%;color:inherit;text-decoration:none;display:block}.blog-hub-card-link:focus-visible{outline:3px solid var(--sage-dark);outline-offset:-3px}.blog-hub-card-link:hover h2,.blog-hub-card-link:focus-visible h2{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:.08em}.blog-hub-card img{width:100%;height:auto;display:block}.blog-hub-card-link>div{padding:26px}.blog-hub-card-link>div>p:not(.blog-hub-category){margin:0 0 16px}.blog-hub-card-action{color:var(--sage-dark);text-underline-offset:.16em;font-weight:750;text-decoration:underline}.blog-hub-category{color:var(--clay);letter-spacing:.08em;text-transform:uppercase;font-weight:750;margin:0 0 8px!important;font-size:.78rem!important}.blog-hub-featured{grid-template-columns:1.15fr 1fr;display:grid}.blog-hub-featured .blog-hub-card-link{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.blog-hub-featured img{object-fit:cover;height:100%}.blog-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.blog-hub-grid .blog-hub-card{flex-direction:column;display:flex}.blog-hub-grid .blog-hub-card-link{flex-direction:column;flex:1;display:flex}.blog-hub-grid .blog-hub-card-link>div{flex-direction:column;flex:1;align-items:flex-start;display:flex}.blog-hub-grid .blog-hub-card-action{margin-top:auto}.blog-hub-cta{border:1px solid var(--line);background:#f5efe4;border-radius:20px;margin-top:42px;padding:28px}.blog-hub-cta h2{font-size:clamp(1.45rem,3vw,2rem)}.blog-hub-cta p{max-width:620px;margin:0 0 18px}.blog-hub-cta .button{margin:0;display:inline-flex}@media (max-width:760px){.blog-hub{padding:36px 0 18px}.blog-hub p{font-size:1rem}.blog-hub-featured,.blog-hub-grid,.blog-hub-featured .blog-hub-card-link{display:block}.blog-hub-grid .blog-hub-card+.blog-hub-card{margin-top:22px}.blog-hub-featured img{height:auto}.blog-hub-card-link>div,.blog-hub-cta{padding:22px}}.blog-figure--narrow{max-width:480px;margin-left:auto;margin-right:auto}
.admin-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.admin-summary .panel{gap:5px;padding:18px;display:grid}.admin-summary strong{color:var(--sage-dark);font:700 2rem Georgia,serif}.admin-summary span{color:var(--muted)}.admin-pdf-summary{background:#edf3e9;border:1px solid #c8d6c8;border-radius:16px;margin:0 0 24px;padding:20px}.admin-pdf-summary h2{margin:0 0 5px}.admin-pdf-summary p{margin:0 0 16px}.admin-pdf-summary .admin-summary{margin:0}.admin-create-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.admin-create-grid .field{margin:0}.admin-create-grid button{grid-column:1/-1;width:max-content}.admin-users-head{align-items:end;margin:32px 0 14px}.admin-users-head h2{margin:0}.admin-users-head h2 small{font:inherit;color:var(--muted)}.admin-users-head .field{width:min(420px,45vw);margin:0}.admin-user-list{gap:14px;display:grid}.admin-user-card{margin:0}.admin-user-card header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-user-card h3,.admin-user-card p{margin:0}.admin-status{border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:750}.admin-status-active{color:#294734;background:#e5f1e7}.admin-status-suspended{color:#842f24;background:#f8dfda}.admin-user-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.admin-user-card dl div{gap:4px;display:grid}.admin-user-card dt{color:var(--muted);font-size:.82rem}.admin-user-card dd{margin:0}.admin-payment-status{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding:12px 0 16px;display:flex}.admin-payment-status strong{color:var(--ink)}.admin-payment-status span,.admin-payment-status small{color:var(--muted)}.admin-payment-status small{flex-basis:100%}.admin-user-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;padding-top:16px;display:grid}.admin-user-actions form{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.admin-user-actions .field{margin:0}.admin-user-actions button{white-space:nowrap}@media (max-width:900px){.admin-summary,.admin-create-grid,.admin-user-card dl{grid-template-columns:1fr 1fr}.admin-user-actions{grid-template-columns:1fr}}@media (max-width:600px){.admin-summary,.admin-create-grid,.admin-user-card dl,.admin-user-actions form{grid-template-columns:1fr}.admin-users-head{align-items:stretch}.admin-users-head .field{width:100%}.admin-user-card header{flex-direction:column;align-items:flex-start}.admin-user-actions button{width:100%}}
.shopping-preferences{margin-bottom:18px;padding:0}.shopping-preferences>summary{cursor:pointer;color:var(--sage-dark);padding:18px;font-weight:750}.shopping-preferences-body{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:24px;padding:0 18px 20px;display:grid}.shopping-preferences h3{margin:.3rem 0}.shopping-staple-form{grid-template-columns:1fr .7fr .8fr auto;gap:8px;display:grid}.shopping-staple-form input,.shopping-staple-form select{background:#fff;border:1px solid #cfc6b7;border-radius:9px;min-width:0;padding:10px}.shopping-staples-list{gap:7px;margin-top:12px;display:grid}.shopping-staples-list>div{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto 42px;align-items:center;gap:7px;padding:9px;display:grid}.shopping-staples-list span{display:grid}.shopping-staples-list small{color:var(--muted)}.shopping-category-order{gap:6px;padding:0;list-style:none;display:grid}.shopping-category-order li{grid-template-columns:minmax(0,1fr) 42px 42px;align-items:center;gap:6px;display:grid}.shopping-category-order button{min-height:38px;padding:5px}.duplicate-recipe-warning{margin:-5px 0 18px}.duplicate-recipe-warning ul{margin:8px 0;padding-left:20px}@media (max-width:800px){.shopping-preferences-body{grid-template-columns:1fr}.shopping-staple-form{grid-template-columns:1fr 1fr}.shopping-staple-form button{grid-column:1/-1}}@media (max-width:520px){.shopping-staple-form{grid-template-columns:1fr}.shopping-staple-form button{grid-column:auto}}
