.planner-page{padding:46px 0 30px}.planner-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.planner-heading h1{margin-top:12px;font-size:clamp(35px,4.3vw,52px)}.planner-heading p{font-size:13px;max-width:520px;margin-bottom:0}.shopping-warnings{background:#faf0d5;border:1px solid #ead9a6;border-radius:9px;padding:18px 22px;margin:24px 0;font-size:12px;color:#796123}.shopping-warnings ul{padding-left:18px;margin-bottom:0}.shopping-warnings .text-button{font-size:12px;margin-top:7px}.shopping-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.shopping-list{border-top:1px solid var(--line)}.shopping-item{padding:18px 8px;border-bottom:1px solid var(--line)}.shopping-item>label{display:flex;align-items:flex-start;gap:14px;margin:0;cursor:pointer;font-weight:400}.shopping-item input{margin-top:3px;width:20px;height:20px;flex-shrink:0}.shopping-item strong{font-size:16px;font-weight:500;overflow-wrap:anywhere}.shopping-item small{display:block;font-size:11px;color:var(--muted);margin:5px 0 0;font-weight:400}.shopping-item .quantity-unknown{color:#927230}.shopping-item.is-checked strong{text-decoration:line-through;color:var(--muted)}.shopping-sources{margin:7px 0 0 34px;font-size:10px;color:var(--muted)}.shopping-sources summary{cursor:pointer;width:fit-content;min-height:24px}.shopping-sources ul{padding-left:15px;margin:4px 0;line-height:1.8}.plan-import-preview{list-style:none;padding:0;margin:24px 0;max-height:32dvh;overflow:auto}.plan-import-preview li{display:grid;grid-template-columns:95px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.plan-import-preview span{font-size:11px;color:var(--muted)}.plan-import-preview strong{font:19px/1.3 var(--serif);overflow-wrap:anywhere}.chat-plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.chat-plan-actions button{font-size:12px;white-space:normal}@media(max-width:640px){.planner-page{padding-top:30px}.planner-heading{align-items:flex-start;flex-direction:column;gap:20px}.planner-heading h1{font-size:38px}.planner-heading>.primary,.planner-heading>.secondary{width:100%}.shopping-actions{gap:8px}.shopping-actions .secondary{font-size:11px;padding:10px 12px}.plan-import-preview li{grid-template-columns:75px minmax(0,1fr);gap:8px}.shopping-item{padding:17px 0}.shopping-item strong{font-size:15px}}
.direct-shopping-sources{border:1px solid var(--line);border-radius:10px;padding:22px;background:#eef2e6;margin:25px 0}.direct-shopping-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.direct-shopping-section-heading h2{display:flex;align-items:center;gap:10px;font-size:26px}.shopping-recipe-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.shopping-recipe-chip{display:flex;align-items:center;gap:12px;padding:10px 12px;background:white;border:1px solid #d7dfcb;border-radius:9px;max-width:100%}.shopping-recipe-chip strong{font:18px/1.3 var(--serif);display:block;overflow-wrap:anywhere}.shopping-recipe-chip small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.shopping-recipe-chip .quiet{font-size:23px;padding:5px;min-width:34px}.direct-shopping-toolbar{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:12px}.direct-shopping-toolbar #direct-shopping-status{font-size:10px;color:var(--muted);margin-left:auto}.shopping-empty{text-align:center;padding:40px 20px}.shopping-empty>span{font-size:44px;color:#9aaa78}.shopping-empty h3{margin-top:10px}.shopping-empty p{font-size:13px}.shopping-recipe-options{max-height:48dvh;overflow:auto;margin:20px 0}@media(max-width:640px){.direct-shopping-sources{padding:17px}.direct-shopping-section-heading h2{font-size:25px}.direct-shopping-section-heading .quiet{padding-left:0}.shopping-recipe-chip{width:100%;justify-content:space-between}}@media(max-width:640px){.shopping-recipe-chip{width:auto;flex:1;min-width:130px;max-width:100%}}
dialog:has(.recipe-picker){width:920px}.recipe-picker>p{margin-bottom:0}.recipe-picker-filters{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:end;margin:18px 0 14px}.recipe-picker-filters label{margin:0;font-size:11px}.recipe-picker-filters input,.recipe-picker-filters select{font-size:13px;min-width:0}.recipe-picker-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;padding-bottom:12px;cursor:pointer}.recipe-picker-toggle input{width:17px;height:17px}
.recipe-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-height:52dvh;overflow:auto;padding:3px;align-content:start}.recipe-picker-empty{grid-column:1/-1;text-align:center;padding:30px 10px}
.recipe-pick-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;min-width:0;transition:border-color .15s,box-shadow .15s,transform .15s}.recipe-pick-card:hover{box-shadow:0 6px 20px #12271b14;transform:translateY(-1px)}.recipe-pick-card.is-selected{border:2px solid var(--green);background:#f3f6ec}.recipe-pick-card:focus-within{outline:2px solid #9aaf76;outline-offset:1px}
.recipe-pick-main{display:block;margin:0;cursor:pointer;flex:1;font-weight:inherit}.recipe-pick-main>input{position:absolute;opacity:0;pointer-events:none}.recipe-pick-image{display:block;position:relative;aspect-ratio:16/10;background:#e8eddd}.recipe-pick-image>img{width:100%;height:100%;object-fit:cover;display:block}.recipe-pick-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:50px;color:#a0b180}.recipe-pick-image>.glutenfree-badge{position:absolute;right:8px;top:8px;background:#fffffff0;border-radius:6px}
.recipe-pick-check{position:absolute;left:10px;top:10px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:transparent;background:#ffffffe6;border:1.5px solid #fff;box-shadow:0 1px 6px #0003}.is-selected .recipe-pick-check{background:var(--green);color:white;border-color:var(--green)}
.recipe-pick-info{display:block;padding:12px 14px 14px}.recipe-pick-info>strong{display:block;font:19px/1.2 var(--serif);overflow-wrap:anywhere}.recipe-pick-info>small{display:block;color:var(--muted);font-size:11px;margin:7px 0 3px;font-weight:400}.recipe-pick-info>span{display:block;font-size:10px;color:#7c896c;font-weight:400;overflow-wrap:anywhere}
.recipe-pick-portions{display:flex;align-items:center;gap:6px;padding:10px 14px;border-top:1px solid #d5dec9;font-size:11px}.recipe-pick-portions>span{flex:1;color:var(--muted)}.recipe-pick-portions button{min-height:32px;width:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:white;font-size:16px;line-height:1;justify-content:center}.recipe-pick-portions input{margin:0;width:56px;text-align:center;padding:6px;font-size:13px}
.recipe-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.recipe-picker-footer .form-actions{margin:0}#shopping-selection-count{font-size:12px;color:var(--muted)}
@media(max-width:820px){.recipe-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.recipe-picker-filters{grid-template-columns:1fr 1fr}.recipe-picker-toggle{grid-column:1/-1;padding-bottom:0}.recipe-picker-grid{gap:9px;max-height:46dvh}.recipe-pick-info{padding:10px}.recipe-pick-info>strong{font-size:16px}.recipe-pick-portions{padding:8px 10px}.recipe-pick-portions>span{display:none}.recipe-pick-portions input{flex:1;width:auto;min-width:0}.recipe-picker-footer{flex-direction:column;align-items:stretch}.recipe-picker-footer .form-actions{justify-content:stretch}.recipe-picker-footer .form-actions button{flex:1}}
