.meal-board { max-width: 1140px; }
.meal-board .intro { align-items: center; }
.meal-day-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 22px 0 12px; }
.meal-day-tabs .btn { flex-shrink: 0; background: #f6f4ed; border-color: #e5e7dc; }
.meal-day-tabs .btn.active { color: #fff; background: #4b653e; border-color: #4b653e; }
.meal-day-tabs span { font-size: 11px; opacity: .75; margin-left: 3px; }
.meal-date-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 12px 0 16px; }
.meal-date-head h2, .meal-shopping h2 { font-size: 18px; }
.meal-date-head h2 span { font-size: 12px; font-weight: 400; margin-left: 6px; color: #85907f; }
.meal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.meal-card { display: flex; flex-direction: column; padding: 22px; min-width: 0; min-height: 225px; border: 1px solid #e3e7da; border-radius: 16px; background: #fffdf7; }
.meal-card h3 { font-size: 18px; margin: 20px 0 12px; line-height: 1.5; overflow-wrap: anywhere; }
.meal-type { color: #69815b; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.meal-card-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 20px; }
.meal-card-actions .btn { padding: 7px 10px; font-size: 11px; }
.meal-empty { background: #f7f7ef; border-style: dashed; }
.meal-empty h3 { color: #839078; font-weight: 500; font-size: 16px; }
.meal-notes { white-space: pre-wrap; color: #78816e; font-size: 12px; margin-bottom: 12px; overflow-wrap: anywhere; }
.meal-shopping { margin-top: 26px; padding: 25px; background: #f3f5eb; border: 1px solid #e0e7d5; border-radius: 16px; }
.meal-shopping .flex p { margin-top: 6px; }
.meal-shopping-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; margin-top: 20px; }
.meal-shopping-item { display: flex; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid #e1e6d8; background: transparent; padding: 12px 2px; text-align: left; color: #506346; font-size: 13px; }
.meal-shopping-item strong { margin-left: auto; font-size: 12px; white-space: nowrap; }
.meal-shopping-item.checked { color: #929c89; }
.meal-shopping-item.checked > span:nth-child(2) { text-decoration: line-through; }
.meal-check { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; border: 1px solid #b9c6ac; background: #fffdf7; border-radius: 5px; }
.checked .meal-check { background: #667e53; color: #fff; border-color: #667e53; }
.meal-caption { margin-top: 18px; font-size: 11px; color: #8b947f; line-height: 1.8; }
.meal-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.meal-kids { margin: 14px 0; }
.meal-recommend-list { display: grid; gap: 8px; margin-top: 16px; }
.meal-recommend-option { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 15px; border: 1px solid #e0e7d6; border-radius: 10px; background: #fbfcf6; text-align: left; color: #526747; }
.meal-recommend-option strong { font-size: 14px; }
.meal-recommend-option small { display: block; margin-top: 6px; font-size: 11px; color: #8c987f; }
.meal-recommend-option > span:last-child { font-size: 11px; white-space: nowrap; }
.meal-sponsor { margin-top: 23px; padding: 17px; background: #f6f0e5; border: 1px solid #e9dfcc; border-radius: 10px; }
.meal-ad-label { display: inline-block; font-size: 10px; color: #967547; background: #eee2cd; padding: 3px 7px; border-radius: 4px; font-weight: 700; }
.meal-sponsor p { font-size: 12px; margin: 12px 0; color: #8e806b; }
.meal-sponsor > small { display: block; font-size: 10px; line-height: 1.7; color: #9d917f; margin-top: 10px; }
.meal-ingredients-editor { min-height: 170px; line-height: 1.9; }
@media(max-width:800px) { .meal-grid { grid-template-columns: 1fr; } .meal-card { min-height: 180px; padding: 20px; } .meal-card h3 { margin-top: 14px; } .meal-date-head { align-items: flex-start; flex-direction: column; gap: 7px; } .meal-shopping { padding: 20px; } }
@media(max-width:500px) { .meal-shopping-list { grid-template-columns: 1fr; } .meal-board .intro { align-items: flex-start; gap: 18px; } .meal-filters { gap: 8px; } .meal-card-actions { gap: 6px; } }

.meal-ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 88px 72px 28px;gap:6px;margin-bottom:8px;align-items:center}.meal-ingredient-row input{width:100%;min-width:0}.meal-ingredient-row .icon-btn{width:28px;padding:4px;font-size:20px}@media(max-width:500px){.meal-ingredient-row{grid-template-columns:minmax(0,1fr) 64px 54px 24px;gap:4px}.meal-ingredient-row input{padding:9px 6px;font-size:12px}}

.meal-trip-bar{display:flex;align-items:flex-end;gap:16px;padding:18px 20px;margin:22px 0 16px;background:#f1f4e9;border:1px solid #dfe6d5;border-radius:14px}.meal-trip-bar>.field{flex:1;min-width:0;margin:0}.meal-trip-bar select{min-width:0;text-overflow:ellipsis;height:42px}.meal-trip-actions{display:flex;gap:8px;flex-shrink:0}.meal-trip-actions .btn{min-height:42px}@media(max-width:600px){.meal-trip-bar{align-items:stretch;flex-direction:column;padding:16px;gap:12px}.meal-trip-actions{justify-content:flex-end}.meal-trip-actions .btn{min-height:38px}}

.meal-money-bar{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:20px 22px;background:#eef3e6;border:1px solid #dfe8d5;border-radius:14px;margin-top:25px}.meal-money-bar>div{flex:1;min-width:130px}.meal-money-bar span{display:block;font-size:11px;color:#87967b}.meal-money-bar strong{display:block;font-size:19px;line-height:1.6;margin-top:5px}.meal-card-cost{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:11px;color:#87967b}.meal-card-cost strong{color:#5b744e;font-size:12px;margin-left:4px;font-weight:600}.meal-cost-readonly{display:flex;align-items:center;min-height:44px;padding:10px 11px;border:1px solid #e1e7d8;border-radius:7px;background:#f2f5eb;color:#6e835f;font-size:13px}.meal-card-actions .btn{min-height:32px}@media(max-width:500px){.meal-money-bar{gap:14px;padding:18px}.meal-money-bar strong{font-size:17px}.meal-money-bar>.btn{margin-left:auto}}

.meal-shopping-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.meal-shopping-head>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.meal-tools-editor{padding:18px;border:1px solid #dce5d3;border-radius:12px;background:#f4f7ec;min-width:0}.meal-tool-heading h3{font-size:15px}.meal-tool-heading p{font-size:12px;line-height:1.9;color:#7f9072;margin-top:8px}.meal-tools-editor h4{font-size:13px;margin:20px 0 10px}.meal-required-tool-edit{margin-top:12px}.meal-required-tool-edit summary{font-size:11px;color:#8d9a82;cursor:pointer}.meal-required-tool-edit .field{margin-top:12px}.meal-required-tool-edit textarea{min-height:86px}.meal-tool-search input{height:44px}.meal-owned-tools{display:grid;gap:6px;max-height:225px;overflow-y:auto;padding:3px 2px 5px;margin-top:10px}.meal-owned-tool{display:flex;align-items:center;gap:10px;border:1px solid #dce5d0;background:#fffdf7;padding:11px;border-radius:9px;min-height:54px;cursor:pointer}.meal-owned-tool input{width:19px;height:19px;accent-color:#647f4f;flex-shrink:0}.meal-owned-tool span{min-width:0}.meal-owned-tool strong{display:block;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.meal-owned-tool small{display:block;font-size:10px;line-height:1.7;color:#8c9b7f}.meal-tools-editor .inline-check{font-size:11px;line-height:1.8;align-items:flex-start}.meal-show-all,.meal-carry-owned,.meal-shop-needs{margin-top:12px}.meal-tools-editor>.small{line-height:1.8;margin-top:8px}.meal-purchase-row{padding:11px 0;border-bottom:1px solid #dfe7d7}.meal-purchase-main{display:grid;grid-template-columns:minmax(0,1fr) 60px 50px 28px;gap:6px;align-items:center}.meal-purchase-main input,.meal-purchase-row>input{width:100%;min-width:0;font-size:12px;padding:9px 8px}.meal-purchase-main .icon-btn{width:28px;padding:3px}.meal-purchase-row>input{margin-top:8px}.meal-tools-editor [data-meal-purchase-add]{margin-top:12px}.meal-shop-needs{padding-top:6px}@media(max-width:600px){.meal-shopping-head{align-items:flex-start;flex-direction:column}.meal-shopping-head>div:last-child{width:100%}.meal-shopping-head .btn{flex:1;white-space:normal}.meal-tools-editor{padding:13px}.meal-purchase-main{grid-template-columns:minmax(0,1fr) 51px 43px 24px;gap:4px}.meal-purchase-main input{padding:9px 5px;font-size:11px}.meal-purchase-main .icon-btn{width:24px}.meal-tools-editor .field{margin-bottom:10px}}

.meal-empty-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:112px;margin:8px 0 14px}.meal-empty-art img{display:block;width:180px;max-width:80%;height:104px;object-fit:contain}.meal-empty .meal-card-actions{margin-top:auto;gap:8px}.meal-empty-accessible{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.meal-empty{display:flex;flex-direction:column}.meal-empty>.flex{min-height:24px}
