#restaurantControls{display:grid;gap:20px;margin-top:20px}
#restaurantControls details{margin-top:22px}
#restaurantControls summary{font-size:24px;font-weight:750;cursor:pointer;padding:16px 0;min-height:52px}
.portal-help{color:#456251;line-height:1.6}
.portal-dish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0}
.food-page .portal-dish{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:20px;border:2px solid #d9ded6;border-radius:12px;background:#f5f5f2;cursor:pointer;min-height:130px}
.portal-dish strong{font-size:18px;line-height:1.4;color:#173f35}
.portal-dish.is-available{background:#edf6e7;border-color:#a9c996}
.portal-dish-choice{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;min-height:36px}
.portal-dish input[type=checkbox]{appearance:auto;width:30px;height:30px;min-width:30px;margin:0;accent-color:#397849;cursor:pointer}
.portal-dish:focus-within{outline:3px solid #397849;outline-offset:2px}
.portal-save-bar{position:sticky;top:12px;z-index:5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px;background:#fff;border:1px solid #c3d5b8;border-radius:10px;box-shadow:0 3px 12px #173f3514}
.portal-save-bar>div{display:flex;gap:10px;flex-wrap:wrap}
.food-page .portal-save-bar [data-save]{background:#397849;color:white;font-size:18px;font-weight:700;padding:15px 24px}
#orders .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
#orders .actions label{display:grid;gap:6px}
#orders input[data-minutes]{width:110px;padding:10px;font-size:16px}
#portalConnection,#orderAlerts{padding:12px;background:#e8efdf;border-radius:9px}
#orderAlerts{font-size:20px;font-weight:700}
.food-page button{padding:12px 16px;background:#dcebd7;color:#173f35;border:1px solid #b5cbaa;border-radius:8px;cursor:pointer;min-height:46px}
.food-page button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:560px){.portal-dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.food-page .portal-dish{padding:14px;min-width:0}.portal-dish strong{font-size:16px;overflow-wrap:anywhere}.portal-dish-choice{font-size:16px;gap:8px}.portal-save-bar{top:4px}}
@media(max-width:360px){.portal-dish-grid{grid-template-columns:1fr}}

/* Portal header and account/notification toolbar */
.food-page .food-header .food-nav{gap:12px;justify-content:flex-end}
.food-page .food-header .food-home-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin:0;padding:11px 18px;background:#e5efde;color:#173f35;border:1px solid #b5cbaa;font-size:15px;font-weight:700;line-height:1.4;border-radius:10px}
.food-page .portal-language{display:flex;align-items:center;gap:9px;font-size:14px;color:#173f35;white-space:nowrap}
.food-page .portal-language select{width:auto;min-width:145px;min-height:44px;padding:9px 12px;background:#fff;border:1px solid #b5cbaa;border-radius:10px;font-size:15px;cursor:pointer}
.portal-tools{display:flex;align-items:stretch;flex-wrap:wrap;gap:14px;padding:18px;margin:18px 0;background:#f0f5eb;border:1px solid #d0dfc5;border-radius:14px}
.food-page .portal-tools .food-button,.food-page .portal-tools button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:54px;padding:14px 22px;margin:0;border:1px solid #abc49d;border-radius:10px;background:#e0edd7;color:#173f35;font:600 16px/1.5 Manrope,system-ui,sans-serif;text-align:center;text-decoration:none}
.food-page .portal-tools button[aria-pressed=true]{background:#d6e9c9;border-color:#80a66b}
.food-page .portal-tools a:hover,.food-page .portal-tools button:hover,.food-page .food-header .food-home-link:hover{background:#d3e5c9}
.food-page .portal-tools a:focus-visible,.food-page .portal-tools button:focus-visible,.food-page .portal-language select:focus-visible{outline:3px solid #397849;outline-offset:3px}
@media(max-width:700px){.food-page .food-header{align-items:flex-start}.food-page .food-header .food-nav{flex:1}.food-page .portal-language{width:100%;justify-content:flex-end}.portal-tools{padding:12px;gap:12px}.food-page .portal-tools .food-button,.food-page .portal-tools button{flex:1 1 240px}}

/* B16: account and notification controls beside the brand */
.food-page .food-header{flex-wrap:wrap;gap:16px 24px}
.portal-header-main{display:flex;align-items:center;flex-wrap:wrap;gap:18px;min-width:0}
.food-page .portal-header-main .portal-tools{margin:0;padding:0;border:0;border-radius:0;background:transparent;gap:10px;align-items:stretch}
.food-page .portal-header-main .portal-tools .food-button,.food-page .portal-header-main .portal-tools button{min-height:48px;padding:11px 16px;font-size:15px;flex:0 1 auto}
.food-page .food-header .food-nav{margin-left:auto}
@media(max-width:700px){.portal-header-main{width:100%;gap:14px}.food-page .portal-header-main .portal-tools{flex:1}.food-page .portal-header-main .portal-tools .food-button,.food-page .portal-header-main .portal-tools button{flex:1 1 200px}.food-page .food-header .food-nav{width:100%;justify-content:flex-end}.food-page .food-header .portal-language{width:auto}}
@media(max-width:420px){.food-page .portal-header-main .portal-tools{flex-basis:100%}}

/* B17: align header controls and put orders before menu management. */
.food-page .food-header{align-items:center}
.food-page .portal-header-main .portal-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.food-page .portal-header-main .portal-tools .food-button,.food-page .portal-header-main .portal-tools button{height:58px;min-height:58px;max-width:270px;padding:10px 16px;font-size:15px;line-height:1.35}
.food-page .food-header .food-nav{align-items:center;gap:10px}
.food-page .food-header .food-nav>a,.food-page .portal-language select{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:58px;margin:0;padding:10px 16px;border:1px solid #b5cbaa;border-radius:10px;background:#e5efde;color:#173f35;font-size:15px;font-weight:600;line-height:1.35}
.food-page .portal-language{align-items:center;gap:8px}
.food-page .portal-language select{height:58px;min-width:155px;background:#fff;font-weight:500}
.portal-orders-section{padding:22px 0 24px;border-bottom:1px solid #d7dfd0}
.portal-orders-section .food-section-head{margin-top:0}
.portal-orders-section h1{font-size:28px;margin:0}
@media(max-width:1080px){.portal-header-main{width:100%}.food-page .food-header .food-nav{width:100%;justify-content:flex-start;margin-left:0}.food-page .portal-header-main .portal-tools{flex:1}}
@media(max-width:700px){.food-page .portal-header-main .portal-tools .food-button,.food-page .portal-header-main .portal-tools button{max-width:none;font-size:14px}.food-page .food-header .portal-language{width:auto;margin-left:auto}.food-page .food-header .food-nav>a{padding:10px 12px}}
@media(max-width:420px){.food-page .food-header .portal-language{width:100%;justify-content:flex-start;margin-left:0}.food-page .portal-header-main .portal-tools .food-button,.food-page .portal-header-main .portal-tools button{height:auto;min-height:64px;padding:10px}}
