.meal-day-bar{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:24px;background:#e7f2ed;border:1px solid #c6ddd3;border-radius:20px;padding:24px;margin-bottom:24px}.meal-day-bar label,.swap-search{display:grid;gap:8px;font-weight:700}.meal-day-bar select,.swap-search input{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #9fbdb0;border-radius:10px;background:white;color:#183d33;font:inherit}.meal-day-bar p{font-size:.9rem;color:#4d675e;margin:8px 0}.meal-day-bar a{color:#08664e;font-weight:700}.meal-save-status:empty{display:none}.meal-save-status{padding:16px;background:#e7f2ed;border-radius:12px}.meal-swap-open{margin-bottom:14px}.meal-swap-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-width:760px;max-height:90dvh;overflow:auto;padding:28px;border:1px solid #bcd6ca;border-radius:24px;color:#183d33;background:#f7faf7}.meal-swap-dialog::backdrop{background:#092a22b3}.swap-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.swap-heading h2{margin:0}.swap-tolerance{margin:18px 0}.swap-search{margin:20px 0}.swap-option{background:white;border:1px solid #c7ddd2;border-radius:18px;padding:22px;margin:16px 0}.swap-option h3{margin:0 0 14px;overflow-wrap:anywhere}.swap-option table{width:100%;border-collapse:collapse;font-size:.92rem;margin:12px 0}.swap-option caption{text-align:left;font-size:.8rem;color:#557165;margin-bottom:8px}.swap-option th,.swap-option td{text-align:left;border-bottom:1px solid #e2ece6;padding:9px 4px}.swap-option details{margin:16px 0}.swap-option summary{cursor:pointer;font-weight:700;min-height:36px}.swap-option .btn{width:100%;min-height:48px}.meal-swap-dialog button:focus-visible,.meal-swap-dialog summary:focus-visible{outline:3px solid #148a70;outline-offset:3px}#swap-feedback{overflow-wrap:anywhere}@media(max-width:600px){.meal-day-bar{grid-template-columns:1fr;padding:18px;gap:16px}.meal-swap-dialog{padding:16px;border-radius:16px}.swap-option{padding:14px}.swap-heading h2{font-size:1.5rem}.swap-option table{font-size:.82rem}}

.exercise-swap-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:8px 0}
.exercise-swap-row > [data-plan-exercise],
.exercise-swap-row > [data-exercise],
.exercise-swap-row > [data-exercise-today]{flex:1 1 220px}
.exercise-swap-row .exercise-swap-open{flex:0 0 auto;min-height:44px;align-self:center}
.exercise-swap-guide-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 18px}
.exercise-swap-guide-actions .meal-save-status{margin:0}
