html{scrollbar-gutter:stable}
.rezloc-app-header{box-sizing:border-box;max-width:1120px;width:100%;margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;background:#f7faf7;border-bottom:1px solid #dde6df;color:#183c35;position:sticky;top:0;z-index:20}
.rezloc-app-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#183c35;min-width:0}
.rezloc-app-header .brand img{width:44px;height:44px;flex-shrink:0;border-radius:0}
.rezloc-app-header .brand strong{display:block;font:750 27px/1.1 system-ui;letter-spacing:-.6px}
.rezloc-app-header .brand small{display:block;font:400 11px/1.4 system-ui;letter-spacing:.16em;margin-top:5px;color:#64756e}
.rezloc-app-header [data-business-name]{max-width:230px;overflow-wrap:anywhere;letter-spacing:0!important}
.rezloc-app-header .header-controls{display:flex;gap:12px;align-items:center;flex-shrink:0}
.rezloc-app-header .rezloc-language{display:inline-flex;gap:4px;margin:0}
.rezloc-app-header .rezloc-language button{font:600 12px system-ui;min-width:38px;min-height:40px;padding:6px 8px;border:1px solid #dde6df;border-radius:8px;background:white;color:#183c35;cursor:pointer}
.rezloc-app-header .rezloc-language button[aria-pressed=true]{background:#1e665b;border-color:#1e665b;color:white}
.rezloc-app-header .rezloc-menu-toggle{display:none;min-width:44px;min-height:44px;padding:8px;border:1px solid #b8cdc0;border-radius:10px;background:white;color:#183c35;font:24px/1 system-ui;cursor:pointer}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu){grid-column:1/-1;min-width:0;max-width:none;flex:none;width:100%;display:grid;gap:8px;position:static;height:auto;max-height:none;transform:none;visibility:visible;background:transparent;border:0;padding:0;margin:0;overflow:visible;box-shadow:none}
.rezloc-app-header .rezloc-menu-row{display:grid;grid-template-columns:minmax(0,6fr) minmax(100px,1fr);gap:6px;align-items:start;position:relative}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .menu-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:6px}
.rezloc-app-header #staffMenuWorkspace{display:grid;gap:8px;min-width:0}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) button,.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) a,.rezloc-app-header .rezloc-more summary{box-sizing:border-box;font:600 13px/1.6 system-ui;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;width:100%;padding:9px 10px;border:0;border-radius:9px;text-decoration:none;color:#1e665b;background:transparent;cursor:pointer;text-align:center;white-space:nowrap}
.rezloc-app-header .rezloc-more{margin:0;padding:0;border:0;min-width:0}
.rezloc-app-header .rezloc-more summary{list-style:none;border:1px solid #dde6df}
.rezloc-app-header .rezloc-more summary::-webkit-details-marker{display:none}
.rezloc-app-header .rezloc-more:not([open])>.rezloc-more-panel{display:none!important}
.rezloc-app-header .rezloc-more[open]>summary,.rezloc-app-header .rezloc-more:has(.active)>summary{background:#183c35;color:white}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .rezloc-more-panel{position:absolute;right:0;top:52px;width:min(460px,100%);grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;background:white;border:1px solid #dde6df;border-radius:14px;box-shadow:0 16px 40px #183c3520;max-height:calc(100dvh - 200px);overflow-y:auto}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .rezloc-more-panel :is(a,button){justify-content:flex-start;text-align:left;white-space:normal;overflow-wrap:anywhere}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) button:hover,.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) a:hover{background:#e7f0e9}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .active{background:#183c35;color:white}
.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) span{display:inline!important;font:inherit;color:inherit}
.rezloc-app-header [hidden]{display:none!important}
.rezloc-app-header :focus-visible{outline:3px solid #79b7ac;outline-offset:3px}
.rezloc-app-header .admin-menu-heading,.rezloc-app-header .admin-mobile-actions,.rezloc-app-header .admin-side-account,#legacyStaffNavigation{display:none!important}
.admin-app{display:block!important}.admin-main{min-width:0}.admin-topbar .rezloc-language,#adminMenuBackdrop,#staffMenuBackdrop{display:none!important}
@media(max-width:980px){
 .rezloc-app-header{padding:16px 20px;gap:12px}
 .rezloc-app-header .rezloc-menu-toggle{display:grid;place-items:center}
 .rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu):not(.menu-open){display:none}
 .rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu){max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain}
 .rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .menu-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .rezloc-app-header .rezloc-menu-row{display:block}
 .rezloc-app-header .rezloc-more>summary{display:none}
 .rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) .rezloc-more-panel{position:static;width:100%;max-height:none;overflow:visible;border:0;border-top:1px solid #dde6df;border-radius:0;margin-top:8px;padding:8px 0 0;box-shadow:none;background:transparent}
 .rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) a,.rezloc-app-header :is(#platformMenu,#staffMenu,#adminMenu) button{white-space:normal;min-width:0}
 .rezloc-app-header .brand strong{font-size:24px}.rezloc-app-header .brand{gap:9px}.rezloc-app-header .brand img{width:38px;height:38px}
 .rezloc-app-header .header-controls{gap:8px}
 .rezloc-app-header [data-business-name]{max-width:170px}
}
@media(max-width:380px){.rezloc-app-header{padding:12px;gap:8px}.rezloc-app-header .brand strong{font-size:21px}.rezloc-app-header .brand img{width:32px;height:32px}.rezloc-app-header [data-business-name]{max-width:140px}}

.admin-app.hidden{display:none!important}

/* Keep the brand and navigation metrics identical across inherited workspace styles. */
.rezloc-app-header{font:16px/1.6 system-ui,-apple-system,sans-serif;isolation:isolate}
.rezloc-app-header .brand{flex:1 1 130px}
.rezloc-app-header .brand>span{display:block;flex:1;min-width:0}
.rezloc-app-header .brand strong{color:#183c35;white-space:nowrap;visibility:visible;opacity:1}
.rezloc-app-header .brand [data-business-name]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.rezloc-app-header #staffMenu [data-mobile-tab].active{background:#183c35;color:white}
.rezloc-app-header #staffMenu{bottom:auto;left:auto;top:auto;max-width:none;flex-direction:initial}
@media(max-width:980px){.rezloc-app-header .brand [data-business-name]{max-width:100%}}

.rezloc-app-header .brand{flex-direction:column;align-items:flex-start;gap:0}
.rezloc-app-header .brand img.rezloc-wordmark{width:170px;height:auto;max-width:100%;flex-shrink:1}
.rezloc-app-header .brand>span{flex:initial;width:100%}
.rezloc-app-header .brand [data-business-name]{margin-top:3px}
@media(max-width:980px){.rezloc-app-header .brand img.rezloc-wordmark{width:150px}}

.rezloc-session-loading{box-sizing:border-box;max-width:1120px;margin:24px auto;padding:28px 24px;color:#64756e;font:16px/1.6 system-ui,-apple-system,sans-serif}
.rezloc-session-loading p{margin:0 0 12px}.rezloc-session-loading a{color:#1e665b}
.rezloc-session-loading[hidden]{display:none!important}
.rezloc-account{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 0;border-top:1px solid #dde6df;font:13px/1.4 system-ui;color:#183c35;min-width:0}
.rezloc-account[hidden]{display:none!important}.rezloc-account-identity{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0}
.rezloc-account-identity strong{font-size:14px;overflow-wrap:anywhere}.rezloc-account-identity small{font:12px/1.4 system-ui;color:#64756e}
.rezloc-account button{flex-shrink:0;min-height:44px;padding:8px 14px;border:1px solid #b8cdc0;border-radius:9px;background:white;color:#1e665b;font:600 13px/1.4 system-ui;cursor:pointer}
.rezloc-account [data-account-error]{flex-basis:100%;color:#993f26}.rezloc-account:has([data-account-error]){flex-wrap:wrap}
.client-app .main-header>.rezloc-account{margin-top:8px}.client-app .main-header>.rezloc-account [data-account-name]{color:inherit}
@media(max-width:980px){.rezloc-app-header:has(.rezloc-account:not([hidden])) :is(#platformMenu,#staffMenu,#adminMenu){max-height:calc(100dvh - 205px)}}
@media(max-width:650px){.rezloc-session-loading{padding:20px}}
.client-app .main-header{flex-wrap:wrap}.client-app .main-header>.rezloc-account{order:2;flex-basis:100%;padding:8px 14px;margin-top:0}
@media(max-width:820px){.client-app .main-header>.main-nav{top:100%;max-height:calc(100dvh - 180px)}}

/* Authorised account destinations stay visible across owner, booking admin and staff surfaces. */
[data-account-links]{grid-column:1/-1;display:flex;flex-wrap:nowrap;gap:8px;width:100%;min-width:0;max-width:100%;padding:8px 0;border-top:1px solid #d8e3e4;box-sizing:border-box;overflow-x:auto}
[data-account-links] a{flex:0 0 auto;white-space:nowrap;font-size:14px;line-height:1.4;max-width:100%;overflow-wrap:anywhere;color:#195e52;padding:6px 10px;border:1px solid #d8e3e4;border-radius:7px;text-decoration:none}
[data-account-links] a:focus-visible{outline:3px solid #dba739;outline-offset:2px}

@media(max-width:980px){.rezloc-app-header:has([data-account-links]:not([hidden])){position:relative}}
