/* Compact workspace. Desktop keeps its existing columns and calendar. */
.mobile-only{display:none}
.edit-quote-actions{display:contents}
.staff-page:not(.is-authenticated) #liveStatus{display:none}
@media(max-width:760px){
 .staff-page{--admin-mobile-nav-height:calc(64px + env(safe-area-inset-bottom,0px));--mobile-gutter:16px;font-size:14px;line-height:1.45}
 .staff-page :is(button,input,select,textarea){font-size:16px;touch-action:manipulation}
 .staff-page :is(input,select,textarea){min-height:48px;border-radius:9px;padding:11px 12px;min-width:0;max-width:100%;scroll-margin-block:80px 120px}
 .staff-page input[type=checkbox],.staff-page input[type=radio]{width:20px;min-height:20px;height:20px;flex:0 0 20px}
 .staff-page label{font-size:13px;gap:6px}
 .staff-page :is(.primary,.secondary){min-height:44px;border-radius:9px;font-size:14px;font-weight:500;padding:10px 13px}
 .staff-page h1{font-size:24px;line-height:1.15;letter-spacing:-.6px}
 .staff-page h2{font-size:20px;line-height:1.25;letter-spacing:-.4px}
 .staff-page .mobile-only{display:flex}
 .staff-page [hidden]{display:none!important}
 .staff-page .hidden-notice{font-size:12px;margin:2px 0 0}
 .staff-page .hidden-notice .link-button{min-height:32px}
 .staff-page .staff-sidebar{display:contents}
 .staff-page .staff-brand{display:none}
 .staff-page .staff-brand img{width:68px;height:auto;max-height:32px;object-fit:contain}
 .staff-page .staff-brand>span{font-size:11px;max-width:90px;line-height:1.3}
 .staff-page #mobileAccountToggle{width:44px;padding:5px;letter-spacing:2px;border-color:transparent}
 .staff-page .sidebar-bottom{display:none;position:absolute;top:calc(100% - 4px);right:16px;z-index:15;width:240px;margin:0;padding:10px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0007;gap:2px}
 .staff-page.mobile-account-open .sidebar-bottom{display:grid}
 .staff-page .sidebar-bottom>a,.staff-page .sidebar-bottom>button{display:flex;align-items:center;min-height:44px;padding:10px;font-size:14px;border-radius:8px}
 .staff-page .sidebar-bottom #sessionName:empty{display:none}.staff-page .sidebar-bottom #sessionName{display:block;padding:6px 10px;font-size:12px}
 .staff-page #adminNav{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;min-height:var(--admin-mobile-nav-height);padding:4px 6px calc(4px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface-inset);box-shadow:0 -4px 20px #0002}
 .staff-page #adminNav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:5px 0;border-radius:10px;font-size:10px;font-weight:500;line-height:1.2;min-width:0;text-align:center;box-shadow:none}
 .staff-page #adminNav button>span:first-child{font-size:19px;line-height:21px;width:24px}
 .staff-page #adminNav .nav-label{font-size:9px;letter-spacing:-.3px;white-space:nowrap}
 .staff-page #adminNav button[aria-current=page]{background:var(--selected);color:var(--accent);box-shadow:none}
 .staff-page #queueBadge{display:block;position:absolute;top:1px;right:9px;margin:0;min-width:16px;min-height:16px;padding:1px 4px;border-radius:8px;font-size:9px;line-height:14px;background:var(--pending-text);color:var(--pending-bg)}
 .staff-page #queueBadge:empty{display:none}
 .staff-page .staff-workspace{margin:0;padding:0 var(--mobile-gutter) calc(var(--admin-mobile-nav-height) + 24px);max-width:none;min-width:0}
 .staff-page:not(.is-authenticated) .staff-workspace{padding-bottom:24px}
 .staff-page .staff-header{position:relative;display:flex;flex-direction:row;gap:8px;min-height:64px;margin:0 calc(-1 * var(--mobile-gutter)) 12px;padding:8px var(--mobile-gutter);align-items:center;flex-wrap:nowrap;border-bottom:1px solid var(--line)}
 .staff-page .staff-header-title{min-width:0;flex:1;display:grid;gap:2px}.staff-page .staff-header h1{font-size:17px;line-height:21px;letter-spacing:-.3px;text-align:left;margin:0;white-space:nowrap}
 .staff-page .mobile-admin-logo{display:block;flex:0 0 64px;width:64px;height:auto;max-height:36px;object-fit:contain}
 .staff-page .mobile-admin-label{margin:0;font-size:10px;line-height:13px;letter-spacing:.45px;color:var(--muted)}
 .staff-page .staff-header #mobileAccountToggle{display:grid;place-items:center;flex:0 0 44px;min-width:44px;height:44px;padding:0;line-height:1}
 .staff-page .staff-header .eyebrow,.staff-page #viewSubtitle{display:none}
 .staff-page .header-actions{gap:6px;flex:0 0 auto;width:auto;flex-direction:row}.staff-page #newBlock{display:none}.staff-page #newBooking{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:26px;line-height:1;white-space:nowrap}.staff-page #newBooking .booking-action-label{display:none}
 .staff-page .staff-notice{font-size:10px;padding:6px 8px;margin:0 0 12px}
 .staff-page #liveStatus{font-size:12px;margin:0 0 10px;line-height:1.4}.staff-page #liveStatus:empty{display:none}
 .staff-page .staff-login{margin:24px 0;padding:20px;gap:16px;border-radius:14px;max-width:none}
 .staff-page .staff-login .eyebrow{display:none}.staff-page .staff-login h2{margin:0}.staff-page .staff-login p{margin:0}
 .staff-page .embedded-login-help{font-size:12px;line-height:1.5;margin:8px 0}
 .staff-page .powered-by{margin:24px 0 0;padding:8px 0}
 .staff-page .booking-overview{padding:0 0 12px;margin:0 0 12px;border:0;border-bottom:1px solid var(--line);background:none;border-radius:0}
 .staff-page .overview-heading{margin:0;gap:8px;min-height:40px;align-items:center}
 .staff-page .overview-heading h2{font-size:12px;font-weight:400;color:var(--muted);flex:1}
 .staff-page .overview-heading>.metric-help{display:none}
 .staff-page #overviewCounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:8px}
 .staff-page .overview-metric{padding:10px 4px;gap:6px;border-radius:8px;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center}
 .staff-page .overview-metric span{font-size:9px;white-space:nowrap}.staff-page .overview-metric strong{font-size:21px}
 .staff-page .staff-content{padding:0;border:0;background:none;border-radius:0}
 .staff-page .schedule-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;margin:0 0 10px}
 .staff-page .day-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;min-width:0}
 .staff-page #calendarDateButton{grid-column:2;grid-row:1;min-width:0;font-size:14px;font-weight:600;border:0;background:var(--surface)}
 .staff-page #previousDay{grid-column:1;grid-row:1;padding:8px}.staff-page #nextDay{grid-column:3;grid-row:1;padding:8px}
 .staff-page #today{display:none}
 .staff-page .toolbar-end{display:block}.staff-page #lastUpdated{display:none}
 .staff-page #refresh{display:block;width:44px;height:44px;overflow:hidden;font-size:0;padding:0;text-align:center}
 .staff-page #refresh::before{content:'↻';font-size:23px;line-height:1}
 .staff-page .mobile-filterbar{align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
 .staff-page #mobileFilterToggle{min-width:86px;font-size:13px}
 .staff-page .mobile-schedule-mode{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--surface-inset)}
 .staff-page .mobile-schedule-mode button{min-height:44px;padding:8px 12px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12px}
 .staff-page .mobile-schedule-mode button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
 .staff-page:not([data-view=calendar]) .mobile-schedule-mode{display:none}
 .staff-page:not([data-view=calendar]) .schedule-toolbar{display:none}
 .staff-page .results-heading{margin:0 0 10px;min-height:0;font-size:11px;display:block}
 .staff-page .results-context{gap:6px}.staff-page .selection-summary{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:4px 0;margin:0;font-size:11px}
 .staff-page .selection-scope{display:none}.staff-page .context-metric{font-size:11px;gap:5px;min-height:28px}
 .staff-page #calendarLegend{display:none}.staff-page #listStatus{margin:0;font-size:12px}
 .staff-page #calendarHint,.staff-page #calendarScroll{display:none}
 .staff-page .mobile-room-tabs{display:flex;overflow-x:auto;gap:6px;margin:0 -16px 10px;padding:0 16px 4px;scrollbar-width:none;scroll-padding-inline:16px}
 .staff-page .mobile-room-tab{display:flex;align-items:center;gap:7px;flex:0 0 auto;max-width:250px;min-height:44px;padding:9px 12px;border-radius:22px;border:1px solid var(--line);background:var(--surface);font-size:12px;color:var(--muted)}
 .staff-page .mobile-room-tab[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
 .staff-page .mobile-room-tab small{font-size:10px;opacity:.8}.staff-page .mobile-room-tab span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .staff-page #mobileSchedule{display:grid;gap:8px}
 .staff-page .mobile-agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 2px;font-size:12px}.mobile-agenda-heading>span{color:var(--muted);font-size:10px}
 .staff-page .mobile-calendar-event{display:grid;grid-template-columns:43px minmax(0,1fr) auto;gap:10px;width:100%;min-height:82px;text-align:left;padding:12px 10px;border:1px solid var(--line);border-left:3px solid var(--control-border);border-radius:11px;background:var(--surface);color:var(--ink)}
 .staff-page .mobile-calendar-event.pending{border-left-color:var(--pending-edge)}.staff-page .mobile-calendar-event.confirmed{border-left-color:var(--confirmed-edge)}.staff-page .mobile-calendar-event.blocked{border-left-color:var(--blocked-edge)}
 .staff-page .mobile-event-time{display:flex;flex-direction:column;gap:5px;font-size:12px;font-variant-numeric:tabular-nums}.staff-page .mobile-event-time span{color:var(--muted);font-size:11px}
 .staff-page .mobile-event-body{display:grid;gap:4px;min-width:0}.staff-page .mobile-event-body>strong{font-size:14px;font-weight:500;overflow-wrap:anywhere;line-height:1.3}
 .staff-page .mobile-event-room{color:var(--muted);font-size:11px;line-height:1.4}.staff-page .mobile-event-comment{color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.staff-page .mobile-event-comment-label{color:var(--subtle)}.staff-page .mobile-event-status{font-size:10px;line-height:1.4}
 .staff-page .pending .mobile-event-status{color:var(--pending-text)}.staff-page .confirmed .mobile-event-status{color:var(--confirmed-text)}.staff-page .blocked .mobile-event-status{color:var(--blocked-text)}
 .staff-page .mobile-event-value{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;align-self:start}
 .staff-page .mobile-agenda-empty{padding:24px 16px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:12px}.staff-page .mobile-agenda-empty p{font-size:13px;margin:0 0 16px;color:var(--muted)}
 .staff-page .mobile-timeline-note{font-size:10px;color:var(--muted);margin:0 0 4px}
 .staff-page .mobile-free-gap{width:100%;min-height:52px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-inset);border:1px dashed var(--line);border-radius:10px;text-align:left;color:var(--ink);font-size:12px}
 .staff-page .mobile-free-gap>small{font-size:10px;color:var(--muted)}.staff-page .mobile-free-gap>strong{font-size:22px;font-weight:400;margin-left:auto}
 .staff-page .mobile-night-segment{padding-top:8px;display:grid;gap:8px}.staff-page .mobile-night-segment h3{font-size:12px;font-weight:500;color:var(--muted);margin:0}
 .staff-page .booking-table-wrap{border:0;background:none;border-radius:0;overflow:visible}
 .staff-page .booking-table,.staff-page .booking-table tbody{display:block;width:100%}.staff-page .booking-table thead{display:none}
 .staff-page .booking-table tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 12px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
 .staff-page .booking-table td{display:block;padding:0;border:0;font-size:13px;min-width:0;line-height:1.45}
 .staff-page .booking-table td.booking-when{grid-column:1/-1;grid-row:1;padding-right:0}.staff-page .booking-when strong{font-size:14px;font-weight:500}.staff-page .booking-when small{font-size:11px;line-height:1.5;margin-top:4px}.staff-page .booking-when small:last-child{display:none}
 .staff-page .booking-table td.booking-client{grid-column:1;grid-row:2;overflow-wrap:anywhere}.staff-page .booking-client small{display:none}
 .staff-page .booking-table td.booking-price{grid-column:2;grid-row:2;font-size:14px;font-weight:500}
 .staff-page .booking-table td.booking-state{grid-column:1;grid-row:3;align-self:center}.staff-page .status-pill{font-size:10px;max-width:100%;white-space:normal}
 .staff-page .booking-table td.booking-open{grid-column:2;grid-row:3;align-self:center;text-align:right}
 .staff-page .booking-open button{min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--control-border);font-size:12px}
 .staff-page .list-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;align-items:center;font-size:10px}.staff-page .list-pagination button{min-width:0;font-size:11px;padding-inline:6px}.staff-page .list-pagination .page-number{min-width:34px;padding-inline:4px}.staff-page .list-pagination .page-step{min-width:38px}.staff-page .page-jump{flex-basis:100%;justify-content:center;margin:2px 0 0}.staff-page .page-jump input{width:64px}
 /* Dialog sheets use the visual viewport and leave the close action reachable. */
 .staff-page dialog,.staff-page #detailDialog{box-sizing:border-box;width:calc(100vw - 16px);max-width:560px;max-height:calc(var(--app-viewport-height,100dvh) - 16px);margin:8px auto;padding:16px;border:1px solid var(--line);border-radius:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:72px 100px;background:var(--surface)}
 .staff-page dialog::backdrop{background:#080a0bc9}
 .staff-page dialog .dialog-top,.staff-page #detailDialog .dialog-top{position:sticky;top:-16px;z-index:6;align-items:center;gap:12px;margin:-1px -1px 14px;padding:10px 0;background:var(--surface);border-bottom:1px solid var(--line)}
 .staff-page dialog .dialog-top h2{font-size:19px;margin:0;line-height:1.25;letter-spacing:-.4px;overflow-wrap:anywhere}
 .staff-page dialog .dialog-top button{flex:0 0 44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;font-size:24px}
 .staff-page dialog p{font-size:13px;line-height:1.5;margin-bottom:12px;overflow-wrap:anywhere}.staff-page dialog .eyebrow{font-size:8px;margin:0 0 4px;letter-spacing:1px}
 .staff-page dialog .form-status:empty{display:none}.staff-page dialog .dialog-form{gap:14px}
 .staff-page dialog .two-fields{grid-template-columns:1fr;gap:12px}
 .staff-page dialog .primary{margin-top:0}
 .staff-page dialog :is(input,select,textarea){min-width:0;max-width:100%;width:100%}
 .staff-page dialog input[type=datetime-local]{font-size:16px;min-width:0;-webkit-appearance:none;appearance:none}
 .staff-page dialog .consent{font-size:12px;line-height:1.4;min-height:44px;align-items:center}
 .staff-page .admin-room-choices{padding:0;border:0}.staff-page .admin-room-choices legend{font-size:12px;margin-bottom:8px}
 .staff-page #editRooms{display:grid;grid-template-columns:1fr;gap:6px}.staff-page #editRooms label{min-height:44px;margin:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px}
 .staff-page #editRooms label:has(input:checked){border-color:var(--accent);background:var(--selected)}
 .staff-page #editCustomer .primary-contact{padding:12px;border-radius:10px;gap:10px;grid-template-columns:1fr}
 .staff-page .edit-quote-actions{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
 .staff-page #editTotal{margin:0;font-size:13px}.staff-page #editBreakdown:empty{display:none}
 .staff-page #saveBooking,.staff-page #applyAction{position:sticky;bottom:-1px;min-height:48px;z-index:2;box-shadow:0 -8px 16px var(--surface)}
 .staff-page #detailContent{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .staff-page #detailDialog .detail-summary{padding:12px;gap:8px;border-radius:10px;grid-template-columns:1fr auto}
 .staff-page #detailDialog .detail-summary>strong{font-size:23px;grid-row:1;grid-column:2}.staff-page #detailDialog .detail-summary>p{font-size:12px;grid-column:1/-1;margin:0}
 .staff-page #detailDialog .detail-section{grid-column:1;grid-row:auto;padding:12px;border-radius:10px}
 .staff-page #detailDialog .detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .staff-page #detailDialog .detail-actions>button{font-size:12px;min-width:0;min-height:46px;margin:0;padding:10px 8px}
 .staff-page #detailDialog .detail-customer-heading{gap:10px;margin:0 0 8px}.staff-page #detailDialog .detail-customer-heading h3{font-size:13px}
 .staff-page #detailDialog .detail-readonly{gap:4px 12px}.staff-page #detailDialog .detail-customer-name{font-size:17px}
 .staff-page #detailDialog .contact-action{font-size:14px;min-height:44px;padding:10px 0;overflow-wrap:anywhere;line-height:1.4}
 .staff-page #detailDialog .customer-linked{gap:6px;padding-top:8px}.staff-page #detailDialog .customer-linked>span{font-size:11px;flex-basis:100%}
 .staff-page #detailDialog .customer-linked button{font-size:11px;min-height:44px;padding:8px 10px}
 .staff-page #detailDialog .detail-comment{font-size:12px;line-height:1.5;padding:10px;border-radius:8px}
 .staff-page #detailDialog :is(.detail-history,.detail-related)>summary{min-height:44px;display:flex;align-items:center;font-size:12px;margin:0}
 .staff-page #detailDialog .detail-form .primary-contact{grid-template-columns:1fr;padding:12px;border-radius:10px}
 .staff-page #detailDialog .detail-edit-actions{position:sticky;bottom:-1px;background:var(--surface);padding:8px 0;z-index:2}
 .staff-page #detailDialog .detail-edit-actions>button{min-height:48px;flex:1;font-size:12px;padding-inline:6px}
 .staff-page #mobileFilterDialog{max-width:440px}.staff-page #mobileFilterBody .staff-filters{display:grid;grid-template-columns:1fr;gap:14px;padding:0;border:0;margin:0}
 .staff-page #mobileFilterBody .staff-filters>label{min-width:0}.staff-page #mobileFilterBody .range-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-page #mobileFilterBody .range-filters input{max-width:100%}
 .staff-page #mobileFilterBody #applyFilters{background:var(--accent);color:var(--on-accent);min-height:48px;border:0}
 .staff-page #resetMobileFilters{width:100%;margin-top:8px;min-height:44px}
 .staff-page #calendarPicker{position:fixed!important;left:8px!important;right:8px!important;top:8px!important;bottom:auto!important;width:calc(100vw - 16px);max-width:430px;padding:16px;margin:0 auto;max-height:calc(var(--app-viewport-height,100dvh) - 16px)}
 .staff-page #calendarPicker .picker-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.staff-page #calendarPicker h2{font-size:17px;text-align:center;margin:0}
 .staff-page #calendarPicker .picker-day{min-height:48px;font-size:14px;padding:4px 0}.staff-page #calendarPicker .picker-legend,.staff-page #calendarPicker .picker-status{font-size:10px;line-height:1.4}.staff-page #calendarPicker .picker-footer{position:sticky;bottom:-16px;background:var(--surface);padding:10px 0 4px}
}
@media(max-width:380px){.staff-page{--mobile-gutter:12px}.staff-page .mobile-event-value{font-size:11px}.staff-page .mobile-calendar-event{gap:8px;padding-inline:8px}.staff-page #adminNav .nav-label{font-size:8px;letter-spacing:-.4px;white-space:normal;overflow-wrap:anywhere;line-height:1.1}.staff-page #adminNav button>span:first-child{font-size:17px;line-height:19px;width:20px}.staff-page .mobile-room-tabs{margin-inline:-12px;padding-inline:12px}}
@media(max-width:760px) and (max-height:520px){.staff-page:has(:is(input,textarea):focus) #adminNav{display:none}.staff-page dialog .dialog-top{padding-block:4px}.staff-page dialog{scroll-padding-bottom:80px}}

@media(max-width:760px){
 .staff-page dialog:not(#calendarPicker){top:var(--app-viewport-top,0px);bottom:auto}
 .staff-page.mobile-keyboard-open #adminNav{display:none}
 .staff-page.mobile-keyboard-open .settings-actions{bottom:8px}
}

@media(max-width:760px){.staff-page .mobile-event-time .mobile-event-day{font-size:10px;color:var(--muted);line-height:1.2;margin-top:-3px}}
