/* Fælles design: indhold direkte på hvid baggrund, få ord og kompakte rækker. */
.day-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.day-navigation h2{font-size:18px;margin:0}.day-navigation h2 small{font-size:var(--text-small);color:var(--muted);font-weight:400;margin-left:8px}.day-navigation button{font-size:24px;padding:0 16px}.day-navigation button:disabled{opacity:.3;cursor:default}.plan-recipe{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 0;color:inherit;text-decoration:none}.plan-recipe>span:nth-child(2){flex:1;min-width:0}.plan-recipe strong{font-size:var(--text-label);line-height:1.4}.plan-recipe small{margin-top:4px}.recipe-thumb{width:62px;height:62px;flex-shrink:0;border-radius:8px;object-fit:cover}.recipe-placeholder{display:grid;place-items:center;background:var(--accent-soft);color:var(--muted);font-size:27px}.recipe-back{display:inline-flex;align-items:center;min-height:44px;color:var(--green);text-decoration:none}.recipe-detail h1{font-size:23px;line-height:1.3}.recipe-detail h2{font-size:var(--text-label);margin-top:22px}.recipe-detail li,.recipe-detail p{font-size:var(--text-label);line-height:1.6}.recipe-cover{width:100%;max-height:300px;object-fit:cover;border-radius:9px}
:root{background:var(--surface);color:var(--ink);--line:var(--line);--muted:var(--muted)}
.brand{padding:17px 22px;border-bottom:1px solid var(--line)}
.brand a{font-size:17px;letter-spacing:-.4px;padding-left:30px}.brand-icon{font-size:27px;top:-3px}
main{padding:18px 22px calc(95px + env(safe-area-inset-bottom))}
.settings-card,.ingredient-list,.meal,.plan-builder,.plan-day,.attendance{background:transparent;border:0;border-radius:0;box-shadow:none}
.settings-card,.meal,.plan-builder,.plan-day{padding:0}
.ingredient-form{margin-top:0}.ingredient-form h2{font-size:var(--text-label);margin-bottom:12px}
.ingredient-form label{font-size:var(--text-small);margin-top:10px}
.ingredient-form input,.ingredient-form select,textarea{background:var(--surface);border-color:var(--line);border-radius:7px}
.ingredient-form input,.ingredient-form select{min-height:44px}
.ingredient,.shopping-item{padding:12px 0;min-height:62px}
.section-title{margin:22px 0 6px}.section-title h2{font-size:var(--text-label)}
.footnote{margin:10px 0;font-size:var(--text-small)}.footnote:empty,.saved:empty{display:none}
.plan-builder{margin:0 0 20px;padding:0}.plan-builder>summary{font-size:var(--text-label);min-height:44px;display:flex;align-items:center;cursor:pointer}
.plan-builder>summary:before{content:'+';font-size:19px;margin-right:8px;color:var(--green)}.plan-builder[open]>summary:before{content:'−'}
.attendance{margin:16px 0}.attendance-head{background:transparent;color:var(--muted)}
.attendance-head,.attendance-row{padding-left:0;padding-right:0}.attendance-head strong{font-weight:500}
button{border-radius:7px;background:var(--surface)}.row-actions button{border:0;color:var(--muted)}.row-actions button:hover{color:var(--green);background:var(--surface-soft)}
.tag{border:0;border-radius:6px;background:var(--accent-soft)}.form-actions{margin-top:14px}
.meal-list{gap:0}.meal{padding:20px 0;border-top:1px solid var(--line)}
.meal h2{font:600 17px/1.4 var(--font-ui);max-width:none;letter-spacing:-.3px;margin:8px 0}
.meal-bottom{margin-top:8px}.meal details{margin-top:10px}.notice{font-size:var(--text-small);color:var(--muted);border:0;padding:0 0 8px}.notice span{display:none}
.shopping-total{background:transparent;color:var(--ink);border-radius:0;border-bottom:1px solid var(--line);padding:0 0 15px}
.shopping-total small,.shopping-total>span{color:var(--muted)}.shopping-total strong{font:600 26px var(--font-ui)}
.plan-day{margin:20px 0}.plan-day>h2{font:600 14px var(--font-ui);margin-bottom:10px}
.plan-slot{padding:10px 0}.plan-slot>strong{font-size:var(--text-small)}.plan-slot details{border:0;padding:4px 0;margin:0}
nav{background:#ffffffed;padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
nav a{border-radius:8px}nav a[aria-current]{background:var(--accent-soft)}
@media(min-width:600px){main{padding:24px 40px 105px}.brand{padding:18px 40px}}
.child-form{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.child-form .saved{margin-top:10px}
.baby-options{margin:12px 0 16px}.baby-options summary{font-size:var(--text-small)}.baby-meal{margin-top:7px;padding-left:10px;border-left:2px solid var(--line)}
nav{grid-template-columns:repeat(5,1fr)}nav a{font-size:var(--text-small)}.recipe-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-title button{border:0;font-size:24px}.recipe-text{white-space:pre-wrap;overflow-wrap:anywhere}
.kitchen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 14px}.kitchen-toolbar>small{font-size:var(--text-small);color:var(--muted)}.view-switch{display:flex;gap:3px}.view-switch button{border:0;color:var(--muted);padding:8px 12px}.view-switch button[aria-pressed="true"]{background:var(--accent-soft);color:var(--green)}.kitchen-group{margin:20px 0}.kitchen-group h2{font-size:var(--text-small);font-weight:600;margin:0;padding-bottom:7px;border-bottom:1px solid var(--line)}.kitchen-group h2 small{color:var(--muted);font-weight:400;margin-left:5px}
.recipe-ingredient-row { display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) 40px; gap:10px; align-items:end; padding:14px; margin-bottom:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.recipe-ingredient-row label { display:flex; flex-direction:column; gap:6px; min-width:0; margin:0; font-size:var(--text-small); }
.recipe-ingredient-row input:not([type="hidden"]), .recipe-ingredient-row select { width:100%; min-width:0; height:46px; min-height:46px; margin:0; padding:10px 12px; box-sizing:border-box; border:1px solid var(--line); border-radius:8px; background:white; font:400 16px/1.4 var(--font-ui); appearance:none; }
.recipe-ingredient-row select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%235d7463' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:28px; }
.recipe-ingredient-row > button { grid-column:auto; width:40px; height:46px; min-height:46px; padding:0; border:0; background:transparent; color:var(--muted); font-size:23px; align-self:end; }
@media(max-width:600px) { .recipe-ingredient-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px; gap:10px; padding:12px; } .recipe-ingredient-row label:first-child { grid-column:1 / 3; grid-row:1; } .recipe-ingredient-row label:nth-child(2) { grid-column:1; grid-row:2; } .recipe-ingredient-row label:nth-child(3) { grid-column:2; grid-row:2; } .recipe-ingredient-row > button { grid-column:3; grid-row:1; width:32px; } }
 .example-recipe-image { width: 100%; max-width: 420px; aspect-ratio: 1; object-fit: cover; border-radius: 12px; display: block; margin-bottom: 16px; }
 .plan-recipe.library-recipe { min-height: clamp(150px, 22vh, 200px); gap: 22px; padding: 16px 0; }
 .plan-recipe.library-recipe .recipe-thumb { width: clamp(100px, 16vw, 148px); height: clamp(100px, 16vw, 148px); }
 .plan-recipe.library-recipe strong { display: block; font-size: 19px; line-height: 1.4; }
 .plan-recipe.library-recipe small { display: block; margin-top: 12px; font-size:var(--text-label); line-height: 1.5; color: var(--muted); }
 @media(max-width: 480px) { .plan-recipe.library-recipe { gap: 16px; } .plan-recipe.library-recipe strong { font-size: 17px; } }
 .recipe-filters { display: grid; gap: 8px; margin: 20px 0; }
 .recipe-filters label { font-size:var(--text-label); font-weight: 600; }
 .recipe-detail .recipe-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--muted); margin:18px 0 28px; }
 .recipe-category { border:1px solid var(--line); border-radius:20px; padding:5px 12px; color:var(--green); }
 .portion-stepper { display:flex; align-items:center; gap:14px; margin:16px 0; }
 .portion-stepper button { border-radius:50%; width:42px; height:42px; padding:0; background:var(--accent-soft); color:var(--green); font-size:24px; }
 .portion-stepper input { width:66px; text-align:center; font-size:20px; margin:0; }
 .visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .recipe-detail.recipe-detail h2 { font-size:20px; margin-top:32px; margin-bottom:16px; }
 .recipe-detail .recipe-ingredient-table { list-style:none; padding:0 18px; margin:0; border:1px solid var(--line); border-radius:12px; }
 .recipe-detail .recipe-ingredient-table li { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:12px 0; border-bottom:1px solid var(--line); font-size:var(--text-body); }
 .recipe-detail .recipe-ingredient-table li:last-child { border-bottom:0; }
 .recipe-ingredient-table strong { white-space:nowrap; font-size:var(--text-label); }
 .recipe-detail .recipe-steps { list-style:none; counter-reset:step; padding:0; }
 .recipe-detail .recipe-steps li { position:relative; counter-increment:step; padding:0 0 28px 45px; font-size:var(--text-body); line-height:1.7; }
 .recipe-steps li:before { content:counter(step); position:absolute; left:0; top:0; background:var(--accent-soft); color:var(--green); width:30px; height:30px; border-radius:50%; text-align:center; line-height:30px; font-weight:600; }
 .recipe-steps li:not(:last-child):after { content:''; position:absolute; left:14px; top:36px; bottom:8px; border-left:1px dashed var(--line); }
 .recipe-tips { background:var(--surface-soft); border-radius:12px; padding:14px 16px; margin:16px 0 22px; }
 .recipe-detail .recipe-tips h2 { margin:0 0 10px; }
 .recipe-tips ol,.recipe-tips ul { margin:0; padding-left:24px; }
 .recipe-tips li { margin-bottom:10px; }
 .recipe-tips li:last-child { margin-bottom:0; }
 .recipe-step-child { margin-top:12px; padding:12px 16px; border-left:4px solid var(--warning); border-radius:0 10px 10px 0; background:var(--warning-soft); color:var(--warning-ink); }
 .recipe-step-child strong { display:block; font-size:var(--text-label); }
 .recipe-step-child p { margin:4px 0 0; font-size:var(--text-label); line-height:1.6; }
 .recipe-detail.recipe-detail .recipe-meta { font-size:20px; font-weight:600; color:var(--green); margin:20px 0 28px; }
 .recipe-filters.recipe-filters { grid-template-columns:minmax(0, 1fr) 185px; gap:12px; margin:24px 0 16px; align-items:center; }
 .recipe-filters input, .recipe-filters select { box-sizing:border-box; width:100%; min-height:48px; margin:0; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); color:var(--ink, var(--ink)); font:400 15px/1.4 var(--font-ui); }
 .recipe-filters input::placeholder { color:var(--muted); font-style:normal; }
 .recipe-filters input:focus, .recipe-filters select:focus { outline:2px solid var(--muted); outline-offset:2px; }
 @media(max-width: 480px) { .recipe-filters.recipe-filters { grid-template-columns:1fr; gap:10px; } }
 .recipe-detail .recipe-ingredient-table li.tip-ingredient { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
 .tip-ingredient strong { text-align:right; }
 .tip-ingredient-label { color:var(--muted); font-size:var(--text-small); font-weight:400; }
 .recipe-edit-actions { display:flex; gap:8px; margin-left:auto; }
 .recipe-edit-actions button { font-size:var(--text-small); font-weight:400; padding:6px 10px; min-height:34px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--green); }
 #gemini-edit-panel[hidden] { display:none; }
 .kitchen-food-notes { margin:12px 0 18px; }
 .kitchen-food-notes summary { color:var(--green); font-size:var(--text-label); cursor:pointer; padding:8px 0; }
 .kitchen-content-note { color:var(--muted); font-size:var(--text-small); line-height:1.5; margin:8px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }

.kitchen-filters{position:sticky;top:0;z-index:3;background:var(--surface);padding:12px 0 14px;border-bottom:1px solid var(--line)}.kitchen-filters .kitchen-toolbar{margin:0}.kitchen-filters .ingredient-form{margin-top:12px}.kitchen-filters .ingredient-form label{margin-top:0}
.kitchen-add-dock{position:fixed;bottom:calc(65px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(100%,720px);display:flex;justify-content:center;padding:12px 22px;background:linear-gradient(transparent,var(--surface) 35%);z-index:4}.kitchen-add-dock a.primary{display:flex;align-items:center;justify-content:center;width:min(280px,100%);min-height:46px;border-radius:10px;background:var(--green);color:white;font-size:var(--text-label)}main:has(.kitchen-add-dock){padding-bottom:calc(170px + env(safe-area-inset-bottom))}
.day-indicators{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:0 0 16px}.day-indicators span{width:7px;height:7px;border-radius:99px;background:var(--line)}.day-indicators .is-current{width:24px;background:var(--green)}
.recipe-ingredient-suggestions, .recipe-identity-status { grid-column: 1 / -1; }
.recipe-ingredient-suggestions { display: flex; flex-wrap: wrap; gap: 6px; }

nav a > span:has(svg) { display: flex; align-items: center; justify-content: center; height: 26px; }
nav a svg { width: 23px; height: 23px; display: block; }

.kitchen-group-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.kitchen-group-buttons button { flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
.plan-dish { display: flex; align-items: center; gap: 12px; }
.plan-dish .plan-recipe { flex: 1; min-width: 0; }
.plan-dish > button, .eaten-dish button { flex-shrink: 0; min-height: 44px; }
.eaten-dish { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; }
.eaten-dish small { color: var(--muted); }
.shopping-store{margin:24px 0}.shopping-store h2{font-size:var(--text-body);margin:0 0 8px}.shopping-store .shopping-item{flex:1;min-width:0;padding:0}.shopping-store .shopping-name{overflow-wrap:anywhere}

.nearby-stores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin-top: 16px; padding: 12px; }
.nearby-stores label { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; }
.nearby-stores input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--green); }

.shopping-category-heading { font-size:var(--text-label); font-weight: 600; margin: 20px 0 0; color: var(--muted); padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.app-connection { padding: 10px 16px; font-size:var(--text-label); line-height: 1.5; background: var(--surface-soft); border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.app-connection[hidden] { display: none; }
.app-connection button { margin: 8px 0 0; min-height: 44px; }
.app-connection a { display: inline-block; padding: 6px 0; text-decoration: underline; }
.shopping-store{border:0;padding:0;background:transparent}
.shopping-store>summary{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;list-style:none;border-bottom:1px solid var(--line);padding:4px 0 10px}
.shopping-store>summary::-webkit-details-marker{display:none}
.shopping-store>summary h2{flex:1;margin:0;font-size:var(--text-body)}
.shopping-store>summary small{font-size:var(--text-small);color:var(--muted);white-space:nowrap}
.shopping-store-chevron{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:0 4px 4px;flex-shrink:0}
.shopping-store[open]>summary .shopping-store-chevron{transform:rotate(225deg);margin-bottom:0}
.shopping-store>summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:6px}
.shopping-category{margin-top:22px;padding:0;background:transparent;border:0;border-radius:0}
.shopping-category .shopping-category-heading{margin:0;padding:10px 12px;color:var(--ink);background:var(--category-tint,var(--surface-soft));border:0;border-left:3px solid var(--category-accent,#9aaba0);border-radius:0}
.shopping-category .ingredient{background:transparent;border-bottom-color:var(--line)}
.shopping-category .ingredient.kitchen-swipe-content{background:var(--surface)}
.shopping-category .ingredient:last-child{border-bottom:0}
.shopping-category[data-shopping-category="Frugt og grøntsager"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Kød, fisk og pålæg"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Brød, kager og søde sager"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Kolonial og konserves"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Mel, ris, gryn og pasta"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Mejeriprodukter"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Frostvarer"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Husholdning"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Personlig pleje"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Andet"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-category[data-shopping-category="Afkrydsede varer"]{--category-tint:var(--accent-soft);--category-accent:var(--line)}
.shopping-store-start{display:block;padding:13px 0;color:var(--green);font-size:var(--text-label);font-weight:600}
.shopping-overview-item{cursor:default}
.shopping-checklist .shopping-item{display:flex;align-items:center;gap:12px;width:100%}
.shopping-checklist .shopping-category .ingredient{padding-left:0;padding-right:0}
.shopping-category .shopping-category-heading{display:flex;align-items:center;gap:9px}
.shopping-category-icon{width:19px;height:19px;flex-shrink:0}
/* Compact shopping rows; preserve a comfortable touch target for checkboxes. */
.shopping-store .shopping-category .ingredient{min-height:56px;padding:6px 0;gap:8px;flex-wrap:nowrap}
.shopping-store .shopping-item{min-height:44px;padding:0}
.shopping-store .shopping-name strong{font-size:var(--text-label);line-height:1.3}
.shopping-store .shopping-name small{margin-top:2px;line-height:1.3}
.shopping-store .row-actions{gap:2px;flex-shrink:0}
.shopping-store .row-actions button{padding:6px;font-size:var(--text-small)}
.shopping-category{margin-top:16px}
.shopping-category .shopping-category-heading{padding:8px 10px}
/* Moving checked rows must not make browser scroll anchoring follow them. */
.shopping-checklist{overflow-anchor:none}
.plan-overview{display:flex;flex-direction:column;min-height:calc(100dvh - 160px)}.plan-header{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:0}.plan-header .plan-builder{flex:1;margin:0;min-width:0}.plan-approval-status{font-size:var(--text-small);line-height:20px;margin:8px 0 0;padding:4px 9px;border-radius:6px}.plan-approval-status.is-pending{color:var(--danger);background:var(--danger-soft)}.plan-approval-status.is-approved{color:var(--green);background:var(--accent-soft)}.plan-transfer-actions{margin-top:auto;padding-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.kitchen-swipe-row{position:relative;overflow:hidden;border-bottom:1px solid var(--line);--swipe-offset:0px}.kitchen-swipe-content{position:relative;z-index:1;background:white;transform:translateX(var(--swipe-offset));transition:transform .18s ease;border-bottom:0!important}.kitchen-swipe-row.is-dragging .kitchen-swipe-content{transition:none}.kitchen-swipe-delete{position:absolute;right:0;top:0;bottom:0;width:64px;border:0;border-radius:6px;background:var(--danger-soft);color:var(--danger);display:flex;align-items:center;justify-content:center;padding:0;visibility:hidden}.kitchen-swipe-row.is-delete-open .kitchen-swipe-delete{visibility:visible}.kitchen-swipe-delete svg{width:21px;height:21px}.kitchen-swipe-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}

.kitchen-swipe-delete{width:var(--swipe-reveal,0px);transition:width .18s ease}.kitchen-swipe-row.is-dragging .kitchen-swipe-delete{transition:none}

.kitchen-quick-quantity{position:absolute;left:0;top:0;bottom:0;width:40%;display:flex;align-items:center;justify-content:center;gap:0;background:var(--accent-soft);visibility:hidden}.is-quantity-open .kitchen-quick-quantity{visibility:visible}.kitchen-quick-quantity button{flex:0 0 30px;width:30px;min-width:0;height:44px;padding:0;font-size:24px;border:0;background:transparent}.kitchen-quick-quantity output{flex:1;min-width:0;text-align:center;font-size:var(--text-label);white-space:nowrap}.is-quantity-open .kitchen-swipe-delete{visibility:hidden}

.is-quantity-open .kitchen-swipe-content .ingredient-info{padding-left:12px}.quantity-stepper{display:flex;align-items:center;width:calc(100% - 12px);border:1.5px solid var(--green);border-radius:999px;color:var(--green);background:transparent}.quantity-stepper button{font-size:22px;color:var(--green);height:36px;min-height:36px}.quantity-stepper output{overflow:hidden;text-overflow:ellipsis}.app-loading{min-height:60vh}
.quantity-stepper,.quantity-stepper *,.kitchen-swipe-delete,.kitchen-swipe-delete *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.quantity-stepper button{touch-action:none}

.is-quantity-open .kitchen-swipe-content .shopping-name{padding-left:12px}.kitchen-swipe-row .shopping-item{min-width:0}
.kitchen-swipe-row,.kitchen-swipe-row *,.shopping-category-heading,.kitchen-filters{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.kitchen-quick-quantity{width:var(--swipe-reveal,0px);border-radius:6px;transition:width .18s ease}.kitchen-swipe-row.is-dragging .kitchen-quick-quantity{transition:none}
.kitchen-quick-quantity{overflow:hidden}.kitchen-quick-quantity .quantity-stepper{flex:0 0 auto;width:calc(var(--swipe-action-width, 160px) - 12px);border:1.5px solid var(--green);border-radius:999px;transform:scale(var(--swipe-progress,0));opacity:var(--swipe-progress,0);transition:transform .18s ease,opacity .18s ease}.kitchen-swipe-row.is-dragging .quantity-stepper{transition:none}
.kitchen-add-dock{gap:10px;align-items:center}.kitchen-add-dock .kitchen-tools{position:relative;flex:0 0 46px;margin:0;color:var(--green)}.kitchen-add-dock .kitchen-tools>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:27px;cursor:pointer}.kitchen-tools>summary::-webkit-details-marker{display:none}.kitchen-tools>summary:focus-visible{outline:3px solid var(--warning);outline-offset:3px}.kitchen-tools-menu{position:absolute;right:0;bottom:calc(100% + 10px);width:230px;max-width:calc(100vw - 44px);padding:6px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 6px 24px #0002}.kitchen-tools-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;border-radius:7px;font-size:var(--text-label)}.kitchen-tools-menu button:hover{background:var(--accent-soft)}
.kitchen-add-dock>a.primary,.kitchen-add-dock .kitchen-tools,.kitchen-add-dock .kitchen-tools>summary{box-sizing:border-box;height:46px;min-height:46px;margin:0;align-self:center}.kitchen-add-dock .kitchen-tools>summary{line-height:1}.kitchen-add-dock .kitchen-tools>summary span{display:flex;align-items:center;justify-content:center;height:100%;line-height:1}
.shopping-store-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap}.shopping-store>summary .shopping-store-title h2{flex:0 1 auto}.shopping-store-title .shopping-store-start{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:var(--text-small);white-space:nowrap}
.kitchen-add-dock .kitchen-tools{padding:0;border:0}.shopping-store>summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.shopping-store-title{display:contents}.shopping-store>summary .shopping-store-title h2{grid-column:1;min-width:0}.shopping-store-title .shopping-store-start{grid-column:2;justify-self:center}.shopping-store>summary small{grid-column:3;justify-self:end;padding-right:24px}.shopping-store>summary .shopping-store-chevron{position:absolute;right:4px;top:50%;margin:0;transform:translateY(-50%) rotate(45deg)}.shopping-store[open]>summary .shopping-store-chevron{transform:translateY(-50%) rotate(225deg)}
.shopping-view-label{display:block;font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)}.shopping-overview-header{margin:0 0 20px}.shopping-overview-header h1{margin:4px 0 0;font:650 24px/1.2 var(--font-ui);letter-spacing:-.5px}.shopping-visit-header{display:flex;align-items:center;gap:12px;margin:12px 0 24px;padding:18px;border-radius:14px;background:var(--green);color:white}.shopping-visit-header .shopping-view-label{color:var(--on-accent-muted)}.shopping-visit-header h1{margin:4px 0 0;font:650 21px/1.2 var(--font-ui);letter-spacing:-.3px}.shopping-visit-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1.5px solid #ffffff80;border-radius:50%;font-size:23px}.shopping-visit-mode{margin-left:auto;padding:7px 9px;border-radius:7px;background:#ffffff20;font-size:var(--text-small);white-space:nowrap}.shopping-checklist .shopping-item input{accent-color:var(--green)}@media(max-width:380px){.shopping-visit-header{padding:14px;gap:9px}.shopping-visit-mode{font-size:var(--text-small);padding:6px}.shopping-visit-header h1{font-size:18px}}
.finish-shopping-dialog{width:min(420px,calc(100vw - 40px));box-sizing:border-box;padding:24px;border:1px solid var(--line);border-radius:16px;color:var(--ink,var(--ink));box-shadow:0 12px 40px #0003}.finish-shopping-dialog::backdrop{background:#172b2266}.finish-shopping-dialog h2{margin:0 0 12px;font-size:21px}.finish-shopping-dialog p{font-size:var(--text-label);line-height:1.5;margin:0 0 22px}.finish-shopping-actions{display:grid;gap:10px}.finish-shopping-actions button{min-height:46px;font-size:var(--text-label)}.finish-shopping-actions button:last-child{border-color:transparent;background:transparent;color:var(--muted)}
.shopping-overview-header{margin-bottom:8px}.shopping-overview-header h1{font:500 28px/1.15 var(--font-ui);letter-spacing:-.6px;color:var(--green)}.shopping-overview-header~#shopping-groups>.shopping-store:first-child{margin-top:8px}.shopping-store>summary .shopping-store-title h2{font:500 20px/1.2 var(--font-ui);letter-spacing:-.3px;color:var(--green)}
.shopping-quantity-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:6px;margin-top:16px}.shopping-quantity-fields>.quantity-heading{grid-column:1;grid-row:1;margin:0}.ingredient-form .shopping-quantity-fields>label{grid-column:2;grid-row:1;margin:0}.shopping-quantity-fields>.quantity-input-row{grid-column:1;grid-row:2;min-width:0}.shopping-quantity-fields>.quantity-unit-row{grid-column:2;grid-row:2;min-width:0}#shopping-form #ingredient-search-status:empty{display:none}
.recipe-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:10px 0 16px}.recipe-detail.recipe-detail .recipe-toolbar .recipe-meta{display:contents;font-size:13px;font-weight:400;margin:0}.recipe-toolbar .recipe-portions{order:1}.recipe-toolbar .portion-stepper{gap:8px;margin:0}.recipe-toolbar .portion-stepper button{width:36px;height:36px;min-height:36px;font-size:21px}.recipe-toolbar .portion-stepper input{width:48px;min-height:36px;font-size:16px;padding:6px}.recipe-toolbar .portion-stepper>span{font-size:12px}.recipe-toolbar .recipe-meta>span{order:2;margin-left:auto;white-space:nowrap}.recipe-toolbar .recipe-edit-actions{order:3;display:flex;gap:6px;margin:0}.recipe-toolbar .recipe-edit-actions button{min-height:36px;padding:6px 9px;font-size:12px}.recipe-toolbar #gemini-edit-panel{order:4;width:100%;margin:0}.recipe-detail #recipe-scale-status:empty{display:none}

.plan-overview > .plan-day{margin-top:8px}

.recipe-detail .recipe-ingredient-table li.ingredient-in-kitchen { background:var(--surface-soft); color:var(--primary, #315d49); margin:0 -18px; padding:12px 18px; }

@media (max-width: 600px) { .recipe-toolbar .recipe-edit-actions { flex-basis:100%; flex-wrap:wrap; } }
