/* Selected visual: exec-875706bb-cbe3-45fb-8eb4-9074cb7fc6f0.png.
   All illustrated material is supplied artwork; live controls remain HTML. */
.ui-icon{display:inline-block;width:20px;height:20px;object-fit:contain;flex:none;vertical-align:middle;pointer-events:none}
body.theme-calendar{--ink:#263128;--muted:#777b69;--accent:#bd8323;--line:#bdc5c3;--surface:#fff9ee;--paper:#fff9ee;--nav:#fff9ee;--scene:none;--panel:none;color:var(--ink)}
.theme-calendar .app-shell{padding:0 30px calc(118px + env(safe-area-inset-bottom));background:#faf3e5;min-height:100svh;border-radius:0;box-shadow:0 0 40px #574b3320}
.theme-calendar .app-shell:before{background-color:#faf3e5;background-image:url('../assets/notebook/header.webp'),url('../assets/notebook/footer.webp'),url('../assets/notebook/paper.webp');background-position:center top,center bottom,center top;background-size:100% auto,100% auto,100% auto;background-repeat:no-repeat,no-repeat,repeat-y;inset:0}
.theme-calendar .app-header{height:132px;min-height:132px;padding:62px 0 4px;gap:0}
.theme-calendar .planner-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%}
.theme-calendar .notebook-wordmark{display:block;width:116px;height:50px;object-fit:contain;margin-left:-12px}
.theme-calendar .notebook-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;border-radius:22px;border:1px solid #dfd3bd;background:#fffaf1d9;font-size:13px;line-height:1.4;color:#263128;box-shadow:0 1px 3px #5b44290a}
.theme-calendar .notebook-back .ui-icon{width:19px;height:19px}
.theme-calendar .kitchen-status{display:block;margin:0 0 6px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;min-height:38px}
.notebook-context{display:flex;align-items:center;gap:7px;min-width:0;min-height:38px;width:100%}
.theme-calendar .notebook-context button{border:0;margin:0;padding:5px 0;color:#263128;background:none;box-shadow:none;border-radius:0;min-height:38px}
.theme-calendar .notebook-context .account-link{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:auto;max-width:35%;min-width:0;flex:none;font-size:13px}
.theme-calendar .notebook-context .account-link strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;line-height:1.6}
.context-divider{font-size:15px;color:#b3a385;font-weight:400;flex:none}
.theme-calendar .notebook-context .scope-current{display:flex;align-items:center;gap:5px;flex:1;min-width:0;font-size:13px;text-align:left}
.theme-calendar .notebook-context .scope-current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:550}
.theme-calendar .notebook-context .scope-current .ui-icon{width:15px;height:15px}
.theme-calendar .notebook-context .notice-button{display:flex;align-items:center;justify-content:flex-end;min-width:25px;width:25px;position:relative;flex:none}
.theme-calendar .notebook-context .notice-button .ui-icon{width:22px;height:22px}
.theme-calendar .notebook-context .notice-button b{position:absolute;right:-7px;top:0;font-size:9px;line-height:15px;padding:0 4px;min-width:15px;background:#ad6c15;color:white;border-radius:10px}
.theme-calendar .kitchen-status>p{margin:0;padding:0;font-size:11px;line-height:1.5}
.theme-calendar .intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 12px;margin:0;text-align:left}
.theme-calendar .intro h1{font-size:26px;line-height:1.35;letter-spacing:.2px;font-weight:700;color:#263128;min-width:0}
.theme-calendar .intro #pageSubtitle{display:none}
.notebook-plan-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 10px;border:1px solid #d4a14c;background:#efc36e;color:#263128;border-radius:13px;font-size:12px;line-height:1.3;font-weight:550;white-space:nowrap;box-shadow:0 2px 4px #7b57150b;flex:none}
.notebook-plan-button .ui-icon{width:17px;height:17px}
.theme-calendar .schedule-heading{gap:10px;align-items:center;margin:4px 0 10px;min-height:38px}
.theme-calendar .schedule-heading>button{height:35px;min-height:35px;min-width:35px;width:35px;padding:7px;border:1px solid #d8ccb8;border-radius:50%;background:#fffaf0ce;box-shadow:0 1px 3px #59431e08}
.theme-calendar .schedule-heading>div{min-width:0;flex:1;text-align:center}
.theme-calendar .calendar-jump{display:inline-flex;align-items:center;justify-content:center;max-width:100%;font-size:14px;font-weight:650;white-space:nowrap;letter-spacing:0;color:#263128;line-height:1.5}
.theme-calendar .shared-day-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 15px;padding:0}
.theme-calendar .shared-day-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:58px;min-height:58px;width:100%;padding:5px 0;border:1px solid transparent;border-radius:12px;background:none;color:#263128;box-shadow:none}
.theme-calendar .shared-day-nav button small{font-size:12px;line-height:1.4;color:#7f816d;font-weight:450}
.theme-calendar .shared-day-nav button span{font-size:20px;line-height:1.25;font-weight:600}
.theme-calendar .shared-day-nav button[aria-pressed=true]{border-color:#ce9b43;background:#edbd61;color:#263128}
.theme-calendar .shared-day-nav button[aria-pressed=true] small{color:#75653e}
.theme-calendar .schedule-toolbar{margin:0 0 12px;min-height:30px;align-items:center}
.theme-calendar .schedule-toolbar strong{font-size:13px;font-weight:500}.theme-calendar .schedule-toolbar .back-link{font-size:12px;min-height:30px;padding:3px 0}
.notebook-meals{border-top:1px solid #9bb0bb;margin-top:8px}
.theme-calendar .notebook-meal{display:grid;grid-template-columns:58px minmax(0,1fr) 52px;column-gap:12px;align-items:start;min-height:108px;padding:21px 0;margin:0;border:0;border-bottom:1px dashed #a4b5bc;border-radius:0;background:none;box-shadow:none}
.theme-calendar .notebook-meal:last-child{border-bottom:0}
.theme-calendar .notebook-meal .saved-meal-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;border:0;padding:0;margin:0}
.theme-calendar .notebook-meal h3{font-size:20px;line-height:1.3;font-weight:650;white-space:nowrap;margin:0}
.theme-calendar .notebook-meal .cuisine-tag{display:inline-block;margin:0;padding:2px 8px;background:#f3da9f;color:#72551d;font-size:11px;line-height:1.5;border-radius:12px;font-weight:450}
.theme-calendar .notebook-meal .cuisine-tag[data-cuisine=western]{background:#dfe3bf;color:#586140}
.theme-calendar .notebook-meal .cuisine-tag[data-cuisine=italian]{background:#d6e3ed;color:#43657c}
.theme-calendar .unplanned-label{font-size:11px;color:var(--muted)}
.notebook-dishes{min-width:0;border-left:1px solid #d2c8b6;padding-left:11px}
.theme-calendar .notebook-meal .plan-dish{display:block;min-height:0;width:100%;margin:0;padding:2px 0;text-align:left;border:0;font-size:14px;line-height:1.65;font-weight:450;background:none;color:#263128;overflow-wrap:anywhere}
.theme-calendar .notebook-meal .plan-dish>svg,.theme-calendar .notebook-meal .dish-local{display:none}
.theme-calendar .notebook-meal .meal-controls{display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin:0;padding:1px 0 0;border:0;min-width:0}
.theme-calendar .notebook-meal .compact-button{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:11px;line-height:1.3;min-height:30px;white-space:nowrap;min-width:0;border-radius:18px;padding:5px 6px;border:1px solid #d3c1a5;background:#fffbf044}
.theme-calendar .notebook-meal .compact-button .ui-icon{width:13px;height:13px}
.meal-delete,.meal-restore{padding:2px 0;min-height:25px;font-size:11px;color:#777664;font-weight:450;line-height:1.4}
.theme-calendar .primary-button{background:#bd8323;color:white;border:1px solid #ae771d;box-shadow:0 2px 4px #714a1314;border-radius:13px;font-size:18px;min-height:47px;padding:11px 14px;letter-spacing:0;font-weight:650}
.theme-calendar .notebook-shop{gap:10px;margin-top:18px;font-size:19px}
.theme-calendar .notebook-shop .ui-icon{width:24px;height:24px}
.theme-calendar .schedule-secondary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 0}
.theme-calendar .schedule-secondary .text-button{width:auto;min-height:34px;padding:3px 0;margin:0;font-size:11px;font-weight:450;color:#746e5c}
.theme-calendar .paper-panel,.theme-calendar .shopping-overview,.theme-calendar .shared-alert{background:none;border:0;border-radius:0;box-shadow:none;outline:0}
.theme-calendar .paper-panel{padding:20px 0}
.theme-calendar .notebook-empty,.theme-calendar .empty-panel{min-height:228px;text-align:center;padding:30px 0 22px;margin:4px 0 16px;border-top:1px solid #a6b4b8}
.theme-calendar .empty-panel>.ui-icon,.theme-calendar .empty-calendar .ui-icon{width:38px;height:38px;opacity:.65;margin:0 auto 14px;display:block}
.theme-calendar .empty-panel h2{font-size:20px;line-height:1.5;font-weight:600;margin-bottom:12px}
.theme-calendar .empty-panel p{font-size:13px;line-height:1.8;margin:0 0 22px;color:#7a7b68}
.theme-calendar .empty-panel .primary-button{font-size:15px;min-height:44px}
.theme-calendar .restore-list{font-size:12px;margin-top:12px;min-height:38px;padding:8px 10px;border-radius:12px;background:#fffaf16b;border:1px solid #d8cbb8}
.theme-calendar .shopping-overview{margin:4px 0 16px;padding:8px 0 16px;border-top:1px solid #a4b6bf;border-bottom:1px dashed #b0b9b9}
.theme-calendar .shopping-summary{align-items:center;gap:8px;padding:8px 0}.theme-calendar .shopping-summary strong{font-size:14px;font-weight:550}
.theme-calendar .shopping-summary button{font-size:11px;min-height:30px;padding:5px 8px;border-radius:18px}
.theme-calendar .shopping-tools{gap:5px;flex-wrap:wrap;margin-top:12px}.theme-calendar .shopping-tools button{font-size:11px;padding:5px 8px;min-height:32px;border-radius:17px;background:#fffaf157;border-color:#d8c8ad;flex:1;white-space:nowrap}
.theme-calendar .progress-track{height:3px;background:#ded8c8;border-radius:2px}.theme-calendar .progress-track span{background:#b98730}
.theme-calendar .shopping-panel{padding:0;margin:0 0 8px;border-bottom:1px dashed #a9b7ba}
.theme-calendar .shop-section summary{font-size:17px;min-height:52px;font-weight:550;gap:8px;align-items:center}.theme-calendar .shop-section .count{font-size:10px;font-weight:450;color:#7d7c69}
.theme-calendar .shop-section summary .ui-icon{width:17px;height:17px}.theme-calendar .shop-section[open] summary .ui-icon{transform:rotate(180deg)}
.theme-calendar .shop-item{font-size:14px;padding:14px 0;gap:10px;border-top-color:#d4cebd}
.theme-calendar .ingredient-name{font-size:14px;font-weight:450}.theme-calendar .amount{font-size:12px}.theme-calendar input[type=checkbox]{accent-color:#a87522;width:18px;height:18px}
.theme-calendar .shopping-source{padding:14px 0;font-size:11px}.theme-calendar .shopping-source summary{min-height:34px;line-height:1.8}.theme-calendar .back-schedule{font-size:12px;min-height:38px;border-radius:18px}
.theme-calendar .menu-choices{margin-top:16px;gap:0}.theme-calendar .menu-choice{background:none;border:0;border-bottom:1px dashed #a4b6bf;border-radius:0;box-shadow:none;padding:20px 0;gap:14px}.theme-calendar .menu-choice-letter{background:none;color:#ad741c;border:0;font-size:36px;font-weight:550;min-width:42px;width:42px}.theme-calendar .menu-choice-copy strong{font-size:17px}.theme-calendar .menu-choice-copy>span{font-size:12px;line-height:1.7}.theme-calendar .menu-choice-copy small{font-size:11px}
.theme-calendar .return-button{font-size:12px;min-height:36px;border:1px solid #d4c3a7;border-radius:18px;background:#fffaf077;padding:7px 10px;box-shadow:none}
.theme-calendar .plan-panel{border-top:1px solid #a3b4bf}.theme-calendar .plan-panel .panel-title{font-size:17px;font-weight:550}.theme-calendar .plan-meal h3{font-size:17px;font-weight:550}.theme-calendar .plan-meal .plan-dish{font-size:14px;line-height:1.65;padding:12px 0}.theme-calendar .plan-meal .dish-local{font-size:11px}
.theme-calendar .draft-start{font-size:12px}.theme-calendar .draft-start input{font-size:13px;background:#fffaf09c;border-color:#d9cbb8}
.theme-calendar .preview-day-nav button{font-size:12px;border-color:#ded1bd;background:#fffbf078}.theme-calendar .preview-day-nav [aria-pressed=true]{background:#edbd61;border-color:#c39744;color:#263128}
.theme-calendar .bottom-nav{background-color:#fcf5e8;background-image:url('../assets/notebook/paper.webp');background-position:center center;background-size:100% auto;border-top:1px solid #d7ccb6;border-radius:17px 17px 0 0;box-shadow:0 -2px 7px #4d3d2310;padding:11px 14px calc(15px + env(safe-area-inset-bottom));min-height:79px}
.theme-calendar .bottom-nav button{font-size:11px;font-weight:450;color:#777b68;min-height:48px;min-width:74px;gap:4px}
.theme-calendar .bottom-nav .ui-icon{width:25px;height:25px;opacity:.9}
.theme-calendar .bottom-nav button[aria-current]{color:#9b6510;font-weight:550}.theme-calendar .bottom-nav button[aria-current]:after{display:none}
@media(max-width:374px){
 .theme-calendar .app-shell{padding-inline:22px}.theme-calendar .app-header{height:120px;min-height:120px;padding-top:52px}
 .theme-calendar .notebook-wordmark{width:108px;height:46px}.theme-calendar .notebook-context{gap:5px}.theme-calendar .notebook-context .account-link{max-width:32%;font-size:12px}.theme-calendar .notebook-context .account-link strong,.theme-calendar .notebook-context .scope-current strong{font-size:12px}
 .theme-calendar .intro h1{font-size:24px}.notebook-plan-button{font-size:11px;padding:7px 8px;gap:4px}.notebook-plan-button .ui-icon{width:15px;height:15px}.theme-calendar .calendar-jump{font-size:12px}
 .theme-calendar .notebook-meal{grid-template-columns:46px minmax(0,1fr) 47px;column-gap:8px}.theme-calendar .notebook-meal h3{font-size:18px}.notebook-dishes{padding-left:8px}.theme-calendar .notebook-meal .plan-dish{font-size:13px}.theme-calendar .notebook-meal .compact-button{font-size:10px;gap:2px;padding-inline:5px}
 .theme-calendar .shop-section .count{font-size:9px}
}
.theme-calendar .notebook-meal h3{color:#263128}
.theme-calendar .shared-day-nav button span{margin-top:0}
.theme-calendar .calendar-jump{padding:4px 0}
.theme-calendar .calendar-jump:after{display:none}
/* QA iteration: the reference menu and its purchase action must fit above the
   fixed navigation at 390x844. Reduce excess rhythm rather than add tail space. */
.theme-calendar .app-header{height:124px;min-height:124px}
.theme-calendar .kitchen-status{margin-bottom:0}
.theme-calendar .intro{padding-top:12px;padding-bottom:8px}
.theme-calendar .schedule-heading{margin-top:0;margin-bottom:8px}
.theme-calendar .shared-day-nav{margin-bottom:10px}
.theme-calendar .shared-day-nav button{height:50px;min-height:50px}
.theme-calendar .shared-day-nav button span{font-size:19px;line-height:1.25}
.theme-calendar .notebook-meal{min-height:98px;padding-top:17px;padding-bottom:17px}
.theme-calendar .notebook-shop{margin-top:14px;line-height:1.3}
@media(max-width:374px){.theme-calendar .app-header{height:112px;min-height:112px}}
