/* Shared content system. The chosen topbar and bottom navigation remain unchanged. */
:root { --content-ink: #202331; --content-muted: #667085; --content-blue: #385bd6; --content-border: #e3e7ef; --content-surface: #fff; }
.kitchen-chef-draft .kitchen-chef-save-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; border: 0; padding: 0; margin: 12px 0 24px; }
.kitchen-chef-draft .kitchen-chef-save-row button { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 16px; font-size: .95rem; line-height: 1.4; white-space: normal; overflow-wrap: normal; }
.kitchen-chef-draft .kitchen-chef-save-row small, .my-recipes-note { color: var(--content-muted); font-size: .8rem; line-height: 1.5; }
.kitchen-chef-draft .my-recipe-status { color: var(--content-blue); font-weight: 650; }
[hidden] { display: none !important; }
button, input, select, textarea { font-family: inherit; }
button:disabled { opacity: .5; cursor: not-allowed; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #385bd6; outline-offset: 3px; }
main .today-hero { display: block; padding: 0; margin-bottom: 20px; min-height: 0; }
.today-hero .hero-copy { padding: 0; }
.today-hero h1, .view > .page-title h1 { font-size: clamp(1.8rem,5vw,2.4rem); line-height: 1.15; margin: 6px 0 8px; letter-spacing: -.035em; }
.today-hero .eyebrow { color: var(--content-muted); text-transform: none; letter-spacing: 0; font-size: .85rem; margin: 0; }
.today-hero p:not(.eyebrow), .view > .page-title > p { color: var(--content-muted); font-size: .9rem; line-height: 1.5; margin: 0; max-width: 55ch; }
.view > .page-title { margin-bottom: 24px; }
.cook-launch { display: flex; gap: 12px; align-items: center; width: 100%; padding: 14px 18px; margin-bottom: 24px; min-height: 52px; border: 1px solid #dce3f5; border-radius: 14px; color: #385bd6; background: #eef2fe; font-size: .95rem; font-weight: 650; text-align: left; }
.cook-launch span:last-child { margin-left: auto; }
#today > .section-heading { margin: 0 0 12px; gap: 12px; align-items: center; }
#today > .section-heading h2 { font-size: 1.1rem; margin: 0; }
#refreshDay { min-height: 44px; padding: 8px 12px; background: transparent; color: #385bd6; border: 0; font-size: .8rem; }
.daily-overview { margin-top: 24px; border-block: 1px solid var(--content-border); }
.daily-overview > summary { padding: 18px 0; color: #536079; font-size: .9rem; cursor: pointer; }
.daily-overview .day-route { margin: 8px 0 20px; box-shadow: none; padding: 16px; }
.daily-overview .goal-pills { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.daily-overview .goal-pills > div { display: grid; gap: 4px; min-height: 0; padding: 12px; border-radius: 12px; box-shadow: none; }
.daily-overview .pill-icon { display: none; }
.daily-overview .goal-pills strong { font-size: 1.1rem; }
.daily-overview .goal-pills small { font-size: .7rem; }
#planningNote { display: none; }
#week .week-builder-launch { margin-bottom: 20px; padding: 16px; box-shadow: none; }
#week .week-builder-launch small, #week .week-builder-launch em { display: none; }
#week .week-builder-launch strong { font-size: 1rem; }
#week .day-tab { min-height: 48px; padding: 10px 4px; font-size: .8rem; }
#week .week-ribbon { gap: 4px; margin-bottom: 20px; }
.recipe-dialog .portion-rail { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.recipe-dialog .portion-rail > div { min-width: 0; }
.recipe-dialog .portion-rail > div:first-child { display: block; }
.recipe-dialog .portion-rail small { text-transform: none; letter-spacing: 0; font-size: .75rem; margin-bottom: 8px; }
.recipe-dialog .serving-stepper { display: grid; grid-template-columns: 44px 28px auto 44px; gap: 8px; }
.recipe-dialog .serving-stepper span { grid-column: 3; grid-row: 1; font-size: .8rem; }
.recipe-dialog .serving-stepper button:last-child { grid-column: 4; grid-row: 1; }
.recipe-dialog .serving-stepper button { width: 44px; height: 44px; box-shadow: none; }
.recipe-dialog .portion-rail { margin-top: 0; width: 100%; border-radius: 0; border: 0; border-bottom: 1px solid #e3e7ef; background: #f7f8fc; box-shadow: none; padding: 20px; backdrop-filter: none; }
.recipe-dialog .recipe-image-wrap { height: min(36dvh,360px); }
.recipe-dialog .recipe-image-copy { position: absolute; left: 20px; right: 56px; top: auto; bottom: 24px; padding: 0; }
.recipe-dialog .recipe-image-copy h2 { font-size: clamp(1.6rem,6vw,2.5rem); line-height: 1.12; }
.recipe-dialog .recipe-image-copy > span { font-size: .8rem; text-transform: none; letter-spacing: 0; }
.recipe-dialog .recipe-facts { display: flex; flex-wrap: wrap; gap: 12px; padding: 0 0 16px; border-bottom: 1px solid #e3e7ef; }
.recipe-dialog .recipe-facts span { flex: 0 1 auto; padding: 0; background: none; font-size: .8rem; border-radius: 0; }
.recipe-dialog .recipe-facts b { display: inline; font-size: .8rem; margin: 0; }
.recipe-dialog .recipe-body { padding-top: 20px; }
.recipe-dialog .recipe-section-heading > span { text-transform: none; letter-spacing: 0; font-size: .75rem; }
.recipe-dialog .source-note, .recipe-dialog .ingredient-list li > small { font-size: .75rem; line-height: 1.5; }
.recipe-dialog .recipe-section-heading h3 { font-size: 1.25rem; }
.recipe-dialog .recipe-explanation { margin: 0 0 16px; border-top: 0; }
.recipe-dialog .recipe-section { padding-block: 20px; }
.recipe-dialog .portion-rail .primary-button { min-height: 48px; padding: 12px 18px; border-radius: 12px; box-shadow: none; }
.recipe-explanation { margin: 20px 0; border-block: 1px solid var(--content-border); color: #536079; }
.recipe-explanation summary { min-height: 48px; padding-block: 14px; cursor: pointer; font-size: .9rem; }
.recipe-explanation > :not(summary) { padding-bottom: 12px; }
.ingredient-list li { overflow-wrap: normal; }
.ingredient-list li > div { min-width: 0; }
.health-dialog .health-content .ledger-section { padding-block: 20px; }
.health-dialog .health-content .ledger-heading .eyebrow { display: none; }
.health-dialog .mini-panel { box-shadow: none; }
.profile-disclosure { border-bottom: 1px solid #e3e7ef; }
.profile-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; color: #34405a; font-size: 1rem; font-weight: 650; cursor: pointer; list-style: none; }
.profile-disclosure > summary::after { content: "+"; font-size: 1.3rem; font-weight: 400; }
.profile-disclosure[open] > summary::after { content: "−"; }
.profile-disclosure > summary::-webkit-details-marker { display: none; }
.profile-disclosure > .ledger-section { border: 0; margin: 0; padding-top: 0 !important; }
.profile-disclosure > .ledger-section > .ledger-heading { display: none; }
.cooking-dialog { width: min(720px,calc(100vw - 40px)); padding: 0; border: 0; border-radius: 24px; background: #f7f8fc; color: #202331; max-height: 94dvh; overflow: auto; }
.cooking-dialog { max-width: none; }
.cooking-shell { padding: 28px; display: grid; gap: 20px; overflow-wrap: break-word; }
.cooking-shell > * { min-width: 0; }
.cooking-header small { display:block; color:#385bd6; font-size:.8rem; font-weight:600; margin-bottom:6px; }
.cooking-identity { display:flex; align-items:center; gap:18px; padding-bottom:20px; border-bottom:1px solid #e3e7ef; }
.cooking-identity figure { margin:0; flex:0 0 96px; }
.cooking-identity img { display:block; width:96px; height:96px; object-fit:cover; border-radius:18px; }
.cooking-identity figcaption { margin-top:6px; font-size:.65rem; color:#667085; }
.cooking-identity p { margin:6px 0 0; font-size:.8rem; line-height:1.45; color:#667085; }
.cooking-current h3 { margin:0 0 12px; font-size:1.1rem; font-weight:600; color:#385bd6; letter-spacing:0; }
.cooking-timer { padding:18px; border-radius:18px; background:#eaf0ff; border:1px solid #d9e2fa; }
.cooking-timer > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cooking-timer strong { font-size:.9rem; font-weight:600; }
.cooking-timer output { font-size:2rem; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.cooking-timer p,.cooking-note { font-size:.8rem; line-height:1.5; color:#667085; margin:10px 0 0; }
.cooking-timer [role=status]:empty { display:none; }
.cooking-timer [role=status] { color:#284cad; font-weight:600; }
.cooking-timer-buttons,.cooking-alert-settings > div { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.cooking-timer-buttons button,.cooking-alert-settings button { min-height:44px; padding:10px 16px; margin:0; background:white; color:#284cad; border:1px solid #d9e2fa; border-radius:12px; font:inherit; font-size:.85rem; }
.cooking-overview summary,.cooking-alert-settings summary { cursor:pointer; padding:16px 0; min-height:48px; border-top:1px solid #e3e7ef; font-size:.95rem; }
.cooking-overview ol { list-style:none; padding:0; margin:0; }
.cooking-overview button { display:grid; gap:6px; width:100%; padding:14px; text-align:left; border:0; border-radius:12px; background:transparent; font:inherit; color:#596174; font-size:.9rem; line-height:1.5; }
.cooking-overview button[aria-current=step] { background:#eaf0ff; color:#284cad; }
.cooking-shell .planning-advice-note { margin:0; }
.cooking-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cooking-header h2 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.cooking-header button { flex: 0 0 44px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #e9ecf4; font-size: 1.5rem; }
.cooking-progress { display: flex; justify-content: space-between; align-items: center; color: #667085; font-size: .85rem; }
.cooking-progress progress { width: 45%; height: 6px; accent-color: #385bd6; }
.cooking-step { margin: 0; min-height: 0; font-size: clamp(1.3rem,4vw,1.75rem); line-height: 1.5; letter-spacing: -.02em; }
.cooking-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cooking-controls button { min-height: 48px; border-radius: 12px; }
.cooking-ingredients summary { padding-block: 16px; cursor: pointer; border-top: 1px solid #e3e7ef; }
.cooking-ingredients label { display: flex; gap: 12px; padding-block: 12px; align-items: start; font-size: .95rem; line-height: 1.5; }
.cooking-ingredients input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: #385bd6; }
.cooking-ingredients label:has(input:checked) span { text-decoration: line-through; color: #667085; }
.cooking-awake { display: flex; align-items: center; justify-content: flex-start; gap: 12px; color: #667085; font-size: .85rem; font-weight: 400; text-align: left; }
.cooking-awake input { width: 22px; height: 22px; margin:0; flex:0 0 22px; }
.cooking-shell .cooking-awake { display:flex; justify-content:flex-start; letter-spacing:0; }
.cart-summary strong { color: #202331; }
.kitchen-edit-names { justify-self: start; padding: 0; color: #385bd6; }
.kitchen-chef-shell .kitchen-food-field:has(textarea:disabled) { opacity: .7; }
.replacement-reasons > summary { cursor: pointer; color: #385bd6; padding: 12px 0; font-size: .9rem; }
.replacement-reasons > div { margin-top: 12px; }
.replacement-shell .replacement-reasons { padding: 0; margin: 12px 0; border-block: 1px solid #e3e7ef; }
.replacement-shell .handoff-label { display: none; }
.replacement-shell .alternative-card { box-shadow: none; }
.replacement-shell .smart-swap-provenance { font-size: .75rem; text-transform: none; letter-spacing: 0; }
.app-update-notice { box-sizing: border-box; position: fixed; z-index: 40; bottom: calc(105px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; width: min(430px, calc(100% - 32px)); padding: 12px 16px; border: 1px solid #dce1ec; border-radius: 14px; background: #fff; color: #34405a; box-shadow: 0 8px 24px #20233120; font-size: .9rem; line-height: 1.4; }
.app-update-notice > span { flex: 1 1 160px; min-width: 0; font-weight: 600; overflow-wrap: normal; word-break: normal; }
.app-update-notice button { flex: 0 0 auto; width: auto; min-width: 88px; min-height: 44px; margin: 0 0 0 auto; padding: 10px 16px; border: 0; border-radius: 9px; color: white; background: #385bd6; font: inherit; font-weight: 650; line-height: 1.2; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (max-width: 820px) { .cooking-dialog { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; } .cooking-shell { padding: max(20px,env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom)); } }
@media (max-width: 360px) { .daily-overview .goal-pills { grid-template-columns: 1fr; } .daily-overview .goal-pills > div { display: flex; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
.topbar .brand-mark { transform: none; overflow: hidden; }
.topbar .brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.planning-advice-note { color: #667085; font-size: .75rem; line-height: 1.45; margin: 12px 0 16px; font-weight: 400; }
.kitchen-chef-header .planning-advice-note { font-size: .75rem; margin-bottom: 0; }
.kitchen-fit-note { margin: 12px 0; padding-block: 10px; border-block: 1px solid #e3e7ef; font-size: .8rem; color: #536079; }
.kitchen-fit-note summary { cursor: pointer; min-height: 44px; align-content: center; font-weight: 600; color: #34405a; }
.kitchen-fit-note ul { padding-left: 20px; line-height: 1.5; }
.kitchen-filter-note { margin: 0; font-size: .85rem; color: #667085; line-height: 1.5; }
