.planner-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0}.planner-days button{padding:10px 5px;min-width:0}.planner-days small{display:block;font-size:11px;margin-top:4px}.planner-days [aria-pressed=true]{background:#234e3e;color:#fff}.planner-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.planner-columns>section{min-width:0}.planner-item{border-bottom:1px solid #dce4da;padding:14px 0;overflow-wrap:anywhere}.planner-item h4{margin:0 0 5px;font-size:17px}.planner-item .buttons{gap:7px;margin-top:12px}.planner-item .buttons button,.planner-goal button{font-size:13px;padding:8px 11px;min-height:40px}.planner-item .small{margin:5px 0 12px}.planner-goal{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 0}.planner-goal span{flex:1;min-width:160px}.planner-editor{margin-top:20px}.planner-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner-form-grid label{min-width:0}.planner-editor input,.planner-editor select,.planner-editor textarea{max-width:100%;min-width:0}.planner-editor input[type=checkbox],.planner-check input{display:inline-block;width:18px;min-height:18px;margin:0 7px 0 0;vertical-align:middle}.planner-check{display:flex;align-items:center;margin:6px 0;min-height:40px}main:has(#view-week:not([hidden])){max-width:1100px}.planner-columns .answer{white-space:pre-wrap;overflow-wrap:anywhere}.planner-columns details{margin:10px 0}.planner-columns section{background:transparent;border:0;border-radius:0;padding:0;margin:0}
@media(max-width:700px){.planner-days{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-columns{grid-template-columns:1fr}.planner-form-grid{grid-template-columns:1fr}}
@media(max-width:360px){.planner-days{grid-template-columns:repeat(3,minmax(0,1fr))}}

.shopping-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shopping-offer{padding:16px;border:1px solid #dce4da;border-radius:14px;min-width:0;overflow-wrap:anywhere}.shopping-offer h4{margin:0 0 10px}.button-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:10px;background:#234e3e;color:white;text-decoration:none}.shopping-offer .answer{white-space:pre-wrap}@media(max-width:700px){.shopping-offers{grid-template-columns:1fr}}
[data-out="week-controls"].buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}[data-out="week-controls"].buttons button{font-size:13px;padding:10px 5px;width:100%;min-width:0}.planner-form-grid [data-box="timed-choice"]{grid-column:1/-1}

.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading>h2{margin:0}

[hidden]{display:none!important}

/* The shopping flow is scoped so the planner and existing composer keep their layout. */
.shopping-workspace{--shopping-ink:#193f32;--shopping-line:#d8e3d8;--shopping-soft:#f1f6ee;--shopping-muted:#5b7062;color:var(--shopping-ink);overflow-wrap:anywhere}
.shopping-workspace .heading>div{min-width:0}.shopping-workspace .heading h2{margin:0}.shopping-workspace .heading p{margin:5px 0 0}.shopping-refresh{flex:0 0 auto}
.shopping-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:24px 0 14px;border:1px solid var(--shopping-line);border-radius:12px;background:var(--shopping-soft)}.shopping-steps li{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;font-size:14px;font-weight:650;margin:0;padding:12px 5px}.shopping-steps span{display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1px solid #a9bfa8;border-radius:50%;font-size:12px}
.shopping-status{min-height:24px;font-size:14px;line-height:1.5;margin:14px 0}.shopping-status:empty{min-height:0;margin:0}.shopping-error{color:#942c28;background:#fff1ed;padding:12px;border-radius:10px}
.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.shopping-layout>section{min-width:0;padding:0;margin:0;border:0;background:transparent;border-radius:0}.shopping-workspace h3{margin:0 0 12px;font-size:19px}.shopping-workspace h4{font-size:17px;line-height:1.4;margin:0 0 10px}.shopping-workspace h5{font-size:16px;line-height:1.45;margin:0 0 8px}.shopping-workspace label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}.shopping-workspace textarea,.shopping-workspace select,.shopping-workspace input{font:inherit;box-sizing:border-box;max-width:100%;min-width:0}.shopping-workspace textarea{min-height:84px;line-height:1.5}.shopping-find form>button{margin-top:14px;width:100%;min-height:46px}.shopping-options{margin:12px 0!important;border:0;padding:0!important}.shopping-options summary{font-size:13px;font-weight:600;line-height:1.5}.shopping-options .answer{font-size:14px}.shopping-workspace .small{line-height:1.55}
.shopping-choices>p{margin:0 0 18px}.shopping-comparison{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--shopping-line)}.shopping-summary{font-size:14px;line-height:1.6;white-space:pre-wrap}.shopping-workspace .shopping-offers{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.shopping-workspace .shopping-offer{padding:18px;border:1px solid var(--shopping-line);border-radius:14px;background:white;min-width:0}.shopping-label{font-size:12px;font-weight:650;color:#24543b;background:#eef5e8;border-radius:8px;padding:6px 8px;margin:8px 0}.shopping-price{font-size:21px;font-weight:700;letter-spacing:-.5px;margin:12px 0 6px}.shopping-delivery{font-size:14px;margin:6px 0}.shopping-offer-actions,.shopping-line-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}.shopping-offer-actions label,.shopping-line-actions label{width:88px;flex:0 0 88px;margin:0}.shopping-offer-actions input,.shopping-line-actions input{display:block;width:100%;height:44px;margin:5px 0 0;padding:8px 10px;border:1px solid #aebfad;border-radius:8px}.shopping-offer-actions>button{flex:1;min-width:120px;min-height:44px;width:auto!important}.shopping-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.shopping-actions button,.shopping-actions .button-link{font:inherit;font-size:13px;padding:10px 12px;width:auto;min-height:44px;max-width:100%;text-align:center;justify-content:center;white-space:normal}.shopping-caution{font-size:13px;line-height:1.55;color:#725a22;background:#fbf6e9;padding:9px 11px;border-radius:8px}.shopping-empty{font-size:14px;line-height:1.65;color:var(--shopping-muted);padding:16px;border:1px dashed #b9cbbb;border-radius:12px;background:#fafcf8}.shopping-progress{font-size:14px;line-height:1.55;background:#edf4e8;padding:12px;border-radius:10px}
.shopping-approved>div{padding:20px;background:#f5f8f1;border:1px solid #cbdcc8;border-radius:16px}.shopping-count{font-size:13px;margin:0 0 16px}.shopping-cart-line{padding:15px 0;border-top:1px solid var(--shopping-line)}.shopping-cart-line h4{font-size:15px}.shopping-cart-line .small{font-size:13px}.shopping-cart-line .shopping-line-actions button{font-size:12px;min-height:44px;padding:9px 11px;width:auto}.shopping-total{font-size:18px;font-weight:700;margin:18px 0 5px}.shopping-approved>div>.shopping-actions>.button-link{width:100%;font-size:16px;font-weight:650;min-height:48px}.shopping-return{padding:14px;background:white;border:1px solid var(--shopping-line);border-radius:12px;margin:12px 0}.shopping-return strong{font-size:16px}.shopping-return .shopping-actions button{flex:1;min-width:90px}.shopping-research,.shopping-history{margin:20px 0;border-top:1px solid var(--shopping-line);padding-top:16px}.shopping-research>summary,.shopping-history>summary{font-size:14px;line-height:1.5}.shopping-research .answer{font-size:15px;line-height:1.7}.shopping-history>div>button{display:block;width:100%;text-align:left;margin:8px 0;font-size:13px}.shopping-workspace button:focus-visible,.shopping-workspace a:focus-visible,.shopping-workspace input:focus-visible,.shopping-workspace textarea:focus-visible,.shopping-workspace summary:focus-visible{outline:3px solid #8eaa7a;outline-offset:3px}.shopping-workspace[aria-busy=true] .shopping-offer-actions button,.shopping-workspace[aria-busy=true] .shopping-line-actions button{opacity:.55;pointer-events:none}
@media(min-width:920px){.shopping-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);grid-template-areas:'find cart' 'choices cart';align-items:start;gap:28px}.shopping-find{grid-area:find}.shopping-choices{grid-area:choices}.shopping-approved{grid-area:cart}.shopping-approved>div{position:sticky;top:16px}main:has(#view-shopping:not([hidden])){max-width:1120px}}
@media(max-width:360px){.shopping-workspace .heading{align-items:flex-start}.shopping-refresh{font-size:12px;padding:9px}.shopping-steps li{font-size:12px;gap:5px}.shopping-steps span{width:20px;height:20px}.shopping-workspace .shopping-offer{padding:14px}.shopping-approved>div{padding:15px}.shopping-actions button{flex:1}.shopping-steps{margin-top:18px}}
.shopping-cart-shortcut{position:sticky;top:8px;z-index:3;margin:12px 0}.shopping-cart-shortcut button{display:block;width:100%;background:#e2eddc;border:1px solid #aec7a6;color:#224d36;text-align:left;box-shadow:0 3px 12px #173e3010}.shopping-cart-shortcut:empty{display:none}
.shopping-approved>div,.shopping-choices{scroll-margin-top:78px}.shopping-find form>[data-act="clear-search"]{width:auto!important;margin:4px 0 0;padding:6px 0;background:transparent;color:#29563d;font-size:13px;min-height:36px;box-shadow:none}

.updates-panel .updates-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.updates-panel input{min-width:160px;flex:1;max-width:100%;font:inherit;padding:11px;border:1px solid #b3c3b2;border-radius:10px}.updates-panel .update-item{padding:18px 0;border-top:1px solid #d8e2d7}.updates-panel .update-item h3{font-size:17px;margin:0 0 7px}.updates-panel .update-item p{margin:5px 0}.updates-panel button{width:auto;min-height:44px}.updates-panel .update-item .updates-actions button:first-child{background:#234e3e;color:white}

/* Keep saved plans visible while adding the next entry. */
.planner-receipt{padding:16px 18px;border:1px solid #a9c5a2;background:#edf6e8;border-radius:12px;margin:20px 0;scroll-margin-top:20px}.planner-receipt p{margin:6px 0}.planner-receipt .buttons{margin-top:12px}.planner-date-confirmation{padding:12px;border-radius:10px;background:#edf3e8;font-weight:600}.planner-agenda{margin:24px 0;padding:20px;border:1px solid #d8e2d7;background:#fafcf8;border-radius:16px}.planner-agenda>h3{margin:0}.planner-agenda-day{padding:14px 0;margin:0;border:0;border-bottom:1px solid #e1e8dd;border-radius:0;background:transparent}.planner-agenda-day:last-child{border-bottom:0}.planner-agenda-day h4{font-size:15px;margin:0 0 8px}.planner-agenda-day>p{margin:3px 0}.planner-agenda-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}.planner-agenda-row span{overflow-wrap:anywhere;min-width:0}.planner-agenda-row button{flex:0 0 auto;font-size:13px;padding:8px 12px}.planner-editor{scroll-margin-top:20px}.planner-editor [data-box=past-date],.planner-editor [data-box=duplicate]{background:#fff4df;color:#654915;padding:12px;border-radius:10px}.planner-shortcuts button{font-size:13px}.planner-receipt button{font-size:13px}.planner-editor textarea{min-height:130px}@media(max-width:420px){.planner-agenda{padding:14px}.planner-agenda-row button{width:auto}.planner-shortcuts button{width:auto;flex:1}}

.planner-repeat-preview{padding:14px;background:#edf4e8;border:1px solid #c4d6ba;border-radius:10px;margin:16px 0}.planner-repeat-preview:empty{display:none}.planner-repeat-preview p{margin:6px 0;font-size:14px}.planner-repeat-preview strong{line-height:1.5}.planner-editor [data-box=repeat]{border:1px solid #d6e2cf;padding:14px;border-radius:12px;margin:12px 0 18px}.planner-editor [data-box=repeat]>summary{min-height:32px}.planner-editor input[type=time]{min-height:44px}.planner-editor [data-box=weekdays]{gap:8px}
.planner-editor select{display:block;width:100%;min-height:44px;font:inherit;font-weight:400;color:#153f32;background:#fbfcfa;border:1px solid #b3c3b2;border-radius:10px;padding:10px 12px;margin:7px 0 12px}.planner-editor input,.planner-editor textarea{font-weight:400}.planner-editor textarea{line-height:1.6}.planner-editor select:focus-visible,.planner-editor input:focus-visible,.planner-editor textarea:focus-visible{outline:3px solid #8eaa7a;outline-offset:3px}

.plan-workspace .plan-sections{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.plan-sections button{font-size:14px}.plan-search{max-width:480px;margin:24px 0 16px}.plan-search input{margin-top:8px}.repeating-plan{padding:20px;border:1px solid #d5e2d1;border-radius:14px;margin:14px 0;background:#f9fcf6}.repeating-plan h4{font-size:18px;margin:0 0 8px}.repeating-plan p{margin:6px 0}.plan-workspace details{scroll-margin-top:20px}.planner-receipt{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.planner-receipt button{font-size:13px}.planner-editor{border:2px solid #9fb898;padding:24px}.planner-editor>h3{font-size:22px;margin-top:0}.planner-editor .help{background:#f7faf4;border:1px solid #dce6d8;border-radius:12px;padding:12px 16px}.planner-item .buttons button,.planner-goal button{min-height:44px}.planner-columns{margin-top:28px}.planner-columns>section>h3{font-size:18px}.planner-editor input,.planner-editor textarea{font-weight:400}.plan-workspace [data-out=status]{min-height:24px}.plan-workspace .planner-agenda{margin-top:24px}.plan-workspace [data-out=undo]{background:#eff6e9;border:1px solid #bfd1b5;padding:12px 16px;border-radius:12px}.plan-workspace .planner-editor details summary{line-height:1.5}
@media(max-width:700px){.planner-editor{padding:18px}.plan-sections{display:grid!important;grid-template-columns:1fr 1fr}.plan-sections button:last-child{grid-column:1/-1}.plan-workspace .heading{align-items:flex-start}.planner-columns{gap:16px}.repeating-plan{padding:16px}}

/* Give wrapped field labels and keyboard focus their own space. */
.planner-editor form{display:grid;gap:20px;min-width:0}
.planner-editor form>label,.planner-editor .planner-form-grid>label{margin:0;line-height:1.5}
.planner-editor .planner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.planner-editor label>input:not([type=checkbox]),.planner-editor label>select,.planner-editor label>textarea{display:block;width:100%;margin:10px 0 0;font-size:16px;line-height:1.5;min-height:48px}
.planner-editor label>select{padding:11px 12px}
.planner-editor label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.planner-editor label>input[type=checkbox]{flex:0 0 18px;margin:2px 0 0;min-height:18px}
.planner-editor form>p,.planner-editor form>.buttons,.planner-editor form>details,.planner-editor form>[data-box=repeat]{margin:0}
.planner-editor details label{line-height:1.5}
.planner-editor input:focus-visible,.planner-editor select:focus-visible,.planner-editor textarea:focus-visible{outline:2px solid #476f4b;outline-offset:3px}
.planner-editor [data-box=weekdays]{align-items:center;gap:10px 16px}
.planner-editor [data-box=weekdays] label{min-height:44px;align-items:center}
.planner-editor [data-box=weekdays] input{margin:0}
@media(max-width:700px){.planner-editor .planner-form-grid{grid-template-columns:minmax(0,1fr)}.planner-editor form{gap:18px}}

.planner-editor label>input:not([type=checkbox]),.planner-editor label>select{height:50px}
.plan-workspace>details>label>textarea{margin-top:10px}

.plan-workspace [data-out="saved-receipt"]{display:block}.plan-filter-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px;background:#fff4dd;border-radius:10px}.plan-filter-state button{font-size:13px}

.planner-editor label:has(>input[type=checkbox]){min-height:44px;align-items:center}.planner-editor label>input[type=checkbox]{margin:0}
