.dish-workspace{max-width:1200px;margin:30px auto;padding:0 20px}.dish-workspace h1{margin-bottom:8px}.dish-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:32px;margin-top:28px;align-items:start}.dish-workspace h2{font-size:22px;margin:0 0 16px}.dish-workspace h3{font-size:18px}.dish-workspace label{color:var(--ink)}.dish-workspace input:not([type=radio]),.dish-workspace select{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--control-line);border-radius:10px;min-height:44px;padding:10px;margin-top:7px;min-width:0}.dish-workspace button{min-height:44px;white-space:normal;max-width:100%;color:var(--ink)}.dish-workspace button.primary{background:var(--accent);color:white}.dish-picker{margin:24px 0;padding:20px;background:var(--soft);border-radius:16px}.dish-source,.dish-mode{display:flex;flex-wrap:wrap;gap:10px;padding:0;border:0;margin:12px 0 18px}.dish-source legend,.dish-mode legend{font-size:14px;margin-bottom:8px}.dish-source label,.dish-mode label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--control-line);border-radius:10px}.dish-workspace input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}.dish-search-result{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.dish-search-result>div{flex:1;min-width:0}.dish-search-result small{display:block;color:var(--muted);margin-top:5px}.dish-search-result button{flex-shrink:0}.dish-section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.dish-section-heading h2{margin:0}.dish-row{padding:16px 0;border-bottom:1px solid var(--line)}.dish-row-main{display:flex;gap:12px;align-items:center}.dish-row-name{flex:1;min-width:0;overflow-wrap:anywhere}.dish-row-name small{display:block;color:var(--muted);margin-top:5px}.dish-star{width:44px;padding:0!important;font-size:26px!important;color:var(--muted)!important;background:var(--paper);flex-shrink:0}.dish-star[aria-pressed=true]{color:#6d4600!important;background:#ffc24c;border-color:#ffc24c}.dish-row-weight{width:90px;flex-shrink:0}.dish-remove{padding:0!important;width:44px;flex-shrink:0}.dish-bounds{font-size:14px;margin:12px 0 0 56px}.dish-bounds summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted)}.dish-bounds>div{display:flex;gap:12px;flex-wrap:wrap}.dish-bounds label{flex:1;min-width:100px}.dish-target{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;position:sticky;top:20px}.dish-target-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dish-target button{width:100%;margin-top:12px}.dish-macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.dish-macro-grid span{display:block;font-size:13px;color:var(--muted)}.dish-macro-grid b{display:block;font-size:18px;margin-top:5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dish-over{color:#ab3e22}html[data-theme=dark] .dish-over{color:#ffbc9e}#dish-status,#dish-error{line-height:1.5;font-size:14px}.dish-target .meal-slot-radios{margin:20px 0 0;padding:0;border:0}.meal-slot-radios>div{display:flex;gap:8px;flex-wrap:wrap}.meal-slot-radios label{min-height:44px;display:flex;align-items:center;gap:8px;font-size:14px}#dish-custom[hidden],#dish-undo[hidden]{display:none}.dish-workspace .food-icon{flex-shrink:0}.dish-workspace .recipe-cover{width:40px;height:40px;object-fit:cover;border-radius:8px}
@media(max-width:900px){.dish-layout{grid-template-columns:1fr}.dish-target{position:static}.dish-workspace{padding:0 16px}.dish-target-inputs{gap:8px}}
@media(max-width:500px){.dish-row-main{flex-wrap:wrap;gap:8px}.dish-row-name{flex-basis:calc(100% - 108px)}.dish-row-weight{margin-left:52px;flex:1}.dish-picker,.dish-target{padding:16px}.dish-workspace{padding:0 12px}.dish-bounds{margin-left:52px}.dish-search-result{flex-wrap:wrap}.dish-search-result>div{flex-basis:calc(100% - 70px)}.dish-search-result button{margin-left:52px}.dish-target-inputs{grid-template-columns:1fr}.dish-target-inputs label{display:grid;grid-template-columns:1fr 100px;align-items:center}.dish-target-inputs input{margin:0}}

.dish-workspace img.gallery-dish-image{width:40px;height:40px;object-fit:cover;border-radius:8px;flex-shrink:0}

.dish-bounds summary::after{content:"⌄";margin-left:8px}.dish-jump{display:none}@media(max-width:900px){.dish-jump{display:inline-flex;min-height:44px;align-items:center}.dish-target{scroll-margin-top:20px}}

.dish-bounds{margin:0 0 0 56px}.dish-bounds summary{width:max-content;font-size:12px}.dish-bounds>div{padding:8px 0}.dish-row{padding:12px 0}
.dish-comparison-head,.dish-comparison-row{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));gap:8px;align-items:center;font-variant-numeric:tabular-nums}.dish-comparison-head{font-size:12px;color:var(--muted);padding-bottom:6px}.dish-comparison-row{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.dish-comparison-row>strong{font-size:13px;overflow-wrap:anywhere}.dish-comparison-row>span{color:var(--muted)}.dish-comparison-row small{grid-column:2/4;color:var(--muted);font-size:12px}.dish-comparison-row small.dish-over{color:#ab3e22}html[data-theme=dark] .dish-comparison-row small.dish-over{color:#ffbc9e}
#dish-record-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--control-line);border-radius:18px;padding:24px;overscroll-behavior:contain}#dish-record-dialog::backdrop{background:rgba(0,0,0,.55)}.dish-dialog-heading{display:flex;gap:12px;justify-content:space-between;align-items:center}.dish-dialog-heading h2{font-size:22px;margin:0}.dish-dialog-heading button{min-width:44px;min-height:44px;color:var(--ink)}#dish-record-summary{overflow-wrap:anywhere}.dish-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:20px}.dish-dialog-actions button{min-height:44px}#dish-record-dialog .meal-slot-radios{padding:0;border:0;margin-top:20px}#dish-record-dialog .meal-slot-radios label{padding:8px 12px;border:1px solid var(--control-line);border-radius:10px;color:var(--ink)}#dish-record-dialog input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}#dish-record-error{color:var(--ink)}
#dish-record-dialog .meal-slot-radios label{margin:0}
.dish-source label,.dish-mode label{margin:0}



.dish-comparison-row small.dish-short{color:#765300}html[data-theme=dark] .dish-comparison-row small.dish-short{color:#ffd16a}

#dish-status[hidden]{display:none}#dish-status{margin:20px 0 8px;padding:16px;border:1px solid var(--control-line);border-left:4px solid #b27900;border-radius:10px;background:var(--soft);color:var(--ink);overflow-wrap:anywhere}#dish-status h3{font-size:17px;margin:0 0 8px;color:inherit}#dish-status p{margin:8px 0;font-size:14px}#dish-status[data-kind=blocked]{border-left-color:#b8442a}#dish-status[data-kind=ok]{border-left-color:#24805a}.dish-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;font-size:12px}.dish-proof b{display:block;font-size:16px;font-variant-numeric:tabular-nums}.dish-constraint-list{font-size:13px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.dish-workspace input.dish-needs-review{border:2px solid #946400}.dish-bounds summary.dish-needs-review{color:#765300;font-weight:700}.dish-bounds summary{max-width:100%;width:auto;flex-wrap:wrap}.dish-row input{scroll-margin-block:100px}html[data-theme=dark] #dish-status{border-left-color:#ffd16a}html[data-theme=dark] #dish-status[data-kind=blocked]{border-left-color:#ffbc9e}html[data-theme=dark] #dish-status[data-kind=ok]{border-left-color:#76d6aa}html[data-theme=dark] .dish-workspace input.dish-needs-review{border-color:#ffd16a}html[data-theme=dark] .dish-bounds summary.dish-needs-review{color:#ffd16a}

.dish-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dish-page-heading h1{margin-bottom:0}.dish-page-heading button{min-height:44px;flex-shrink:0}

.dish-tolerance{margin:20px 0;border-top:1px solid var(--line);padding-top:18px}.dish-tolerance output{font-weight:700}.dish-workspace input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}.dish-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.dish-comparison-row .dish-target-range{display:block;font-size:11px;margin-top:4px}

.dish-tolerance-heading{display:flex;align-items:center;gap:8px}.dish-tolerance-heading>details:first-child{flex:1;min-width:0}.dish-tolerance-heading summary{cursor:pointer;min-height:44px;align-content:center;color:var(--ink)}#dish-tolerance-summary{font-weight:700;white-space:nowrap}.dish-tolerance-info{position:relative}.dish-tolerance-info summary{display:grid;place-items:center;width:44px;list-style:none;border:1px solid var(--control-line);border-radius:50%;font-weight:700}.dish-tolerance-info summary::-webkit-details-marker{display:none}.dish-tolerance-info p{position:absolute;right:0;top:44px;z-index:5;width:min(280px,calc(100vw - 80px));padding:14px;background:var(--paper);border:1px solid var(--control-line);border-radius:10px;font-size:14px;box-shadow:0 4px 16px #0003}#dish-tolerance-settings[hidden]{display:none}

.dish-ingredient-nutrition{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.dish-ingredient-nutrition span{white-space:nowrap}

.dish-reset-row #dish-reset{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 18px;background:var(--soft);border:1px solid var(--control-line);border-radius:10px;font-size:15px;font-weight:700;color:var(--ink)}.dish-reset-row #dish-reset:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}#dish-reset svg{flex-shrink:0}

.dish-reset-row{display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.dish-reset-row #dish-reset{min-height:44px;margin:0;flex-shrink:0}

.dish-recipe-details{margin:8px 0 8px 56px;font-size:14px;overflow-wrap:anywhere}.dish-recipe-details summary{cursor:pointer;min-height:44px;align-content:center;color:var(--muted)}.dish-recipe-details ul{padding-left:20px}.dish-anchor-caption{font-size:12px;color:var(--muted);margin:8px 0 0}.dish-recipe-details select{max-width:100%}
