.coach-panel{margin:0 0 24px}.coach-panel h2{margin-bottom:5px}.coach-panel .caption{max-width:70ch}.coach-nav{margin:18px 0;gap:8px}.coach-conversation{max-height:330px;overflow-y:auto;overscroll-behavior:contain;border-radius:16px;background:#f7f6ef;padding:10px;margin:12px 0}.coach-message{padding:13px 16px;margin:8px 0;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;background:white;max-width:95%;font-size:16px;line-height:1.55}.coach-message.user{background:#e0ece0;margin-left:auto}.coach-message small{display:block;color:#52654e;font-weight:700;margin-bottom:4px}.coach-question{padding:16px 0}.coach-question p{font-size:19px;line-height:1.45;margin:0 0 12px}.coach-choices{display:flex;gap:8px;flex-wrap:wrap}.coach-choices button{min-height:44px;white-space:normal;text-align:left}.coach-preferences{margin-top:20px;border-top:1px solid #d8dfd3;padding-top:16px}.coach-preferences summary{cursor:pointer;font-weight:700;padding:8px 0}.coach-preferences form{padding:16px 0}.coach-review{margin-top:18px}.coach-review .notice{white-space:pre-line}.coach-secondary{margin-top:20px;gap:24px}.coach-day{border:1px solid #d8dfd3;border-radius:16px;padding:12px 16px;margin:12px 0}.coach-day summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;min-height:44px;align-items:center;font-weight:700}.coach-meal{padding:14px 0;border-bottom:1px solid #e2e5dc;display:grid;grid-template-columns:1fr auto;gap:8px}.coach-meal:last-child{border-bottom:0}.coach-meal h4{font-size:17px;margin:4px 0}.coach-meal-actions{display:flex;align-items:start;gap:6px;flex-wrap:wrap;max-width:210px}.coach-meal-actions button{padding:8px 10px;min-height:44px}.coach-meal-actions button[aria-pressed=true]{background:#254f3f;color:white}.coach-totals{font-size:14px;line-height:1.6;background:#f1f5eb;border-radius:10px;padding:12px;margin-top:8px}.coach-warning{color:#8b3b20;font-size:14px}.coach-meal select,.coach-meal input{width:100%}.coach-meal .meal-edit{grid-column:1/-1}.coach-meal .meal-edit summary{font-size:14px;min-height:36px;justify-content:start}.coach-meal .meal-edit .form-grid{padding:10px 0}.coach-shop-item{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:8px;padding:10px 0;break-inside:avoid}.coach-shop-item input{width:21px;height:21px;margin-top:4px}.coach-shop-item small{display:block}.coach-shop-item:has(input:checked) span{text-decoration:line-through;color:#6a7466}.coach-shop-group{margin-top:18px}.coach-shop-group h3{border-bottom:1px solid #d8dfd3;padding-bottom:8px}.coach-shop-new{color:#9c4a22;font-size:12px;font-weight:bold}.coach-memory{border-left:3px solid #809b63;padding:10px 14px;margin:8px 0}.coach-progress{padding:16px;border-radius:12px;background:#eef4e7}.coach-estimate label{display:block}.coach-estimate .form-grid{margin:16px 0}.coach-preview-intro{margin-top:20px}.coach-install{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0f4e9;border:1px solid #d8dfd3;border-radius:22px;padding:24px}.coach-install p{margin:5px 0}.coach-install .row{flex-wrap:nowrap}.coach-install .btn{flex-shrink:0}.phone-help ol{padding-left:24px;line-height:1.7}.phone-help li{margin:10px 0}.phone-help .phone-tabs{display:flex;gap:8px;margin-bottom:18px}.phone-tabs button[aria-pressed=true]{background:#254f3f;color:white}#coach-session[hidden],#coach-welcome[hidden]{display:none}
@media(max-width:600px){.coach-panel{padding:18px!important}.coach-panel>.row{align-items:flex-start}.coach-panel #coach-manual{font-size:13px}.coach-conversation{max-height:290px}.coach-message{max-width:100%;padding:12px}.coach-day{padding:10px 12px}.coach-meal{grid-template-columns:1fr}.coach-meal-actions{max-width:none}.coach-day summary{flex-wrap:wrap}.coach-nav .btn{font-size:13px;padding:9px 10px}.coach-install{align-items:flex-start;flex-direction:column;padding:20px}.coach-install .btn{width:100%}.coach-panel .form-grid{grid-template-columns:1fr}.coach-panel .btn{max-width:100%}#coach-form .row{align-items:flex-end}#coach-form .caption{max-width:190px}}
@media print{body.coach-print>*{display:none!important}body.coach-print>#coach-print-content{display:block!important;font:12pt Arial;color:#111;background:#fff}#coach-print-content h1{font-size:22pt}#coach-print-content li{break-inside:avoid;margin:8px 0}.coach-print-note{font-size:10pt}}
/* Beta 22: prominent narration with quiet settings, reusable meal collections. */
#coach-voice-controls{padding:16px 0;margin:12px 0;border-top:1px solid #d8dfd3;border-bottom:1px solid #d8dfd3}.voice-toggle{min-height:54px;font-size:17px;border:2px solid #254f3f}.voice-toggle[aria-checked=true]{background:#254f3f;color:#fff}.voice-panel{max-width:500px;margin-top:14px;padding:18px;border:1px solid #c9d4c0;background:#f5f7ef;border-radius:14px}.voice-panel label{font-size:15px}.voice-panel select{margin-top:6px}.voice-panel input[type=range]{min-height:44px}.voice-panel .between{margin-bottom:14px}.coach-listen{display:block;margin-top:10px;white-space:normal}.saved-meal-collection{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #d8dfd3}#plan-collection-actions{margin-bottom:18px}.coach-meal-actions{max-width:245px}@media(max-width:600px){.saved-meal-collection{align-items:flex-start;flex-direction:column}.voice-toggle{width:100%;justify-content:space-between}.coach-meal-actions{max-width:none}#plan-collection-actions .btn{width:100%}}

.coach-plan-action{padding:16px;border:1px solid #c9d4c0;background:#f1f5eb;border-radius:14px;margin-top:16px}.coach-plan-action p{margin:0 0 12px;line-height:1.5}.coach-plan-action .btn{min-height:48px}
#coach-voice-state,.voice-toggle svg{flex-shrink:0}#coach-voice-state{white-space:nowrap}

.coach-pending-day{border:1px solid #d8dfd3;border-radius:12px;padding:12px 16px;margin-top:12px;overflow-wrap:anywhere}.coach-pending-day h4{margin:0 0 8px}.coach-pending-day p{margin:8px 0}.coach-pending-day small{color:#52654e}

/* Beta 22.3: one task per tab; the chat has its own scroll area and composer. */
#page-planner [hidden]{display:none!important}
#page-planner{max-width:1000px;margin-inline:auto}
#page-planner .planner-heading{margin:0 0 14px;display:block}
#page-planner .page-title{font-size:34px;letter-spacing:-1px;line-height:1.15}
.planner-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#e9eddf;padding:5px;border:1px solid #d8dfd3;border-radius:14px;margin-bottom:12px}
.planner-tabs button{border:0;background:transparent;border-radius:10px;min-height:44px;font-weight:700;padding:8px 5px;font-size:15px;line-height:1.3}
.planner-tabs button[aria-selected=true]{background:#254f3f;color:#fff;box-shadow:0 2px 5px #254f3f18}
#meal-coach{height:600px;max-height:850px;min-height:240px;margin:0;padding:0!important;display:flex;flex-direction:column;border:1px solid #d8dfd3;border-radius:18px;background:#fffefa;position:relative;isolation:isolate}
.coach-heading{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dfe1d4;flex-shrink:0}
.coach-heading h2{font-size:23px;margin:0}
#coach-stage{font-size:12px;line-height:1.3;margin:4px 0 0;letter-spacing:0;text-transform:none}
.planner-options{position:relative;flex-shrink:0}
.planner-options>summary{cursor:pointer;list-style:none;border:1px solid #ccd6c5;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:700;min-height:44px;display:flex;align-items:center;justify-content:center}
.planner-options>summary::-webkit-details-marker{display:none}
.planner-options[open]>summary{background:#e5ecdf}
.planner-options-body{position:absolute;right:0;top:calc(100% + 8px);width:min(440px,calc(100vw - 54px));max-height:min(65dvh,620px);overflow-y:auto;overscroll-behavior:contain;background:#fffefa;border:1px solid #ccd6c5;border-radius:14px;padding:18px;box-shadow:0 8px 40px #243d3233;z-index:20}
.planner-options-body h3{margin:0 0 12px}
.planner-options-body .panel{padding:12px 0;border:0;box-shadow:none;background:transparent}
.planner-options-body summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:700}
#coach-options{z-index:5}
.coach-preferences,.coach-review{margin:0;padding:0;border:0}
.coach-preferences form{padding-top:8px}
.coach-secondary{display:grid;gap:8px;margin-top:14px}
.coach-secondary button{width:100%;text-align:left}
#coach-welcome{padding:20px 16px;overflow:auto}
#coach-welcome>.btn{margin-top:16px}
#coach-session,#coach-chat-details{display:flex;flex-direction:column;flex:1;min-height:0}
#coach-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 14px 14px;background:#f4f5ed;scroll-behavior:auto;overflow-anchor:none}
.coach-conversation{max-height:none;overflow:visible;border-radius:0;padding:0;margin:0;background:transparent}
.coach-message{padding:11px 13px;margin:10px 0;border:1px solid #e1e5d9;border-radius:16px 16px 16px 4px;max-width:88%;background:#fffefa;font-size:16px;line-height:1.45;white-space:pre-wrap}
.coach-message.user{border:0;border-radius:16px 16px 4px 16px;background:#254f3f;color:#fff;margin-left:auto;max-width:85%}
.coach-message.user small{color:#e4eddc}
.coach-message small{font-size:11px;line-height:1.3;margin-bottom:5px}
.coach-listen{font-size:12px;min-height:32px;margin:3px 0 -6px;padding:4px 0}
.coach-question{padding:0}
.coach-question .coach-message{max-width:96%;white-space:normal}
.coach-question p{font-size:16px;line-height:1.45;margin:0 0 10px;color:inherit}
.coach-choices{gap:7px}
.coach-choices button{font-size:14px;padding:8px 10px;min-height:44px;border-radius:16px;line-height:1.25}
.coach-composer{flex-shrink:0;padding:10px 12px 7px;border-top:1px solid #d8dfd3;background:#fffefa;border-radius:0 0 18px 18px;position:relative;z-index:2}
#coach-form{display:flex;align-items:flex-end;gap:8px;margin:0}
#coach-input{flex:1;min-width:0;resize:none;min-height:46px;max-height:100px;height:46px;border-radius:20px;padding:10px 13px;margin:0;font-size:16px;line-height:1.4}
#coach-send{flex-shrink:0;min-height:46px;border-radius:20px;padding:9px 14px;font-size:15px}
#coach-voice-controls{margin:4px 0 0;padding:0;border:0;position:relative}
#coach-voice-controls>.row{gap:10px;flex-wrap:wrap}
#coach-voice-controls .voice-toggle{width:auto;min-height:36px;display:inline-flex;gap:5px;border:0;padding:4px 6px;font-size:12px;background:transparent;color:#254f3f;border-radius:8px}
#coach-voice-controls .voice-toggle svg{width:17px;height:17px}
#coach-voice-controls .voice-toggle[aria-checked=true]{background:#e0ecdc}
#coach-voice-controls .btn:not(.voice-toggle),#coach-voice-settings{min-height:36px;padding:4px 6px;font-size:12px}
#coach-voice-controls .voice-panel{position:absolute;bottom:100%;left:0;right:0;max-width:none;max-height:50dvh;overflow:auto;margin:0 0 10px;box-shadow:0 5px 24px #243d3230;z-index:8}
#coach-voice-status{font-size:12px;line-height:1.25;margin:0}
#coach-voice-status:empty{display:none}
.coach-plan-action{padding:10px 0 0;border:0;background:transparent;margin:0}
.coach-plan-action .btn{min-height:44px;font-size:14px;padding:9px 12px}
#coach-status{font-size:13px;line-height:1.4;margin:0 0 8px}
#coach-status:empty{display:none}
.coach-preview-intro{margin-top:12px}
.coach-preview-intro h3{font-size:17px}
#coach-draft details>summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:700}
.coach-progress{padding:10px 12px;font-size:14px}
.coach-memory{font-size:14px;background:#fffefa;border-radius:10px}
.planner-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
.planner-week-toolbar p{margin:0;font-size:13px;line-height:1.5}
#plan-grid .coach-day{padding:0 14px;margin:8px 0;background:#fffefa;border-radius:12px}
#plan-grid .coach-day>summary{min-height:67px;display:grid;grid-template-columns:1fr 20px;gap:0 8px;padding:10px 0;list-style:none}
#plan-grid .coach-day>summary::-webkit-details-marker{display:none}
#plan-grid .coach-day>summary span:first-child{grid-column:1;font-size:15px}
#plan-grid .coach-day>summary .caption{grid-column:1;font-size:12px;font-weight:400}
#plan-grid .coach-day>summary:after{content:'⌄';grid-column:2;grid-row:1 / 3;font-size:23px;line-height:1;text-align:center}
#plan-grid .coach-day[open]>summary:after{transform:rotate(180deg)}
#plan-grid .coach-day[open]>summary{border-bottom:1px solid #e0e5d7}
#plan-grid .coach-day>.row{margin:12px 0}
.coach-meal{padding:12px 0;gap:5px}
.coach-meal h4{margin:3px 0;font-size:17px;line-height:1.35}
.coach-meal p{margin:4px 0;font-size:13px;line-height:1.45}
.coach-meal-actions{gap:6px;align-items:center;max-width:none}
.coach-meal-actions button{padding:7px 9px;font-size:13px;min-height:44px}
.coach-meal .meal-edit>summary{font-weight:400;color:#52654e;min-height:38px;padding:4px 0}
.coach-totals{padding:10px;font-size:13px}
#plan-collection-actions .btn{width:auto}
#planner-shopping{padding:8px 4px}
#planner-shopping h2{font-size:25px}
#planner-shopping .caption{font-size:13px;line-height:1.5}
#planner-shopping .shopping-actions{gap:8px;flex-wrap:wrap;padding:12px 0}
.coach-shop-group{margin-top:14px}
@media(min-width:800px){#planner-week,#planner-shopping{max-width:820px;margin-inline:auto}#meal-coach{max-width:760px;margin-inline:auto}.planner-tabs{max-width:760px;margin-inline:auto}.planner-heading{max-width:760px;margin-inline:auto!important}.coach-meal{grid-template-columns:1fr auto}.coach-meal-actions{max-width:290px}}
@media(max-width:600px){#page-planner .page-title{font-size:28px}#page-planner .planner-heading{margin-bottom:10px}.planner-tabs{margin-bottom:10px}.planner-tabs button{font-size:13px}.coach-heading{padding:10px 12px}.coach-heading h2{font-size:21px}#coach-thread{padding:6px 10px 12px}.coach-message{max-width:92%;padding:10px 12px}.coach-heading .planner-options>summary{font-size:12px;padding:7px 10px}.coach-composer{padding:8px 9px 5px}.coach-meal{grid-template-columns:1fr}.planner-options-body{right:-1px}#plan-grid .coach-day{margin:7px 0;padding:0 12px}}

.coach-quick-replies{margin-top:6px;font-size:14px}.coach-quick-replies>summary{cursor:pointer;min-height:44px;padding:10px 0;color:#52654e;font-weight:700}.coach-quick-replies .coach-choices{padding-bottom:8px}
