.recipe-shell { width: min(980px, 94vw); }
.recipe-layout { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(280px, .95fr); gap: 1rem; align-items: start; }
.recipe-card { border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(160deg, #fff 0%, #fefcf8 100%); box-shadow: var(--shadow); padding: 1rem; }
.recipe-card h2 { margin: 0 0 .8rem; font-size: 1.08rem; }
.recipe-field { margin-bottom: .85rem; }
.recipe-field label { display: block; margin-bottom: .34rem; font-weight: 600; font-size: .9rem; }
.recipe-field input, .recipe-field select { width: 100%; border-radius: 10px; border: 1px solid var(--border); background: #fdfcf8; color: #1f1f1f; font-family: "IBM Plex Mono", monospace; font-size: .9rem; padding: .58rem .62rem; }
.recipe-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.add-btn { border: 1px solid #b8ddcf; background: #e8f8f2; color: #105f49; border-radius: 999px; padding: .5rem .85rem; font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.scale-factor { margin: 0 0 .7rem; color: #4f483f; font-size: .9rem; }
.ingredient-list { display: grid; gap: .55rem; }
.ingredient-item { border: 1px solid #e5ddd1; border-radius: 12px; background: #fff; padding: .58rem .62rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.ingredient-text { color: #5f574e; font-size: .9rem; }
.ingredient-remove { border: 1px solid #e6c0bf; background: #fff4f4; color: #8a2f2b; border-radius: 999px; padding: .2rem .55rem; font: inherit; font-size: .78rem; cursor: pointer; }
@media (max-width: 860px) { .recipe-layout, .recipe-grid-2 { grid-template-columns: 1fr; } }
