#modal-root .kn7-meta-shell #kn7-relation-panel[hidden]{display:none!important}
#modal-root .kn7-meta-shell #kn7-relation-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 8px;padding:16px;border:1px solid rgba(120,120,128,.12);border-radius:22px;background:rgba(120,120,128,.035)}
#modal-root .kn7-meta-shell #kn7-relation-panel>.field{min-width:0;margin:0}#modal-root .kn7-meta-shell #kn7-relation-panel select,#modal-root .kn7-meta-shell #kn7-relation-panel input{max-width:100%;box-sizing:border-box}#modal-root .kn7-meta-shell #kn7-relation-panel select[multiple]{width:100%;min-height:90px;border-radius:12px}#modal-root .kn7-meta-shell #kn7-relation-panel small{display:block;margin:5px 0;color:var(--text-faint);font-size:11px}
#modal-root .kn7-relations-toggle{appearance:none;border:1px solid rgba(120,120,128,.12);background:rgba(120,120,128,.06);color:var(--text);border-radius:999px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}#modal-root .kn7-relations-toggle[aria-expanded="true"]{background:rgba(120,120,128,.15)}
#modal-root .kn7-relation-label{display:block;margin:0 0 8px;font-size:12px;font-weight:650}#modal-root .kn7-rel-checks{display:flex;flex-wrap:wrap;gap:7px;max-height:160px;overflow:auto}#modal-root .kn7-rel-checks label{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 10px;border:1px solid rgba(120,120,128,.13);border-radius:999px;background:rgba(120,120,128,.055);font-size:12px;cursor:pointer}#modal-root .kn7-rel-checks label:has(input:checked){background:color-mix(in srgb,var(--accent) 13%,var(--surface));border-color:color-mix(in srgb,var(--accent) 25%,transparent)}#modal-root .kn7-rel-checks label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#modal-root .kn7-rel-checks input[type="checkbox"]{appearance:none;flex:none;width:17px;height:17px;border:1.5px solid rgba(120,120,128,.35);border-radius:6px;background:var(--surface);display:inline-grid;place-items:center;cursor:pointer}#modal-root .kn7-rel-checks input:checked{background:var(--accent);border-color:var(--accent)}#modal-root .kn7-rel-checks input:checked::after{content:'✓';color:#fff;font-size:11px;font-weight:800}
.nut-shopping-edit{border:0;background:rgba(120,120,128,.08);color:var(--text);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:650;cursor:pointer}.nut-shopping-panel{cursor:pointer}.nut-shopping-panel .nut-shopping{cursor:default}.nut-shopping-modal{width:min(740px,100%)}.nut-shopping-days{display:flex;gap:7px;overflow-x:auto;padding:4px 0 9px}.nut-shopping-days label,.nut-shopping-recipes label{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(120,120,128,.1);border-radius:999px;padding:9px 12px;background:rgba(120,120,128,.045);font-size:12px;white-space:nowrap;cursor:pointer}.nut-shopping-days label:has(input:checked),.nut-shopping-recipes label:has(input:checked){background:rgba(120,120,128,.13)}.nut-shopping-modal h3{font-size:13px;margin:20px 0 9px}.nut-shopping-recipes{display:flex;flex-wrap:wrap;gap:7px;max-height:160px;overflow:auto}.nut-shopping-manual{display:flex;gap:8px}.nut-shopping-manual input{flex:1;min-width:0}.nut-shopping-preview{max-height:240px;overflow:auto;display:grid;gap:7px}.nut-shopping-preview li{display:flex;align-items:center;gap:7px;border-radius:12px;padding:8px;background:rgba(120,120,128,.05);font-size:12px}.nut-shopping-preview span{overflow-wrap:anywhere}.nut-shopping-preview small{margin-left:auto;color:var(--text-faint)}
.nut-shopping-panel .nut-panel-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.nut-shopping-panel .nut-panel-head>div{flex:1 1 110px;min-width:0}.nut-shopping-panel .nut-count{order:2;align-self:center}.nut-shopping-panel .nut-shopping-edit{order:1}.nut-shopping-modal .nut-shopping-preview{list-style:none;padding:0;margin:0}.nut-shopping-modal .nut-shopping-manual button{border-radius:999px}.nut-recipe-link small{color:var(--text-faint);line-height:1.4}.nut-recipe-link select{margin-top:7px}
.nut-filter-checks label,.nut-diet-editor label{border:1px solid rgba(120,120,128,.12);border-radius:999px;padding:7px 11px;background:rgba(120,120,128,.05);font-size:12px;cursor:pointer;transition:background .15s ease,transform .15s ease}.nut-filter-checks label:has(input:checked),.nut-diet-editor label:has(input:checked){background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.nut-filter-checks input[type="checkbox"],.nut-diet-editor input[type="checkbox"],.nut-shopping-modal input[type="checkbox"]{appearance:none;width:17px;height:17px;min-width:17px;border:1.5px solid rgba(120,120,128,.35);border-radius:6px;background:var(--surface);display:inline-grid;place-items:center;cursor:pointer}.nut-filter-checks input:checked,.nut-diet-editor input:checked,.nut-shopping-modal input:checked{background:var(--accent);border-color:var(--accent)}.nut-filter-checks input:checked::after,.nut-diet-editor input:checked::after,.nut-shopping-modal input:checked::after{content:'✓';color:white;font-size:11px;font-weight:800}
body.nut-recipe-editing #content .nut-recipes{visibility:hidden}body.nut-recipe-editing #content .nut-toolbar{visibility:hidden}
.nut-shopping input[type="checkbox"]{appearance:none;width:17px;height:17px;min-width:17px;border:1.5px solid rgba(120,120,128,.35);border-radius:6px;background:var(--surface);display:inline-grid;place-items:center;cursor:pointer}.nut-shopping input:checked{background:var(--accent);border-color:var(--accent)}.nut-shopping input:checked::after{content:'✓';color:white;font-size:11px;font-weight:800}
@media(max-width:700px){#modal-root .kn7-meta-shell #kn7-relation-panel{grid-template-columns:1fr;padding:12px}#modal-root .kn7-meta-shell .kn7-meta-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}#modal-root .kn7-meta-shell .kn7-meta-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}#modal-root .kn7-meta-shell .kn7-relations-toggle{order:0;margin-right:auto}#modal-root .kn7-meta-shell .kn7-modal-close{order:3}.nut-shopping-days label{padding:8px 10px}.nut-shopping-modal{padding:0}.nut-shopping-recipes{max-height:135px}}
.nut-recipes-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:16px;align-items:start}.nut-recipes-layout>.nut-recipes{min-width:0}.nut-recipes-layout>.nut-side{position:sticky;top:16px}.nut-shopping-shortcut{border-radius:999px;white-space:nowrap}.nut-shopping-days{max-height:175px;flex-wrap:wrap;overflow:auto}.nut-shopping-days label{white-space:normal;max-width:100%}
#modal-root .nut-diet-editor{padding:14px;border:1px solid rgba(120,120,128,.1);border-radius:23px;background:color-mix(in srgb,var(--surface) 91%,var(--accent));gap:9px}#modal-root .nut-diet-editor label{min-height:44px;gap:10px;padding:10px 14px;border-radius:16px;background:var(--surface);box-shadow:0 2px 12px rgba(0,0,0,.025);font-weight:650;font-size:13px;line-height:1.3;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}#modal-root .nut-diet-editor label:has(input:checked){background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 27%,transparent);box-shadow:0 3px 15px rgba(0,0,0,.035)}#modal-root .nut-diet-editor input[type="checkbox"]{width:23px;height:23px;min-width:23px;border-radius:50%;border-color:rgba(120,120,128,.25);transition:background .2s ease,transform .2s ease}#modal-root .nut-diet-editor input:checked{transform:scale(1.03)}#modal-root .nut-diet-editor input:checked::after{font-size:13px}#modal-root .nut-diet-editor small{line-height:1.45;margin:2px 4px 0}
.nut-allergen-details{grid-column:1/-1;width:100%;border:1px solid rgba(120,120,128,.12);border-radius:20px;background:var(--surface);overflow:hidden}.nut-allergen-editor{min-width:0}.nut-allergen-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 15px;font-size:13px;font-weight:650;cursor:pointer}.nut-allergen-details summary::-webkit-details-marker{display:none}.nut-allergen-details summary::after{content:'⌄';font-size:19px;color:var(--text-faint);transition:transform .2s ease}.nut-allergen-details[open] summary::after{transform:rotate(180deg)}.nut-allergen-details summary small{margin-left:auto;color:var(--text-faint);font-size:11px;font-weight:500}.nut-allergen-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 12px 12px;max-height:300px;overflow:auto}.nut-allergen-options label{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid rgba(120,120,128,.1);border-radius:14px;background:rgba(120,120,128,.035);font-size:12px;line-height:1.35;cursor:pointer}.nut-allergen-options label:has(input:checked){background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.nut-allergen-options input[type="checkbox"]{appearance:none;flex:none;width:20px;height:20px;border:1.5px solid rgba(120,120,128,.27);border-radius:50%;background:var(--surface);display:grid;place-items:center}.nut-allergen-options input:checked{background:var(--accent);border-color:var(--accent)}.nut-allergen-options input:checked::after{content:'✓';font-size:11px;font-weight:800;color:#fff}.nut-allergen-details p{margin:0;padding:0 14px 13px;color:var(--text-faint);font-size:11px;line-height:1.45}.nut-allergen-details :is(input,summary):focus-visible,#modal-root .nut-diet-editor input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nut-catalog-filters>.nut-allergen-details{grid-column:1/-1}
@media(max-width:1000px){.nut-recipes-layout{grid-template-columns:1fr}.nut-recipes-layout>.nut-side{position:static;grid-template-columns:1fr 1fr}}@media(max-width:640px){.nut-recipes-layout>.nut-side{grid-template-columns:1fr}.nut-allergen-options{grid-template-columns:1fr}.nut-shopping-days{max-height:190px}.nut-head .nut-actions{flex-wrap:wrap}.nut-head .nut-actions>*{flex:1 1 30%}}
/* A redraw after editing a meal must not replay the whole page entrance. */
#content>.nut-page.fade-in{animation:none}
/* Keep the calendar search and layer filters in distinct flex rows. */
body.life-ui[data-life-page="calendar"] .cal-controlbar-v130{row-gap:14px!important}
body.life-ui[data-life-page="calendar"] .cal-controlbar-v130 .cal-layers-v130{flex-basis:100%;min-width:0;gap:7px}
body.life-ui[data-life-page="calendar"] .life-cal-search-wrap{margin:0;align-self:center}

/* Seven readable days with compact meal cards. The week scrolls within its panel. */
.nut-layout>main{overflow-x:auto;min-width:0}
.nut-week-grid{grid-template-columns:repeat(7,minmax(155px,1fr));width:max(100%,1133px);align-items:start}
.nut-day{min-height:255px}
.nut-day-meals{align-content:start;grid-auto-rows:max-content}
.nut-meal{align-items:flex-start}
.nut-meal>div{min-width:0;overflow-wrap:normal;word-break:normal}
.nut-meal strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:normal;overflow-wrap:normal;hyphens:none}
.nut-meal .nut-icon{flex:0 0 28px}
@media(max-width:760px){.nut-layout>main{overflow:visible}.nut-week-grid{width:100%;grid-template-columns:1fr}.nut-day{min-height:0}}
.vision-diet-flags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.vision-diet-flags label{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(120,120,128,.08);padding:8px 11px;font-size:12px;cursor:pointer}
.vision-diet-flags input{accent-color:var(--accent)}
.nut-shopping-panel .nut-shopping{max-height:min(42dvh,410px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}
@media(max-width:760px){.nut-shopping-panel .nut-shopping{max-height:min(36dvh,340px)}}
.kn7-editor-title .kn7-title-tap{appearance:none;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;padding:0;max-width:100%;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kn7-editor-title .kn7-title-tap:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
