[hidden] { display: none !important; }
.connection-message { padding: 12px 20px; background: #fff3cf; color: #483710; text-align: center; }
.weekly-mode { display: flex; gap: 12px; margin: 20px 0; flex-wrap: wrap; }
.weekly-mode button { padding: 12px 18px; border: 1px solid #b5ae9f; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.weekly-mode button[aria-pressed="true"] { background: var(--accent, #40b5eb); color: #0c1017; border-color: var(--accent, #40b5eb); }
.weekly-meal-grid { display: grid; gap: 14px; margin: 20px 0; }
.weekly-meal-card { border: 1px solid #d1cabc; border-radius: 12px; padding: 18px; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; }
.weekly-meal-card h3 { margin: 0 0 8px; font-size: 1.12rem; }
.weekly-meal-card p { margin: 0 0 8px; line-height: 1.5; opacity: .8; }
.weekly-meal-card label { display: grid; gap: 6px; font-size: .8rem; }
.weekly-meal-card input { width: 80px; padding: 10px; border-radius: 6px; border: 1px solid #b5ae9f; background: transparent; color: inherit; }
.weekly-price { display: block; font-weight: 700; }
.confirm-actions .btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.admin-login { max-width: 430px; margin: 12vh auto; padding: 30px; background: var(--bg-card, #151d28); border: 1px solid var(--border-color, #283747); border-radius: 16px; }
.admin-login h1 { font-size: 2rem; margin-bottom: 12px; }
.admin-login label { display: block; margin: 22px 0 8px; }
.admin-login input { width: 100%; padding: 12px; border: 1px solid var(--border-color, #283747); background: var(--bg-secondary, #0d141f); color: inherit; border-radius: 6px; box-sizing: border-box; margin-bottom: 18px; }
.admin-login button { width: 100%; }
.admin-login p[role="alert"] { color: #a42727; margin-top: 16px; }
.meal-manager-row { padding: 16px 0; border-bottom: 1px solid #d1cabc; }
.meal-manager-row .meal-price-inputs { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 10px; }
.meal-price-inputs label { display: grid; gap: 5px; }
.meal-price-inputs input { width: 100px; padding: 8px; background: var(--bg-secondary, #0d141f); color: inherit; border: 1px solid var(--border-color, #283747); }
.meal-text-field { display: grid; gap: 8px; margin: 14px 0; }
.meal-text-field input, .meal-text-field textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid var(--border-color, #283747); background: var(--bg-secondary, #0d141f); color: inherit; font: inherit; }
.meal-text-field textarea { resize: vertical; }
.meal-editor-heading, .meal-editor-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.meal-editor-heading { justify-content: space-between; }
.meal-editor-actions { margin-top: 14px; }
.meal-editor-actions .btn { flex: none; padding: 10px 14px; }
.meal-editor-actions .btn:disabled { opacity: .45; cursor: default; }
@media (max-width: 580px) { .weekly-meal-card { grid-template-columns: 1fr; } .admin-login { margin: 10vh 20px; } }


.past-menu-section { margin-top:32px; padding-top:24px; border-top:1px solid var(--border-color,#283747); }
.past-menu-card { margin:14px 0; padding:18px; background:var(--bg-secondary,#0d141f); border:1px solid var(--border-color,#283747); border-radius:8px; }
.past-menu-card summary { cursor:pointer; color:var(--accent,#40b5eb); font-weight:700; line-height:1.5; }
.past-menu-card li { margin:18px 0; padding-left:5px; }
.past-menu-card li p { margin:6px 0; line-height:1.5; }
.production-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}.production-summary article{display:grid;gap:4px;padding:18px;border:1px solid var(--border-color,#283747);background:var(--bg-secondary,#0d141f)}.production-summary strong{color:var(--accent,#40b5eb);font:500 2rem/1 var(--font-display,serif)}.production-summary span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.production-meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 30px}.production-meal-grid article{padding:14px 16px;border:1px solid var(--border-color,#283747);background:var(--bg-secondary,#0d141f)}.production-meal-grid article div{display:flex;justify-content:space-between;gap:14px}.production-meal-grid article span{color:var(--accent,#40b5eb);white-space:nowrap}.production-meal-grid p{margin:8px 0 0;font-size:.78rem;opacity:.78}.production-recipe-list details{border-top:1px solid var(--border-color,#283747)}.production-recipe-list summary{display:grid;gap:4px;padding:16px 0;cursor:pointer}.production-recipe-list summary span{font-size:.78rem;opacity:.72}.production-recipe-body{padding:0 0 22px}.production-recipe-body table{width:100%;border-collapse:collapse}.production-recipe-body th,.production-recipe-body td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border-color,#283747);font-size:.8rem}.production-recipe-body th:last-child,.production-recipe-body td:last-child{text-align:right}.production-recipe-body h4{margin:18px 0 6px}.production-recipe-body p{margin:0;line-height:1.6}@media(max-width:720px){.production-summary,.production-meal-grid{grid-template-columns:1fr}.production-meal-grid article div{display:grid}.production-recipe-body{overflow-x:auto}}
