/* One dish, just this once: Frank's few questions before a one-off meal. Purposeful color: the ochre basket and a sage selected meal. */
dialog.one-dish { width: min(480px, calc(100% - 24px)); background: var(--paper); border: 1px solid var(--line); color: var(--ink); box-sizing: border-box; }
.one-dish form { display: grid; gap: 6px; min-width: 0; }
.one-dish-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.one-dish-head h2 { margin: 0 0 6px; font-size: 26px; line-height: 1.15; }
.one-dish-head p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--muted); }
.one-dish-head img { flex: none; width: 72px; height: auto; }
.one-dish-label { display: block; margin: 10px 0 2px; padding: 0; font-size: 15px; font-weight: 600; }
.one-dish input[type=number], .one-dish textarea { width: 100%; box-sizing: border-box; margin: 0; padding: 10px 12px; background: var(--white); color: var(--ink); border: 1px solid var(--line); font: inherit; font-size: 16px; }
.one-dish input[type=number] { max-width: 120px; min-height: 44px; }
.one-dish textarea { resize: none; field-sizing: content; min-height: 68px; max-height: 40dvh; }
.one-dish input[aria-invalid=true] { border-color: var(--red); }
.one-dish .hint { margin: 2px 0 0; font-size: 14px; color: var(--muted); }
.one-dish .field-error { margin: 2px 0 0; color: var(--red); }
.one-dish .picker-trigger { width: 100%; }
.one-dish-meals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.one-dish-meals legend { grid-column: 1 / -1; float: left; width: 100%; margin-bottom: 8px; }
.one-dish-meals label { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; box-sizing: border-box; background: var(--white); border: 1px solid var(--line); border-radius: var(--button-radius); font-size: 15px; cursor: pointer; }
.one-dish-meals label:hover { border-color: var(--green); }
.one-dish-meals label:has(:checked) { background: var(--sage); border-color: var(--green); font-weight: 600; }
.one-dish-meals label:has(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.one-dish-meals input { flex: none; width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--green); }
.one-dish .form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
@media (max-width: 700px) { .one-dish .form-actions > button { flex: 1; } }
@media (forced-colors: active) { .one-dish-meals label:has(:checked) { outline: 2px solid Highlight; } }
/* Before Frank plans: the same paper dialog and ochre basket, two optional notes. */
.plan-check .optional { margin-left: 4px; font-weight: 400; color: var(--muted); }
