body{font-family:var(--hub-font,Inter,"Segoe UI",Arial,sans-serif);font-size:calc(14px * var(--hub-scale,1))}button,input,select,textarea{font-size:inherit}h1{font-size:calc(clamp(27px,3vw,38px) * var(--hub-scale,1))}h3{font-size:calc(17px * var(--hub-scale,1))}p,label,nav button,.muted{font-size:calc(13px * var(--hub-scale,1))}
aside.sidebar{background:var(--sidebar-background);width:var(--sidebar-width,280px);overflow-y:auto}main{margin-left:var(--sidebar-width,280px);min-width:0}.sidebar .brand>.icon{color:var(--accent);background:#ffffff0c}.sidebar nav button.active{color:var(--accent);background:#ffffff0c;border-color:#ffffff18}.sidebar .brand{font-size:22px}.sidebar-tools{position:static}.sidebar-tools .workspace{display:block}.auth-story{background:var(--sidebar-background)}.appearance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hub-theme-panel{padding-top:28px}.hub-colour-setting{font-size:13px}.hub-colour-setting input{background:var(--surface);border-color:var(--border)}.hub-colour-setting code{font-size:12px}.mobile-menu-toggle,.mobile-menu-close{display:none}.sidebar-resize{position:absolute;right:0;top:0;bottom:0;width:7px;cursor:col-resize;border:0;padding:0;background:transparent;border-radius:0}.sidebar-resize:hover{background:var(--accent)}
@media(max-width:850px){main{margin-left:0;padding:20px 16px}.mobile-menu-toggle{display:inline-flex;margin-bottom:20px}.sidebar-resize{display:none}aside.sidebar{display:none;position:fixed;inset:0 0 0 auto;width:min(360px,calc(100vw - 24px));height:100dvh;padding:22px;z-index:30;box-shadow:-15px 0 50px #0008}body.menu-open aside.sidebar{display:flex}body.menu-open{overflow:hidden}.mobile-menu-close{display:flex;align-self:flex-end;margin-bottom:18px}.sidebar nav{display:grid;overflow:visible;margin-top:26px}.sidebar nav button{white-space:normal;min-width:0}.sidebar-tools{position:static;margin-top:auto;padding-top:28px}.sidebar-tools .theme-toggle{width:100%}.sidebar .brand-sub{display:block}.top,.account-actions,.toolbar,.appearance-actions{flex-wrap:wrap}.top{gap:12px}.workspace-label{min-width:0;max-width:100%}.workspace-label select{max-width:100%}.panel{padding:20px;min-width:0}.hub-colour-setting{grid-template-columns:minmax(0,1fr) 44px 70px}.grid,.formgrid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:1fr}.feature-status{flex-wrap:wrap}.brand{overflow-wrap:anywhere}}
.hub-brand-icon{width:44px;height:44px;flex:none}.sidebar .hub-brand-icon{width:42px;height:42px}

.mobile-menu-backdrop{display:none}@media(max-width:850px){body.menu-open .mobile-menu-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;border:0;background:#0009;z-index:29;border-radius:0}}
.top .role-label{display:flex;flex-direction:column;gap:3px;padding:9px 14px;border:1px solid var(--border);background:var(--surface);border-radius:10px;text-transform:none;color:var(--text);min-width:120px}.role-label small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.role-label strong{font-size:14px}.sidebar [data-page][hidden]{display:none!important}.access-role-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.access-role-guide .panel{margin:0}.access-role-guide p{font-size:13px;line-height:1.7}.team-member-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--border)}.team-member-row strong{overflow-wrap:anywhere}.team-member-row p{margin:6px 0 0;color:var(--muted)}.team-access-drawer{padding:24px!important;width:min(540px,100%);max-width:100%;box-sizing:border-box}.team-access-drawer form{display:grid;gap:18px;margin-top:24px}.team-access-drawer h2{margin:0}.access-remove{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}#booking-search,#pass-lookup{margin-top:24px}#camera-status{margin:12px 0 18px}#entry-camera:not([hidden]){display:block;background:#15251f;min-height:220px;margin:16px auto 24px}@media(max-width:600px){.access-role-guide{grid-template-columns:1fr}.team-member-row{align-items:flex-start;flex-wrap:wrap}.top .role-label{min-width:0;padding:8px 10px}.role-label strong{font-size:12px}.account-actions{width:100%;justify-content:space-between}}

.team-member-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.team-member-actions p{flex-basis:100%;font-size:12px;text-align:right}.team-member-actions button{font-size:13px}@media(max-width:600px){.team-member-actions{justify-content:flex-start}.team-member-actions p{text-align:left}}
