.ptm-rc { border:1px solid #eee; padding:16px; border-radius:12px; max-width:900px; margin:16px auto; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.ptm-rc-header { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.ptm-rc-title { flex:1; padding:8px 10px; border-radius:10px; border:1px solid #ddd; font-size:16px; }
.ptm-rc-servings { width:80px; padding:6px; border-radius:8px; border:1px solid #ddd; }
.ptm-rc-rows { display:grid; gap:8px; margin:12px 0; }
.ptm-rc-row { display:grid; grid-template-columns: 1fr 120px 110px 90px; gap:8px; align-items:center; }
.ptm-rc-row .food { position:relative; }
.ptm-rc-row .food .food-search { width:100%; padding:8px 10px; border:1px solid #ddd; border-radius:10px; }
.ptm-rc-row .food .search-results { position:absolute; z-index:10; top:40px; left:0; right:0; background:#fff; border:1px solid #ddd; border-radius:8px; list-style:none; margin:0; padding:6px; display:none; max-height:200px; overflow:auto; }
.ptm-rc-row .food .search-results li { padding:6px 8px; cursor:pointer; border-radius:6px; }
.ptm-rc-row .food .search-results li:hover { background:#f5f5f5; }
.ptm-rc-row .qty input, .ptm-rc-row .unit select { width:100%; padding:8px 10px; border:1px solid #ddd; border-radius:10px; }
.ptm-rc-row .link-delete { color:#b00020; background:transparent; border:none; }
.ptm-rc-actions { display:flex; gap:8px; margin:8px 0 16px; }
.ptm-rc-totals { background:#fafafa; border:1px solid #eee; border-radius:12px; padding:12px; }
.ptm-rc-totals h3 { margin:8px 0; }
.ptm-rc-macros { display:grid; grid-template-columns: repeat(5, 1fr); gap:8px; list-style:none; padding:0; margin:0; }
.ptm-rc-modal { position:fixed; inset:0; background:rgba(0,0,0,0.4); display:flex; align-items:center; justify-content:center; }
.ptm-rc-modal-content { background:#fff; padding:16px; border-radius:12px; width:520px; display:grid; gap:8px; }
.ptm-rc-modal-content label { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ptm-rc-modal-actions { display:flex; justify-content:flex-end; gap:8px; }
@media (max-width:640px){
.ptm-rc-row { grid-template-columns: 1fr 1fr; grid-auto-rows:auto; }
.ptm-rc-macros { grid-template-columns: 1fr 1fr; }
}