/* Recipe decisions share the existing cream/sage restaurant sheet. */
#menu-panel.recipe-book-panel{width:min(94vw,760px);max-height:min(calc(100dvh - 114px),820px)}
#menu-panel .shop-header{flex:none;gap:12px;padding:12px 16px 8px}
#menu-panel .shop-title{flex:1;min-width:0;margin:0;font:800 22px/1.2 var(--font-title);overflow-wrap:anywhere}
#menu-panel [hidden]{display:none!important}
#menu-panel :is(button,input,select,summary,canvas):focus-visible{outline:3px solid #805916;outline-offset:3px}
.recipe-book-icon{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #c7b99b;border-radius:50%;background:#f4e9cf;color:#3c3528;cursor:pointer}
#menu-panel .recipe-book-tabs{flex:none;padding:4px 16px 10px;gap:8px}
#menu-panel .shop-tab{flex:1;min-height:44px;font-size:16px;white-space:normal;line-height:1.3}
#menu-panel .shop-tab-active{color:#30271b;text-shadow:none}
.recipe-book-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 18px 18px;scrollbar-gutter:stable}
.recipe-book-notice{flex:none;margin:0;padding:0 18px 10px;font:700 14px/1.5 var(--font-main);color:#365c45;overflow-wrap:anywhere}
.recipe-book-notice:empty{display:none}
.recipe-book-overview{margin:4px 0 16px;padding:0 0 12px;border-bottom:1px solid #d9cdb5}
.recipe-book-overview p{margin:0;font:600 14px/1.5 var(--font-main);color:#5c624b;overflow-wrap:anywhere}
.recipe-book-overview .recipe-book-count{margin-bottom:3px;font-size:18px;font-weight:800;color:#3f5841}
.recipe-book-tools{margin-bottom:8px}
.recipe-book-search{display:flex;flex-direction:column;gap:6px;font:700 14px/1.4 var(--font-main);color:#594a30}
.recipe-book-search-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.recipe-book-search input,.recipe-book-filter-fields select{box-sizing:border-box;width:100%;min-height:44px;min-width:0;padding:9px 12px;border:1px solid #b7ae96;border-radius:10px;background:#fffdf8;color:#30271b;font:600 16px/1.3 var(--font-main)}
.recipe-book-search input::placeholder{color:#665d4a;opacity:1}
.recipe-book-filters{margin-top:4px}
.recipe-book-filters summary{box-sizing:border-box;min-height:44px;padding:11px 2px;color:#4f6049;font:700 16px/1.35 var(--font-main);cursor:pointer}
.recipe-book-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:2px 0 12px}
.recipe-book-filter-fields label{display:flex;flex-direction:column;gap:6px;min-width:0;font:700 14px/1.4 var(--font-main);color:#594a30}
.recipe-book-list{display:flex;flex-direction:column}
.recipe-book-row{display:grid;grid-template-columns:96px minmax(0,1fr) 110px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #d9cdb5}
.recipe-book-thumbnail{position:relative;margin:0;width:96px;height:96px;background:#f1ead9;border-radius:14px}
.recipe-book-canvas{display:block;width:100%;height:100%}
.recipe-book-preview-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:8px;font:600 14px/1.4 var(--font-main);color:#665d4a;text-align:center;background:#f1ead9;overflow-wrap:anywhere;border-radius:inherit}
.recipe-book-row-info{min-width:0}
.recipe-book-row-info h4{margin:0 0 5px;font:800 18px/1.25 var(--font-title);color:#3f5841;overflow-wrap:anywhere}
.recipe-book-category,.recipe-book-row-stats{margin:3px 0;font:600 14px/1.4 var(--font-main);color:#665d4a;overflow-wrap:anywhere}
.recipe-book-stock{margin:4px 0;font:700 14px/1.4 var(--font-main);color:#365c45;overflow-wrap:anywhere}
.recipe-book-shortage{color:#8b4936!important}
.recipe-book-special{display:flex;align-items:center;gap:5px;margin:6px 0 0;font:700 14px/1.4 var(--font-main);color:#785417;overflow-wrap:anywhere}
.recipe-book-special svg{flex:none}
.recipe-book-button{box-sizing:border-box;min-height:44px;padding:9px 12px;border:1px solid #b7ae96;border-radius:10px;background:#fff9ed;color:#594a30;font:800 16px/1.3 var(--font-main);cursor:pointer;overflow-wrap:anywhere}
.recipe-book-button:hover{background:#f0e6d1}
.recipe-book-primary{background:#477752;color:#fffced;border-color:#375f45}
.recipe-book-primary:hover{background:#3a6645}
.recipe-book-button:disabled{color:#736b56;background:#e8e2d4;border-color:#d2c7b0;cursor:default}
.recipe-book-empty{margin:12px 0;padding:14px 0;font:600 16px/1.5 var(--font-main);color:#665d4a}
.recipe-book-footer{display:flex;flex:none;align-items:center;gap:10px;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #d9cdb5;background:#f7f0e2;border-radius:0 0 var(--radius-card) var(--radius-card)}
.recipe-book-footer>.recipe-book-button{flex:1}
.recipe-book-footer>.recipe-book-note{flex:1;margin:0}
.recipe-book-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin:6px 0 20px}
.recipe-book-visual{min-width:0}
.recipe-book-hero{position:relative;height:220px;margin:0 0 8px;background:#f1ead9;border-radius:16px}
.recipe-book-hero canvas{touch-action:none;cursor:grab}
.recipe-book-hero canvas:active{cursor:grabbing}
.recipe-book-preview-controls{display:flex;gap:8px}
.recipe-book-preview-controls button{flex:1;font-size:14px}
.recipe-book-preview-hint,.recipe-book-note{margin:8px 0 0;font:600 14px/1.5 var(--font-main);color:#665d4a;overflow-wrap:anywhere}
.recipe-book-detail-summary{min-width:0}
.recipe-book-detail-summary>.recipe-book-category{margin-top:0}
.recipe-book-detail-summary>.recipe-book-stock{font-size:16px}
.recipe-book-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:16px 0 0}
.recipe-book-stats>div{min-width:0}
.recipe-book-stats dt{margin:0 0 3px;font:600 14px/1.4 var(--font-main);color:#665d4a;overflow-wrap:anywhere}
.recipe-book-stats dd{margin:0;font:800 16px/1.4 var(--font-main);color:#3f5841;overflow-wrap:anywhere}
.recipe-book-mastery{padding-top:14px;margin-top:14px;border-top:1px solid #d9cdb5}
.recipe-book-mastery>p:first-child{margin:0 0 7px;font:800 16px/1.4 var(--font-main);color:#3f5841}
.recipe-book-stars{display:flex;gap:5px}
.recipe-book-star-earned path{fill:#eab942;stroke:#936717}
.recipe-book-star-empty path{fill:none;stroke:#998c72}
.recipe-book-ingredients{margin-top:24px}
.recipe-book-ingredients>h4{margin:0 0 10px;font:800 20px/1.3 var(--font-title);color:#3f5841;overflow-wrap:anywhere}
.recipe-book-ingredient{display:grid;grid-template-columns:30px minmax(0,1fr) 144px;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #d9cdb5}
.recipe-book-ingredient-info{min-width:0}
.recipe-book-ingredient h5{margin:0 0 4px;font:800 16px/1.3 var(--font-title);color:#3f5841;overflow-wrap:anywhere}
.recipe-book-ingredient p{margin:3px 0 0;font:600 14px/1.4 var(--font-main);color:#665d4a;overflow-wrap:anywhere}
.recipe-book-ingredient button{font-size:14px}
@media(max-width:600px){
 #menu-panel.recipe-book-panel{width:calc(100vw - 20px)}
 #menu-panel .shop-title{font-size:20px}
 .recipe-book-body{padding-inline:12px}
 .recipe-book-row{grid-template-columns:84px minmax(0,1fr);gap:6px 12px;padding-block:12px}
 .recipe-book-thumbnail{grid-column:1;grid-row:1/3;width:84px;height:84px}
 .recipe-book-row-info{grid-column:2;grid-row:1}
 .recipe-book-inspect{grid-column:2;grid-row:2;justify-self:start;min-width:110px}
 .recipe-book-filter-fields{grid-template-columns:minmax(0,1fr)}
 .recipe-book-detail-hero{grid-template-columns:minmax(0,1fr);gap:16px}
 .recipe-book-hero{height:174px}
 .recipe-book-preview-hint{margin-top:6px}
 .recipe-book-ingredient{grid-template-columns:28px minmax(0,1fr);gap:6px 10px}
 .recipe-book-ingredient>button{grid-column:2;justify-self:start}
 .recipe-book-footer{flex-wrap:wrap;padding-inline:12px}
 .recipe-book-footer>.recipe-book-note{flex:1 1 100%}
}
@media(max-height:520px){
 #menu-panel.recipe-book-panel{top:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:none}
 #menu-panel .shop-header{padding-block:4px}
 #menu-panel .recipe-book-tabs{padding-block:0 5px}
 .recipe-book-footer{padding-block:6px}
 .recipe-book-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:6px}
 .recipe-book-overview .recipe-book-count{font-size:16px;margin:0}
 .recipe-book-detail-hero{gap:12px}
 .recipe-book-hero{height:150px}
 .recipe-book-row{padding-block:8px}
}
@media(prefers-reduced-motion:reduce){#menu-panel.recipe-book-panel{transition:none}}
@media(max-height:520px) and (min-width:600px){
 #menu-panel.recipe-book-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);grid-template-rows:auto auto minmax(0,1fr) auto;width:calc(100vw - 24px)}
 #menu-panel .shop-header{grid-column:1;grid-row:1;padding-block:0;padding-inline-end:8px}
 #menu-panel .shop-title{font-size:18px}
 #menu-panel .recipe-book-tabs{grid-column:2;grid-row:1;padding:0 12px 0 4px;align-items:center}
 #menu-panel[data-menu-view=detail] .shop-header{grid-column:1/-1}
 #menu-panel .recipe-book-notice{grid-column:1/-1;grid-row:2;padding-bottom:6px}
 .recipe-book-body{grid-column:1/-1;grid-row:3}
 .recipe-book-footer{grid-column:1/-1;grid-row:4}
 .recipe-book-overview{margin-block:4px;padding-bottom:4px}
 .recipe-book-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:4px}
 .recipe-book-filters{margin:0}
 .recipe-book-filters summary{padding-inline:12px}
 .recipe-book-filters[open]{grid-column:1/-1}
}
