/* Meal Section Title (shared) */
.meal-section{margin-bottom:2rem;}
.meal-section-title{font-family:'Space Mono',monospace;font-size:1.2rem;font-weight:700;margin-bottom:.35rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.meal-section-sub{color:var(--text-secondary);font-size:.82rem;margin-bottom:1rem;}.meal-section-sub strong{color:var(--accent-primary);}

/* Meal Table */
.meal-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary);}
.meal-table{width:100%;min-width:820px;border-collapse:collapse;}
.meal-table thead th{padding:.7rem .45rem;font-weight:700;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-card);border-bottom:2px solid var(--border);border-right:1px solid var(--border);text-align:center;}.meal-table thead th:last-child{border-right:none;}
.meal-label-col{width:110px;}
.meal-label{padding:.55rem .7rem;font-weight:700;font-size:.78rem;color:var(--text-secondary);background:var(--bg-card);border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;}
.total-label{color:var(--accent-primary)!important;font-family:'Space Mono',monospace;}
.meal-row td{border-bottom:1px solid var(--border);}.snack-row .meal-label{color:var(--text-muted);font-weight:500;font-style:italic;}
.meal-cell{padding:.35rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top;}.meal-cell:last-child{border-right:none;}
.meal-input{width:100%;border:1px solid transparent;border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-family:'Manrope',sans-serif;font-size:.72rem;padding:.3rem .45rem;transition:border-color .2s;outline:none;}
.meal-input:focus{border-color:var(--accent-primary);}.meal-input::placeholder{color:var(--text-muted);font-size:.65rem;}
.meal-name{margin-bottom:.25rem;}
/* Autocomplete dropdown */
.meal-ac-wrap{position:relative;}
.meal-ac-drop{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--bg-card);border:1px solid var(--accent-primary);border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.4);margin-top:2px;max-height:220px;overflow-y:auto;}
.meal-ac-drop.open{display:block;}
.meal-ac-drop::-webkit-scrollbar{width:3px;}.meal-ac-drop::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.meal-ac-item{display:flex;align-items:center;gap:.45rem;padding:.45rem .5rem;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border);}
.meal-ac-item:last-child{border-bottom:none;}
.meal-ac-item:hover,.meal-ac-item.ac-active{background:var(--bg-hover);}
.ac-thumb{width:28px;height:28px;border-radius:5px;background-size:cover;background-position:center;background-color:var(--bg-secondary);flex-shrink:0;}
.ac-no-img{display:flex;align-items:center;justify-content:center;font-size:.8rem;}
.ac-info{flex:1;min-width:0;overflow:hidden;}
.ac-title{font-size:.68rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-title strong{color:var(--accent-primary);}
.ac-macros{font-family:'Space Mono',monospace;font-size:.52rem;color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.macro-inputs{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.15rem;}
.meal-cal{font-weight:700;}.meal-macro{font-size:.62rem;}.meal-macro.mp:focus{border-color:#ff6b9d;}.meal-macro.mc:focus{border-color:#ffb347;}.meal-macro.mf:focus{border-color:#00d4ff;}
.meal-input[type="number"]::-webkit-inner-spin-button,.meal-input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}.meal-input[type="number"]{-moz-appearance:textfield;}
.meal-totals-row td{border-bottom:none;}.total-cell{padding:.55rem .35rem;background:var(--bg-card);text-align:center;}
.total-cal{font-family:'Space Mono',monospace;font-size:.72rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;}.total-cal-val{color:var(--accent-primary);}
.total-macros{display:flex;justify-content:center;gap:.35rem;margin-bottom:.35rem;}
.tm{font-size:.58rem;font-weight:700;padding:1px 3px;border-radius:3px;}.tp{color:#ff6b9d;background:rgba(255,107,157,.1);}.tca{color:#ffb347;background:rgba(255,179,71,.1);}.tf{color:#00d4ff;background:rgba(0,212,255,.1);}
.total-bar{height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden;}.total-bar-fill{height:100%;border-radius:2px;transition:width .3s;width:0%;}
.bar-under{background:var(--accent-primary);}.bar-good{background:var(--accent-success);}.bar-over{background:var(--accent-secondary);}

/* Recipes */
.recipe-section{margin-top:2rem;}
.recipe-tabs{display:flex;gap:.35rem;margin-bottom:1rem;}
.recipe-tab{padding:.5rem .8rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:'Manrope',sans-serif;}
.recipe-tab:hover{border-color:var(--accent-primary);color:var(--text-secondary);}
.recipe-tab.active{background:rgba(0,212,255,.1);border-color:var(--accent-primary);color:var(--accent-primary);}
.recipe-page{display:none;}.recipe-page.active{display:block;}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;}
.recipe-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s;}
.recipe-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow);}
.recipe-img{height:140px;background-size:cover;background-position:center;background-color:var(--bg-secondary);}
.recipe-no-img{display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.recipe-card-body{padding:.85rem;}
.recipe-card-body h4{font-size:.88rem;font-weight:700;color:var(--text-primary);margin-bottom:.35rem;}
.recipe-meta{font-size:.68rem;color:var(--text-muted);margin-right:.5rem;}
.recipe-actions{display:flex;gap:.35rem;margin-top:.5rem;}
.recipe-action-btn{padding:.25rem .45rem;border:1px solid var(--border);border-radius:6px;background:transparent;font-size:.75rem;cursor:pointer;transition:all .2s;}
.recipe-action-btn:hover{border-color:var(--accent-primary);background:var(--bg-hover);}
.recipe-del:hover{border-color:var(--accent-secondary);}

/* Recipe Form */
.rf-group{margin-bottom:.85rem;}
.rf-label{display:block;font-size:.72rem;font-weight:700;color:var(--text-secondary);margin-bottom:.3rem;}
.rf-input{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:7px;background:var(--bg-input);color:var(--text-primary);font-family:'Manrope',sans-serif;font-size:.78rem;outline:none;transition:border-color .2s;}.rf-input:focus{border-color:var(--accent-primary);}
.rf-small{max-width:120px;}
.rf-textarea{width:100%;min-height:60px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:7px;background:var(--bg-input);color:var(--text-primary);font-family:'Manrope',sans-serif;font-size:.78rem;resize:vertical;outline:none;transition:border-color .2s;}.rf-textarea:focus{border-color:var(--accent-primary);}
.rf-photo-opts{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}.rf-or{font-size:.7rem;color:var(--text-muted);font-weight:700;}.rf-file-input{font-size:.7rem;color:var(--text-muted);}
.rf-preview{max-width:100%;max-height:200px;border-radius:8px;margin-top:.5rem;object-fit:cover;}
.rf-row{display:flex;gap:.75rem;flex-wrap:wrap;}.rf-row .rf-group{flex:1;min-width:80px;}
.rf-ing-row{display:flex;gap:.3rem;margin-bottom:.3rem;align-items:center;}.rf-ing-row .rf-input{flex:1;}.rf-ing-row .rf-small{max-width:65px;}
.rf-step-row{display:flex;gap:.4rem;margin-bottom:.35rem;align-items:flex-start;}
.rf-step-num{font-family:'Space Mono',monospace;font-size:.72rem;font-weight:700;color:var(--accent-primary);min-width:1.2rem;padding-top:.45rem;}
.rf-step-text{flex:1;min-height:45px;}
.rf-remove-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.7rem;cursor:pointer;padding:.2rem .4rem;transition:all .2s;flex-shrink:0;}.rf-remove-btn:hover{border-color:var(--accent-secondary);color:var(--accent-secondary);}
.rf-add-btn{padding:.35rem .7rem;border:1px dashed var(--border);border-radius:7px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:'Manrope',sans-serif;}.rf-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);}

@media(max-width:1024px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}}
