.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:18px 0 16px}
.planner-week button{min-height:58px;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);padding:8px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:650}
.planner-week button small{font-size:10px;color:var(--muted);font-weight:400}
.planner-week button.selected{background:var(--action);color:white;border-color:var(--action)}
.planner-week button.selected small{color:white}
.planner-week button.is-free:not(.selected){background:var(--accent-soft);border-color:var(--control-border)}
.planner-day-panel{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.planner-day-head{padding:17px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.planner-day-head h2{font:750 19px/1.2 var(--font-ui);margin:0 0 5px;letter-spacing:-.4px}
.planner-day-head small{font-size:11px;line-height:1.4;color:var(--muted);display:block}
.planner-day-head>button{font-size:11px;min-height:44px;padding:8px 10px;flex-shrink:0;max-width:140px}
.planner-meal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;border-bottom:1px solid var(--line)}
.planner-meal:last-child{border-bottom:0}
.planner-meal-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.planner-meal h3{font:700 14px/1.4 var(--font-ui);margin:0 0 8px}
.planner-meal h3 small{font-size:10px;font-weight:400;color:var(--muted)}
.planner-meal-title{font-size:14px;line-height:1.4;display:block}
.planner-meal-meta{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}
.planner-empty{font-size:12px;color:var(--muted);margin:0}
.planner-note{font-size:12px;line-height:1.5;margin:7px 0 0;white-space:pre-wrap;color:var(--muted)}
.planner-meal-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;align-items:stretch}
.planner-meal-actions .outlined{min-height:44px;padding:8px 10px;font-size:12px;max-width:105px}
.planner-remove{min-height:44px;padding:5px;border:0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.planner-free{text-align:center;padding:30px 20px;background:var(--accent-soft)}
.planner-free>span{display:block;font-size:32px;color:var(--accent-strong);margin-bottom:10px}
.planner-free h3{font:750 21px var(--font-ui);margin:0 0 10px}
.planner-free p{font-size:13px;line-height:1.6;max-width:350px;margin:0 auto 10px}
.planner-free small{font-size:12px;color:var(--muted);line-height:1.5}
.planner-feedback{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0}
.planner-feedback:empty{display:none}
.planner-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:12px 0;border-radius:12px;background:var(--accent-soft);font-size:12px}
.planner-undo button{min-height:40px;border:0;background:transparent;font-weight:700;color:var(--action);text-decoration:underline}
.planner-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0 8px;margin-top:12px}
.planner-summary>div{min-width:0;border-left:2px solid var(--accent);padding-left:10px}
.planner-summary b{display:block;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.planner-summary span{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}
.planner-explanation{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0}
.planner-editor-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0}
.planner-editor-tabs button{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:46px;padding:8px;font-size:12px;color:var(--ink)}
.planner-editor-tabs button[aria-pressed=true]{background:var(--action);color:white;border-color:var(--action);font-weight:700}
.planner-chosen{font-size:13px;line-height:1.5;padding:12px;background:var(--accent-soft);border-radius:12px;min-height:44px}
.planner-recipe-results{max-height:210px;overflow:auto;overscroll-behavior:contain;margin-bottom:16px}
.planner-recipe-option{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;text-align:left;width:100%;border:1px solid var(--line);background:white;color:var(--ink);border-radius:11px;padding:9px;margin-bottom:7px;min-height:62px}
.planner-recipe-option[aria-pressed=true]{border-color:var(--action);background:var(--accent-soft)}
.planner-recipe-option img{width:44px;height:44px;object-fit:cover;border-radius:8px}
.planner-recipe-option b{display:block;font-size:12px;line-height:1.4}
.planner-recipe-option small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.planner-recipe-symbol{display:grid;place-items:center;width:44px;height:44px;background:var(--accent-soft);border-radius:8px;color:var(--action)}
.planner-shopping li{font-size:13px;align-items:center}
.planner-shopping li b{white-space:nowrap}
#plan .primary.wide{margin-bottom:15px}
@media(min-width:760px){#plan{max-width:800px}.planner-day-panel{max-width:760px}.planner-summary{max-width:760px}}
@media(max-width:379px){.planner-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.planner-week button{min-height:50px}.planner-day-head{padding:14px;gap:9px}.planner-day-head h2{font-size:18px}.planner-day-head>button{max-width:110px;font-size:10px}.planner-meal{padding:14px;gap:9px}.planner-meal-actions .outlined{max-width:85px;padding:7px;font-size:10px}.planner-summary{gap:6px}.planner-summary b{font-size:16px}}
