/* Central Kitchen · Prep & Expiry (4 Nov 2026) */
.prep-page main{max-width:1400px;margin:0 auto;padding:12px 16px 60px}
.prep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.prep-head h1{margin:0;font-size:26px}.prep-head h1 span{font-size:18px;color:#555;margin-left:6px}.prep-head p{margin:2px 0 0;color:#666}
.prep-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid #dcdfe3;border-radius:10px;padding:10px 12px;margin:8px 0}
.prep-bar label{display:flex;align-items:center;gap:6px;font-weight:600}.prep-bar input{font:inherit;padding:6px 8px;border:1px solid #9aa0a6;border-radius:8px}
.prep-bar button,.prep-items button,.prep-import button{font:inherit;min-height:40px;padding:6px 14px;border-radius:8px;border:1px solid #9aa0a6;background:#fff;cursor:pointer}
.prep-bar button.primary,.prep-items button.primary,.prep-import button{background:#2ca01c;border-color:#2ca01c;color:#fff;font-weight:700}
.prep-bar button{color:#1d1f23}.prep-bar button.primary{color:#fff}#save{margin-left:auto}#status{color:#555}#status.bad{color:#b42318;font-weight:700}
.prep-alerts{border:2px solid #d92d20;background:#fff4f2;border-radius:10px;padding:10px 14px;margin:8px 0}.prep-alerts h2{margin:0 0 6px;font-size:17px;color:#b42318}
.prep-alerts ul{margin:0;padding-left:18px}.prep-alerts li{margin:3px 0}.prep-alerts li.expired{color:#b42318;font-weight:700}.prep-alerts li.today{color:#b54708;font-weight:600}
.prep-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:8px 0}
.prep-totals div{background:#fff;border:1px solid #dcdfe3;border-radius:10px;padding:8px 12px}.prep-totals div.wide{grid-column:1/-1}
.prep-totals span{display:block;color:#666;font-size:13px}.prep-totals strong{font-size:20px}.prep-totals small{display:block;color:#444}
.prep-note{background:#fffbea;border:1px solid #f2d675;border-radius:8px;padding:8px 12px}
.prep-import{background:#eef6ff;border:1px solid #9cc3f0;border-radius:8px;padding:8px 12px}
.prep-brand h2{font-size:18px;margin:16px 0 6px}
.prep-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dcdfe3;border-radius:10px;background:#fff}
.prep-table{border-collapse:collapse;width:100%;min-width:1150px;font-size:14px}
.prep-table th,.prep-table td{border-bottom:1px solid #eceef1;padding:4px 5px;text-align:left;vertical-align:middle}
.prep-table thead th{background:#f4f5f7;font-size:12px;position:sticky;top:0}.prep-table thead small{color:#666;font-weight:400}
.prep-table tbody th{font-weight:600;min-width:170px}.prep-table td.shelf{color:#555;white-space:nowrap;font-size:12px}
.prep-table input{font:inherit;width:100%;min-width:70px;padding:5px 6px;border:1px solid #c8ccd1;border-radius:6px;box-sizing:border-box}
.prep-table input[type=date]{min-width:128px}
.prep-table tr[data-exp="expired"]{background:#fde8e6}.prep-table tr[data-exp="expired"] th::after{content:" · EXPIRED";color:#b42318;font-size:12px}
.prep-table tr[data-exp="today"]{background:#fff1dc}.prep-table tr[data-exp="today"] th::after{content:" · expires today";color:#b54708;font-size:12px}
.prep-table tr[data-exp="tomorrow"]{background:#fffbea}
.prep-items{margin-top:20px;background:#fff;border:1px solid #dcdfe3;border-radius:10px;padding:10px 14px}.prep-items summary{font-weight:700;cursor:pointer}
.prep-table.items{min-width:600px}
@media print{.prep-bar button,.prep-items,.prep-import{display:none}.prep-scroll{overflow:visible}}
.prep-table input.auto{background:#f1f7ee;color:#1f5c14;border-style:dashed}
.prep-table input::placeholder{color:#9aa0a6}
.recipe-link{text-decoration:none;font-size:13px}
.prep-legend{color:#555;font-size:13px;margin:4px 0 0}
.prep-todo{background:#fff;border:2px solid #2ca01c;border-radius:10px;padding:10px 14px;margin:10px 0}.prep-todo h2{margin:0 0 4px;font-size:18px}
.prep-table.todo{min-width:620px}.prep-table.todo tr.done{background:#eef7ea}.prep-table.todo tr.done th{text-decoration:line-through;color:#3d6b33}
.prep-todo button{font:inherit;min-height:40px;margin-top:8px;padding:6px 14px;border-radius:8px;border:1px solid #2ca01c;background:#2ca01c;color:#fff;font-weight:700;cursor:pointer}
.prep-table.items{min-width:1200px}.prep-table input.par{min-width:62px;width:62px}
.label-btn{font:inherit;font-size:14px;border:0;background:none;cursor:pointer;padding:0 2px}
.label-frame{position:fixed;width:1px;height:1px;left:-9999px;border:0}
@media print{.prep-todo button,.label-btn{display:none}}
.prep-requests{background:#fff;border:2px solid #f79009;border-radius:10px;padding:10px 14px;margin:10px 0}.prep-requests h2{margin:0 0 6px;font-size:18px;color:#93370d}
.prep-requests ul{list-style:none;margin:0;padding:0}.prep-requests li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0;border-bottom:1px solid #eceef1}
.prep-requests li b{font-size:16px;min-width:150px}.prep-requests .q{font-weight:700}.prep-requests small{color:#555}
.prep-requests .act{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:auto}.prep-requests .act input{font:inherit;padding:6px 8px;border:1px solid #9aa0a6;border-radius:8px;width:100px}.prep-requests .act input[type=text]{width:160px}
.prep-requests button{font:inherit;min-height:40px;padding:6px 12px;border-radius:8px;border:1px solid #9aa0a6;background:#fff;cursor:pointer}.prep-requests button.primary{background:#2ca01c;border-color:#2ca01c;color:#fff;font-weight:700}
.prep-requests details{margin-top:6px}.prep-requests summary{cursor:pointer;color:#555}.prep-requests li.cancelled{color:#777}
@media print{.prep-requests{display:none}}
