/* Shared control sizes and alignment for management and staff pages. */
:root{--control-height:48px;--control-font:17px;--control-gap:12px}
.main .button,.main .section-heading .button,.main .form-actions .button,.main .page-display-tools .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:10px 16px;font-size:var(--control-font);line-height:1.3;font-weight:600;vertical-align:middle;margin:0}
.main .button>.icon{width:20px;height:20px;flex-shrink:0}
.main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.main select{min-height:var(--control-height);font-size:var(--control-font);line-height:1.3}
.main h1{font-size:34px;line-height:1.2}.main h2{font-size:24px;line-height:1.3}.main h3{font-size:21px;line-height:1.35}
.main .page-heading{flex-direction:row;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.main .page-heading .muted{font-size:17px;line-height:1.5;margin-top:10px}.main .eyebrow{font-size:12px;line-height:1.4;letter-spacing:1.3px}.main .field label,.main .catalogue-filter-content>label,.main .list-search-label{font-size:16px;line-height:1.4}
.main .page-menu-tools{display:flex;align-items:center;gap:12px;margin-bottom:24px}.main .page-menu-tools .page-navigation{margin:0}.main .page-display-tools{align-items:center;gap:12px}.main .page-menu-tools form{margin:0}
.main .action-cluster,.main .form-actions,.main .record-actions{gap:var(--control-gap)}
.main .catalogue-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.catalogue-title{display:flex;align-items:center;gap:20px;min-width:0}.catalogue-title>div:last-child{min-width:0}.catalogue-title h1{overflow-wrap:anywhere}.catalogue-title .brand-header-logo{width:160px;height:72px;flex:0 0 160px;padding:10px 12px;margin:0}.catalogue-title .brand-header-logo img{display:block}
.main .catalogue-heading>.action-cluster{display:grid;grid-template-columns:1fr;min-width:230px;gap:12px}.main .catalogue-heading .action-cluster .button{width:100%;min-height:48px}
.catalogue-supplier{margin:0 0 20px;padding:16px 20px;gap:12px;align-items:center;font-size:16px;line-height:1.5}.catalogue-supplier strong{font-size:16px;line-height:1.5}.catalogue-coverage{padding:16px 20px!important;margin:0 0 24px}.catalogue-coverage>summary{font-size:16px;line-height:1.5;min-height:32px;display:flex;align-items:center;gap:8px}.catalogue-coverage>summary::before{content:'▸';color:var(--green)}.catalogue-coverage[open]>summary::before{content:'▾'}.catalogue-coverage>summary::-webkit-details-marker{display:none}
.collection-browser,.catalogue-layout{gap:24px}.catalogue-results,.collection-results{min-width:0;container-type:inline-size}
.main .catalogue-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 110px 98px;align-items:end;gap:12px;padding:0 0 20px;margin:0 0 24px;min-width:0}
.main .catalogue-toolbar>p{grid-column:1/-1;min-width:0;min-height:24px;margin:0;font-size:16px;line-height:1.5}.main .catalogue-toolbar>p small{font-size:14px;line-height:1.5}
.main .catalogue-toolbar>.sort-field,.main .catalogue-toolbar>.page-size-field{display:grid;grid-template-rows:auto var(--control-height);align-items:stretch;gap:8px;min-width:0;flex-wrap:nowrap}
.main .catalogue-toolbar label{font-size:16px;line-height:1.4;margin:0;white-space:normal}.main .catalogue-toolbar select{display:block;width:100%;max-width:none;font-size:var(--control-font);height:var(--control-height);min-width:0;margin:0;padding-top:8px;padding-bottom:8px}
.main .catalogue-toolbar>.catalogue-view{display:flex;align-items:stretch;gap:0;min-height:var(--control-height);height:var(--control-height);align-self:end;border-radius:8px}.main .catalogue-view button{min-width:48px;width:48px;min-height:0;height:100%;padding:10px;display:grid;place-items:center}.main .catalogue-view .icon{width:20px;height:20px}
.main .catalogue-toolbar>.list-update,.main .catalogue-toolbar>.catalogue-update{grid-column:1/-1}
.main .catalogue-filter-drawer>summary{font-size:16px;line-height:1.5;min-height:36px;padding:0 0 12px;margin:0 0 14px}.main .catalogue-search{gap:10px;margin-bottom:20px}.main .catalogue-search .button,.main .list-filter-actions .button{width:100%}.main .catalogue-filter-content>label,.main .list-search-label{margin:0 0 8px;font-weight:600}.main .catalogue-facet summary{font-size:16px;line-height:1.4}.main .catalogue-facet label{font-size:16px;line-height:1.45;gap:10px;min-height:44px}.main .catalogue-facet small{font-size:14px}
.main .catalogue-line>.section-heading{align-items:center;gap:12px;padding:14px 16px;margin:0 0 16px;min-height:58px}.main .catalogue-line>.section-heading h2{font-size:21px;line-height:1.35;margin:0}.main .catalogue-product-actions{display:grid;gap:10px;align-content:center}.main .catalogue-product-actions .button{width:100%;min-height:48px;font-size:16px}.main .catalogue-product-copy h3{font-size:21px;line-height:1.35}.main .catalogue-product-copy .micro{font-size:14px;line-height:1.5}
@container(min-width:900px){.main .catalogue-toolbar{grid-template-columns:minmax(160px,1fr) 220px 110px 98px}.main .catalogue-toolbar>p{grid-column:auto;align-self:end;display:flex;align-items:center;flex-wrap:wrap;column-gap:4px;min-height:48px}.main .catalogue-toolbar>p small{flex-basis:100%}}
@media(max-width:1100px){.catalogue-title{gap:16px}.catalogue-title .brand-header-logo{width:120px;height:64px;flex-basis:120px}.main .catalogue-heading{grid-template-columns:1fr}.main .catalogue-heading>.action-cluster{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.main .catalogue-heading .action-cluster .button{min-width:0}}
@media(max-width:760px){
 :root{--control-height:46px;--control-font:16px;--control-gap:10px}
 .main h1{font-size:28px}.main h2{font-size:21px}.main h3{font-size:18px}.main .page-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.main .page-heading>.button{width:100%}.main .page-heading .muted{font-size:16px;line-height:1.45}.main .eyebrow{font-size:11px;letter-spacing:1px}.main .button{padding:10px 12px}
 .main .page-menu-tools{gap:8px;flex-wrap:wrap;margin-bottom:20px}.main .page-display-tools{gap:8px}.main .page-menu-tools .button{font-size:14px;padding:10px;min-height:46px}.main .page-menu-tools .page-navigation .button{font-size:14px}
 .catalogue-title{align-items:flex-start;gap:14px}.catalogue-title .brand-header-logo{width:88px;height:56px;flex-basis:88px;padding:8px;margin-top:5px}.main .catalogue-heading>.action-cluster{gap:10px}.main .catalogue-heading .action-cluster .button{font-size:15px;min-height:48px;padding:10px 12px}
 .catalogue-supplier{display:grid;gap:6px;padding:14px 16px;font-size:15px}.catalogue-supplier strong{font-size:16px}.catalogue-coverage{padding:14px 16px!important;margin-bottom:20px}.catalogue-coverage>summary{font-size:15px;min-height:32px;align-items:flex-start}
 .main .catalogue-toolbar{grid-template-columns:minmax(0,1fr) 90px;gap:12px;margin-bottom:20px}.main .catalogue-toolbar>.catalogue-view{grid-column:2;justify-self:end}.main .catalogue-view button{width:44px;min-width:44px;padding:9px}.main .catalogue-toolbar label{font-size:15px}.main .catalogue-toolbar>p{font-size:15px}.main .catalogue-toolbar select{font-size:16px}.main .catalogue-filter-drawer>summary{margin:0;padding:12px 0}.main .catalogue-filter-content{padding-top:12px}.main .catalogue-line>.section-heading h2,.main .catalogue-product-copy h3{font-size:19px}.main .catalogue-product-actions .button{font-size:16px}
}
@media(max-width:360px){.main .page-menu-tools .page-navigation .button{font-size:0;min-width:44px}.main .catalogue-heading>.action-cluster{grid-template-columns:1fr}.catalogue-title{flex-direction:column}.catalogue-title .brand-header-logo{flex-basis:auto}.main .page-display-tools .button{font-size:13px}}
/* Keep auto-submitting filter toolbars compact while preserving a no-JS fallback. */
.main .catalogue-enhanced .catalogue-update,.main .list-enhanced .list-update,.main .button[hidden]{display:none}
/* One login hierarchy on phone, tablet and desktop. */
.login-main{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:32px 20px}
.login-main .login-card{width:100%;max-width:460px;padding:28px 32px;margin:0 auto;text-align:left}
.login-card>.brand{width:128px;max-width:45%;margin:0 auto 16px}.login-main .login-card h1{font-size:28px;line-height:1.25;text-align:center;margin:0 0 8px}.login-main .login-card>.muted{text-align:center;font-size:16px;line-height:1.5;margin:0 0 24px}
.login-form{display:grid;gap:20px;margin:0}.login-field-group{display:grid;gap:8px}.login-main .login-form .field{margin:0}.login-main .login-form .field label{display:block;font-size:16px;line-height:1.4;margin:0 0 8px}.login-main .login-form input:not([type=checkbox]){min-height:50px;font-size:17px}.login-form>.button{min-height:50px}
.login-remember{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:8px 0;margin:0;cursor:pointer;font-size:16px;line-height:1.4;font-weight:500}.login-remember input[type=checkbox]{width:24px;height:24px;min-height:24px;flex:0 0 24px;margin:1px 0 0}.login-remember>span{display:block}.login-remember small{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin-top:3px}
.login-recovery{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;width:max-content;max-width:100%;font-size:16px;font-weight:650;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding:6px 0}.login-recovery:hover{color:var(--text)}.login-recovery .icon{width:18px;height:18px}
.login-install{border-top:1px solid var(--border);padding-top:20px;margin-top:24px}.login-main .install-app-button{display:flex;justify-content:center;gap:14px;min-height:72px;width:100%;text-align:left;border:1px solid var(--green);background:var(--green-soft);color:var(--text);padding:12px 16px}.login-main .install-app-button>.icon{width:28px;height:28px;flex-shrink:0;color:var(--green)}.install-app-button strong{display:block;font-size:17px;font-weight:700;line-height:1.4}.install-app-button small{display:block;font-size:13px;font-weight:400;line-height:1.4;margin-top:3px;color:var(--muted)}.login-main .login-card>.login-security-note{font-size:13px;line-height:1.4;text-align:center;color:var(--muted);margin:18px 0 0}
@media(max-width:760px){.login-main{padding:24px 16px;align-items:flex-start}.login-main .login-card{padding:24px;max-width:440px}.login-card>.brand{width:112px;margin-bottom:14px}.login-form{gap:16px}.login-main .login-card h1{font-size:26px}.login-main .login-card>.muted{margin-bottom:20px}.login-install{margin-top:20px;padding-top:18px}}
@media(max-width:360px){.login-main{padding:16px 12px}.login-main .login-card{padding:20px 18px}.login-main .login-card h1{font-size:25px}.login-remember small,.install-app-button small{font-size:12px}}
@media(min-width:761px) and (max-width:1100px){.main .page-menu-tools .button,.main .catalogue-toolbar select{min-height:48px}.main .catalogue-heading>.action-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.main .catalogue-product-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}

.login-main .button[hidden]{display:none}
@media(min-width:761px) and (max-height:850px){
 .login-main{padding:20px}.login-main .login-card{padding:24px 28px}.login-card>.brand{width:88px;margin-bottom:10px}.login-main .login-card h1{font-size:26px;margin-bottom:6px}.login-main .login-card>.muted{font-size:15px;margin-bottom:16px}.login-form{gap:12px}.login-main .login-form input:not([type=checkbox]),.login-form>.button{min-height:48px}.login-install{margin-top:16px;padding-top:16px}.login-main .install-app-button{min-height:64px}.login-main .login-card>.login-security-note{margin-top:12px;font-size:12px}
}

.main .page-heading>div:first-child{flex:1 1 320px;min-width:0}@media(max-width:760px){.main .page-heading>div:first-child{flex-basis:auto}}
.main .record-actions{align-items:stretch}.main .record-actions>.button,.main .record-actions>form,.main .record-actions>form>.button{width:100%}.main .record-actions>form{margin:0}
.topbar .text-button{font-size:16px;min-height:48px;padding:8px 12px}
/* Navigation shares the staff header; compact account menu owns facility/language choices. */
body.staff-layout .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:10px 20px;position:sticky;top:0;z-index:50;flex-wrap:nowrap}
body.staff-layout .topbar>.facility-form,body.staff-layout .topbar .language-form{display:none}body.staff-layout .account-menu .account-facility{display:grid;gap:8px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}body.staff-layout .topbar .header-actions{gap:10px;margin:0}body.staff-layout .topbar .account-name{display:none}body.staff-layout .terminal-wordmark{font-size:23px;gap:8px}body.staff-layout .terminal-wordmark small{font-size:9px;letter-spacing:.4px}body.staff-layout .terminal-wordmark>.brand-emblem{width:36px;height:36px}
body.staff-layout .topbar>.staff-dock{position:relative;inset:auto;transform:none;margin:0 auto;width:100%;max-width:720px;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;gap:4px;border:0;background:transparent;box-shadow:none;z-index:55;align-items:stretch}
body.staff-layout .topbar>.staff-dock>a,body.staff-layout .topbar>.staff-dock>.staff-more>summary{flex-direction:row;min-height:52px;gap:7px;padding:8px;font-size:14px;line-height:1.25;white-space:nowrap}body.staff-layout .topbar>.staff-dock .icon{width:21px;height:21px;flex-shrink:0}.staff-layout .staff-more-menu{top:calc(100% + 12px);bottom:auto}.staff-layout .main{padding-top:24px}
.header-notices:empty{display:none}.header-notices{display:grid;gap:8px}.header-notice{display:flex;align-items:center;gap:12px;padding:8px 20px;min-height:48px;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text);font-size:15px;line-height:1.45;margin:0}.header-notice.warning,.header-notice.error{background:var(--amber-soft)}.header-notice>.icon{width:20px;height:20px;flex-shrink:0}.header-notice>span{flex:1;min-width:0}.header-notice>a{font-weight:650;text-decoration:underline;text-underline-offset:3px}.notice-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer}.notice-close:hover{background:var(--surface)}.header-notice[hidden]{display:none}
.staff-day-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.staff-heading-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px}.staff-heading-tools .display-switcher>summary{font-size:17px;min-height:48px}
.main .catalogue-toolbar>.results-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}.results-summary>p{margin:0;font-size:16px;line-height:1.5;flex:1}.results-summary .menu-defaults-button{font-size:14px;min-height:44px;padding:8px 12px}.results-summary small{display:block;font-size:14px;color:var(--muted)}
@media(max-width:1100px){body.staff-layout .topbar{gap:10px;padding:10px 16px}body.staff-layout .topbar>.staff-dock>a,body.staff-layout .topbar>.staff-dock>.staff-more>summary{flex-direction:column;gap:4px;font-size:12px;min-height:54px;padding:6px 4px}body.staff-layout .topbar>.staff-dock{gap:2px}.header-notice{font-size:14px;padding:6px 16px}}
@media(max-width:760px){body.staff-layout .topbar{display:flex;justify-content:space-between;min-height:70px;padding:10px 14px}body.staff-layout .topbar>.staff-dock{position:fixed;top:auto;bottom:0;left:0;right:0;max-width:none;width:100%;margin:0;padding:5px 6px calc(5px + env(safe-area-inset-bottom));gap:2px;background:var(--surface);border-top:1px solid var(--border);border-radius:0;box-shadow:0 -4px 18px #0001}body.staff-layout .topbar>.staff-dock>a,body.staff-layout .topbar>.staff-dock>.staff-more>summary{min-height:60px;font-size:11px;padding:6px 2px;gap:4px}.staff-layout .staff-more-menu{top:auto;bottom:calc(100% + 8px)}.staff-day-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.staff-day-header h1{font-size:28px}.staff-day-header .muted{font-size:15px}.staff-heading-tools .display-switcher>summary{font-size:14px;padding:10px;min-height:46px}.header-notice{padding:6px 12px;gap:8px;font-size:13px}.header-notice>a{font-size:13px}.results-summary .menu-defaults-button{font-size:13px}.results-summary>p{font-size:15px}}
.calendar-controls{display:grid;gap:20px;margin-bottom:18px}.calendar-controls .action-cluster{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.calendar-controls h2{margin:0;min-width:190px;text-align:center}.calendar-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.calendar-filters>label{display:grid;gap:8px;font-size:15px;min-width:135px;flex:1}.calendar-grid{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:22px 0}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--surface-2);font-weight:700;text-align:center;padding:10px 0}.calendar-day{border-top:1px solid var(--border);border-right:1px solid var(--border);padding:8px;min-width:0;min-height:140px;background:var(--surface)}.calendar-day:last-child{border-right:0}.calendar-day.outside-month{opacity:.55}.calendar-day.is-today{background:var(--green-soft)}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--green)}.calendar-day-number{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:4px;font-weight:700}.calendar-day-number small{font-size:11px;color:var(--muted);font-weight:400}.calendar-day-items{display:grid;gap:6px}.calendar-entry{display:block;border-left:4px solid var(--room-color,var(--green));background:var(--surface-2);border-radius:5px;padding:6px;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.calendar-entry small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.calendar-agenda-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;border-left:5px solid var(--room-color,var(--green));padding:12px 16px;margin-top:16px;background:var(--surface-2);border-radius:8px}.calendar-agenda-item>div:first-child>span{display:block;color:var(--muted);font-size:14px}.calendar-agenda-item a{font-weight:650;text-decoration:underline}.room-color-0{--room-color:#418e73}.room-color-1{--room-color:#8b61c1}.room-color-2{--room-color:#2d8daf}.room-color-3{--room-color:#cb7d30}.room-color-4{--room-color:#bc597c}.room-color-5{--room-color:#718d3e}.room-color-6{--room-color:#4875b8}.room-color-7{--room-color:#a068ad}.room-color-8{--room-color:#ad764e}.room-color-9{--room-color:#338f95}.room-color-10{--room-color:#7f7950}.room-color-11{--room-color:#c16060}
@media(max-width:1000px){.calendar-day{padding:6px;min-height:120px}.calendar-day-number small{display:none}.calendar-entry{font-size:11px;padding:4px}.calendar-entry small{font-size:10px}}
@media(max-width:760px){.calendar-day{min-height:70px;padding:4px}.calendar-day-items{display:none}.calendar-day-number{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:58px}.calendar-day-number small{display:block;font-size:9px}.calendar-controls h2{font-size:21px;min-width:150px}.calendar-filters>label{min-width:130px}.calendar-agenda-item{grid-template-columns:1fr;gap:6px;padding:12px}.calendar-grid{margin:18px 0}.calendar-weekdays{font-size:13px}}
/* Keep sort controls together instead of stretching a dropdown across the page. */
.main .catalogue-toolbar{grid-template-columns:minmax(0,1fr) minmax(170px,230px) 110px 98px}.main .catalogue-toolbar>.results-summary{grid-column:1/-1}.main .catalogue-toolbar>.sort-field{grid-column:2}.main .catalogue-toolbar>.page-size-field{grid-column:3}.main .catalogue-toolbar>.catalogue-view{grid-column:4}
@media(max-width:900px){.main .catalogue-toolbar{grid-template-columns:minmax(0,1fr) minmax(150px,210px) 100px 98px}}
@media(max-width:760px){.main .catalogue-toolbar{grid-template-columns:minmax(0,1fr) 90px 90px;gap:10px}.main .catalogue-toolbar>.sort-field{grid-column:1}.main .catalogue-toolbar>.page-size-field{grid-column:2}.main .catalogue-toolbar>.catalogue-view{grid-column:3}.main .catalogue-toolbar select{font-size:15px}.main .catalogue-toolbar label{font-size:14px}}
@media(max-width:360px){.main .catalogue-toolbar{grid-template-columns:minmax(0,1fr) 90px}.main .catalogue-toolbar>.catalogue-view{grid-column:2}}
/* Small, persistent mode control; all menus retain the same account permissions. */
.header-actions>.display-switcher{position:relative}.display-switcher>summary.icon-button{width:46px;min-width:46px;height:46px;padding:10px;list-style:none}.display-switcher>summary::-webkit-details-marker{display:none}.display-switcher-menu{right:0;left:auto;min-width:240px;z-index:110}.display-switcher-menu p{font-weight:700}.room-wall-controls .display-switcher{position:relative}.page-menu-tools:empty{display:none}
body.staff-layout .staff-dock,body.kiosk .staff-dock{grid-template-columns:repeat(6,minmax(0,1fr))}.field-requirement{display:inline-block;font-size:12px;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);margin-inline-start:6px;vertical-align:middle}.field>label,.field>legend{line-height:1.5}.field input[type=checkbox],.field input[type=radio]{margin-inline-end:8px}.field #id_traits,.field #id_recipients{display:grid;gap:12px}.field #id_traits label,.field #id_recipients label{display:flex;align-items:center;gap:8px;font-weight:400}
.capture-picker{border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:24px}.capture-actions{display:flex;gap:12px;flex-wrap:wrap}.capture-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.capture-actions:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.capture-preview{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.capture-preview>div{max-width:160px;overflow-wrap:anywhere}.capture-preview img{height:110px;max-width:150px;object-fit:contain;border-radius:8px}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-block:24px}.evidence-item img,.evidence-item video{width:100%;max-height:360px;object-fit:contain;border-radius:8px}.evidence-item p{overflow-wrap:anywhere}.advisory{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.wall-navigation{position:relative}.wall-navigation-menu{position:absolute;right:0;top:100%;width:min(330px,85vw);z-index:80;display:grid;gap:8px;max-height:70vh;overflow:auto}.wall-navigation-menu a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:8px;min-height:48px}.wall-navigation-menu a:hover{background:var(--surface-2)}
@media(max-width:760px){body.staff-layout .staff-dock,body.kiosk .staff-dock{grid-template-columns:repeat(6,minmax(0,1fr))}.capture-actions{display:grid;grid-template-columns:1fr;gap:10px}.capture-picker{padding:14px}.display-switcher-menu{position:fixed;top:72px;right:12px;left:auto;max-width:calc(100vw - 24px)}body.room-display .display-switcher-menu{position:absolute;top:100%;right:0}.field-requirement{font-size:11px}.room-wall-controls{gap:8px}.room-wall-controls>.button{font-size:13px}}
/* Wall browsing uses the same compact navigation without changing access. */
body.kiosk:not(.room-display) .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;height:auto;min-height:76px;padding:10px 18px}body.kiosk .topbar>.facility-form{display:none}body.kiosk .account-name{display:none}body.kiosk:not(.room-display) .staff-dock{position:relative;display:grid;inset:auto;transform:none;width:100%;max-width:720px;margin:0 auto;border:0;border-radius:0;background:transparent;box-shadow:none}body.kiosk .staff-dock>a,body.kiosk .staff-dock>.staff-more>summary{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;padding:10px 6px;white-space:normal}body.kiosk .account-facility{display:grid}.wall-return{font-size:13px!important;padding:8px!important;white-space:nowrap}
@media(max-width:760px){body.kiosk:not(.room-display) .topbar{grid-template-columns:1fr auto}body.kiosk:not(.room-display) .staff-dock{position:fixed;bottom:0;left:0;right:0;top:auto;max-width:none;width:100%;background:var(--surface);padding:5px 6px calc(5px + env(safe-area-inset-bottom));z-index:80;border-top:1px solid var(--border)}body.kiosk .staff-dock>a,body.kiosk .staff-dock>.staff-more>summary{flex-direction:column;font-size:11px;min-height:60px;padding:6px 2px}body.kiosk:not(.room-display) .main{padding-bottom:100px}.wall-return{max-width:86px;white-space:normal}body.kiosk .staff-more-menu{top:auto;bottom:100%}}
body.staff-layout .topbar>.staff-dock{grid-template-columns:repeat(6,minmax(0,1fr))}.icon[data-icon=camera]{color:#df95b4}.icon[data-icon=calendar]{color:#83b8ed}
.back-to-top{position:fixed;right:20px;bottom:24px;width:48px;height:48px;min-width:48px;border-radius:50%;background:var(--surface);border:2px solid var(--border);box-shadow:0 3px 14px #0003;z-index:85}.back-to-top[hidden]{display:none!important}.back-to-top .icon{transform:rotate(90deg);width:24px;height:24px}.back-to-top:hover{background:var(--surface-2)}.main:focus{outline:none}
@media(max-width:760px){.back-to-top{right:14px;bottom:20px}body.staff-layout .back-to-top,body.kiosk .back-to-top{bottom:calc(88px + env(safe-area-inset-bottom))}body.room-display .back-to-top{bottom:20px}}
.calendar-filters>.field{flex:1;min-width:135px;margin:0}.calendar-filters>.field input,.calendar-filters>.field select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.calendar-filters>.field label{font-size:14px;white-space:normal}.calendar-filters>.field .field-requirement{font-size:11px}
@media(max-width:760px){.calendar-filters>.field{flex:1 1 calc(50% - 12px);min-width:0}.calendar-filters>.field input,.calendar-filters>.field select{font-size:15px}}
.calendar-filters>.menu-preferences-actions{margin:0;align-self:flex-end}.calendar-filters>.menu-preferences-actions .button{margin:0}

/* Header navigation uses an underline for the current page. */
.topbar>.staff-dock>a[aria-current=page],.topbar>.staff-dock>.staff-more>summary.selected{background:transparent;box-shadow:inset 0 -3px var(--green);border-radius:0}
/* The More control fills the same grid row as the header links. */
.topbar>.staff-dock>.staff-more{align-self:stretch;min-width:0}.topbar>.staff-dock>.staff-more>summary{box-sizing:border-box;height:100%;min-height:100%;margin:0;display:flex;align-items:center;justify-content:center}
/* Let record menus use the available workspace and bring controls above the fold. */
.main:has(>.collection-browser){max-width:none;width:100%;padding-top:16px}.main:has(>.collection-browser)>.page-menu-tools{margin-bottom:12px}.main:has(>.collection-browser)>.page-heading{margin-bottom:16px}.main:has(>.collection-browser)>.subnav{margin-bottom:16px}.main:has(>.collection-browser)>.page-heading .muted{margin-top:6px}.filter-menu-reset{padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}.filter-menu-reset .menu-defaults-button{width:100%;white-space:normal}
@media(min-width:761px){.main .collection-browser .results-toolbar{grid-template-columns:minmax(110px,1fr) minmax(190px,280px) 120px 98px;align-items:end;gap:12px;padding-bottom:16px;margin-bottom:18px}.main .collection-browser .results-toolbar>.results-summary{grid-column:1;grid-row:1;align-self:end;min-height:48px;align-items:center}.main .collection-browser .results-toolbar>.sort-field,.main .collection-browser .results-toolbar>.page-size-field,.main .collection-browser .results-toolbar>.catalogue-view{grid-row:1}}
@media(min-width:761px) and (max-width:1100px){.main .collection-browser .results-toolbar{grid-template-columns:minmax(0,1fr) 100px 98px}.main .collection-browser .results-toolbar>.results-summary{grid-column:1/-1;grid-row:1;min-height:24px}.main .collection-browser .results-toolbar>.sort-field{grid-column:1;grid-row:2}.main .collection-browser .results-toolbar>.page-size-field{grid-column:2;grid-row:2}.main .collection-browser .results-toolbar>.catalogue-view{grid-column:3;grid-row:2}}
/* Shared workspace density and spacing, while preserving readable form widths. */
body:not(.room-display) .main{padding-top:18px}body.staff-layout .main{max-width:1600px}body.staff-layout .main:has(>.collection-browser){max-width:none}
.main>.page-menu-tools{margin-bottom:14px}.main>.page-heading{margin-bottom:18px;gap:16px}.main>.subnav{margin-bottom:18px}.main .section-heading{gap:12px 18px;align-items:center}.main .section-heading>div{min-width:0}.main .section-heading .action-cluster{align-items:center}.main .action-cluster>form{margin:0}.main .form-actions{align-items:center;gap:12px;margin-top:22px;padding-top:18px}.main .form-actions .button,.main .action-cluster .button{white-space:normal;line-height:1.35}
body:not(.room-display) .main .panel{padding:20px;margin-bottom:18px}.main p:has(>.button){display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:12px;margin-bottom:16px}.main>p:has(>.button){margin-top:0;margin-bottom:18px}.main .panel>.action-cluster{margin-block:16px}.main .panel>p+p{margin-top:10px}.main .panel>:is(h2,h3)+p{margin-top:8px}.main .panel>.action-cluster+p,.main .form-actions+p{margin-top:16px}.main .section-heading+p{margin-bottom:16px}.main .record-actions{gap:12px}.main .record-actions>form{margin-top:4px}.main .shift-welcome{min-height:0;margin-bottom:20px}.main .welcome-panel{min-height:180px;padding:24px}.main .staff-view-options{margin-bottom:14px}
@media(min-width:1400px){.main .collection-browser{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:760px){body:not(.room-display) .main{padding-top:14px}.main>.page-menu-tools{margin-bottom:12px}.main>.page-heading{gap:12px;margin-bottom:16px}body:not(.room-display) .main .panel{padding:16px;margin-bottom:16px}.main .section-heading{align-items:flex-start}.main .section-heading .action-cluster{width:100%;gap:10px}.main .form-actions{gap:10px}.main p:has(>.button){gap:10px;margin-bottom:16px}.main .welcome-panel{padding:20px;min-height:160px}}
.main>.page-menu-tools>.menu-preferences-actions{margin-inline-start:auto}.main>.page-menu-tools:not(:has(>*)){display:none}
.main .table-wrap{max-width:100%;min-width:0;overflow-x:auto}.main .panel>form:has(>.button){margin-top:12px;margin-bottom:16px}.main .panel>.button{margin-top:8px;margin-bottom:14px}.main .panel>.button+.button{margin-inline-start:10px}
.main .panel:has(>.results-toolbar){container-type:inline-size}
@container(min-width:640px){.main .catalogue-toolbar{grid-template-columns:minmax(100px,1fr) minmax(190px,280px) 110px 98px;align-items:end}.main .catalogue-toolbar>.results-summary{grid-column:1;grid-row:1;align-self:end;min-height:48px;align-items:center}.main .catalogue-toolbar>.sort-field,.main .catalogue-toolbar>.page-size-field,.main .catalogue-toolbar>.catalogue-view{grid-row:1}}
.staff-view-options .menu-preferences-actions{margin-block:12px}.wall-controls>.menu-preferences-actions{flex-shrink:0}
body:not(.room-display) .main :is(.record-list,.detail-grid,.module-grid)>.panel{margin-bottom:0}
.topbar>.staff-dock>.staff-more>summary{line-height:1.3}
/* Calendar is a primary destination and has its own lighter workspace. */
.topbar .header-calendar{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;background:#bfe8a1;border:1px solid #d1efbb;color:#173b24;font-weight:750;white-space:nowrap}.topbar .header-calendar .icon{color:currentColor;width:22px;height:22px}.topbar .header-calendar:hover{background:#d1efbb}.topbar .header-calendar[aria-current=page]{box-shadow:inset 0 -3px #347142}.topbar .header-calendar:focus-visible{outline:3px solid #ecf9df;outline-offset:3px}
body.staff-layout .topbar>.staff-dock>.calendar-mobile-nav,body.kiosk .topbar>.staff-dock>.calendar-mobile-nav{display:none}
.main:has(>.calendar-page){--bg:#e8f4e2;--surface:#f3faee;--surface-2:#d9ebd1;--card-bg:#f3faee;--text:#193d25;--muted:#42654b;--border:#9dbb97;--green:#2f703c;--green-soft:#cce5bf;--box-edge:#9dbb97;--box-hover:#e0efda;background:var(--bg);color:var(--text);color-scheme:light;max-width:none;width:100%}.calendar-page .page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.calendar-page .page-heading>div:first-child{flex:1;min-width:240px}.calendar-page .calendar-controls{gap:16px}.calendar-page .calendar-entry{background:#dfedd7}.calendar-page .calendar-dashboard{border-color:#347142;background:#cce5bf}.calendar-page .calendar-day.outside-month{opacity:.7}.calendar-page .calendar-filters>.field{flex:1 1 150px;min-width:0}.calendar-page .calendar-filters>.field>label{display:block;margin-bottom:8px}
@media(max-width:760px){body.staff-layout .topbar .header-calendar,body.kiosk .topbar .header-calendar{display:none}body.staff-layout .topbar>.staff-dock>.calendar-mobile-nav,body.kiosk .topbar>.staff-dock>.calendar-mobile-nav{display:flex;background:#bfe8a1;color:#173b24;border:1px solid #d1efbb;border-radius:8px}.calendar-mobile-nav>.icon{color:currentColor}body.staff-layout .topbar>.staff-dock:has(>[data-calendar-nav]),body.kiosk .topbar>.staff-dock:has(>[data-calendar-nav]){grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-page .page-heading>.action-cluster{width:100%}.calendar-page .page-heading>.action-cluster>.button{flex:1 1 120px}}
@media(max-width:600px){.topbar .header-calendar{width:44px;min-width:44px;padding:8px}.topbar .header-calendar>span{display:none}}

/* Dark mode keeps its workspace; only the calendar grid uses a lighter sage. */
:root[data-theme=dark] .main:has(>.calendar-page){--bg:inherit;--surface:inherit;--surface-2:inherit;--card-bg:inherit;--text:inherit;--muted:inherit;--border:inherit;--green:inherit;--green-soft:inherit;--box-edge:inherit;--box-hover:inherit;background:transparent;color:var(--text);color-scheme:dark}
:root[data-theme=dark] .calendar-page .calendar-grid{border-color:#5d8667;color:#edf6e9}:root[data-theme=dark] .calendar-page .calendar-weekdays{background:#315d43}:root[data-theme=dark] .calendar-page .calendar-day{background:#244d38;border-color:#5d8667}:root[data-theme=dark] .calendar-page .calendar-day.is-today{background:#3e6b47}:root[data-theme=dark] .calendar-page .calendar-day.is-selected{box-shadow:inset 0 0 0 2px #b8e598}:root[data-theme=dark] .calendar-page .calendar-day-number small{color:#c9dfcb}:root[data-theme=dark] .calendar-page .calendar-entry{background:#356447;color:#f0f8ed}:root[data-theme=dark] .calendar-page .calendar-dashboard{background:var(--surface-2);border-color:var(--green);color:var(--text)}
.calendar-day[data-day-create]{cursor:pointer}.calendar-add-hint{display:inline-flex;align-items:center;min-height:32px;font-size:12px;font-weight:650;color:var(--green);margin-bottom:4px}.calendar-day[data-day-create]:hover{box-shadow:inset 0 0 0 2px var(--green)}:root[data-theme=dark] .calendar-page .calendar-add-hint{color:#d7efc9}@media(max-width:760px){.calendar-add-hint{display:none}}
/* More uses stable icon columns and left-aligned options in every workspace. */
body .topbar>.staff-dock .staff-more-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;padding:12px}
body .topbar>.staff-dock .staff-more-menu>a{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;justify-content:stretch;gap:12px;min-height:54px;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:16px;line-height:1.35;text-align:left;white-space:normal;min-width:0}
body .topbar>.staff-dock .staff-more-menu>a>.icon{width:24px;height:24px;margin:0;justify-self:start}body .topbar>.staff-dock .staff-more-menu>a>span{min-width:0;overflow-wrap:anywhere;justify-self:start}
@media(max-width:1100px){body .topbar>.staff-dock .staff-more-menu{grid-template-columns:minmax(0,1fr)}}
.facility-summary{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:18px 0}.facility-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:564px;max-width:100%}.facility-stat{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.facility-stat>.stat-label{display:block;font-size:14px;line-height:1.35;min-height:20px;color:var(--muted)}.facility-stat>strong{display:block;font-size:30px;line-height:1.15;margin:8px 0}.facility-stat>p{font-size:12px;color:var(--muted);margin:0}.facility-summary>.wall-readonly{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:var(--green)}
.main .catalogue-toolbar.compact-sort-toolbar{display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:12px;padding-bottom:16px;margin-bottom:18px}.main .compact-sort-toolbar>.sort-field{width:280px;min-width:0}.main .compact-sort-toolbar>.page-size-field{width:110px;min-width:0}.main .compact-sort-toolbar>.catalogue-view{width:98px;flex-shrink:0}
@media(max-width:600px){.facility-stats{gap:8px;width:100%}.facility-stat{padding:12px}.facility-stat>.stat-label{font-size:12px;min-height:34px}.facility-stat>strong{font-size:27px}.facility-stat>p{font-size:11px;line-height:1.4}.main .catalogue-toolbar.compact-sort-toolbar{gap:10px}.main .compact-sort-toolbar>.sort-field{width:auto;flex:1 1 0}.main .compact-sort-toolbar>.page-size-field,.main .compact-sort-toolbar>.catalogue-view{width:90px}}
.main>.stats{max-width:900px}
