/* One spacing and control hierarchy across the management shell. Palette
   values inherit the selected appearance; public employee pages are excluded. */
body.bp-compact-layout {
  --bp-layout-ink: var(--inn-ink, #193047);
  --bp-layout-muted: var(--inn-muted, #526779);
  --bp-layout-line: var(--inn-line, #dbe4e9);
  --bp-layout-soft: var(--inn-surface-alt, #f3f7f8);
  --bp-layout-accent: var(--inn-action, #205b77);
}
/* Regular lettering across management UI, including styles injected by older
   modules. A layer keeps this preference ahead of their important declarations.
   Preserve authored rich notes, icon glyphs, public pages and printed documents. */
@media screen {
  @layer bp-regular-type {
    body.bp-compact-layout:not(:is(.public-employee-mode,.public-inventory-mode,.public-inspection-mode,.bp-pre-public-route)),
    body.bp-compact-layout:not(:is(.public-employee-mode,.public-inventory-mode,.public-inspection-mode,.bp-pre-public-route))
      :not(:is(.bp-note-body,.bp-note-body *,.bp-cb-check-preview,.bp-cb-check-preview *,[contenteditable],[contenteditable] *,svg,svg *,canvas,.fa,.fas,.far,.fab,.material-icons,.material-symbols-outlined)) {
      font-weight:400!important;
    }
  }
}
.bp-layout-sr-only { position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap }
body.bp-compact-layout .app > .sidebar { padding:16px 12px!important }
body.bp-compact-layout #sidebar .brand { margin:0 5px 16px!important }
body.bp-compact-layout #sidebar .bp-sidebar-logo { width:160px!important;height:48px!important;object-fit:contain }
body.bp-compact-layout #sidebar nav button { min-height:40px!important;line-height:1.35!important;margin:2px 0!important;padding:8px 10px!important;font-size:13px!important;border-radius:8px!important;transform:none!important }
.bp-nav-folder summary:focus-visible { outline:3px solid var(--inn-focus,#d19a35);outline-offset:2px }
#sidebar .bp-nav-folder { margin-top:10px;padding-top:8px;border-top:1px solid #ffffff29 }
#sidebar .bp-nav-folder[hidden] { display:none!important }
#sidebar .bp-nav-folder summary { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;list-style:none }
#sidebar .bp-nav-folder summary::-webkit-details-marker { display:none }
#sidebar .bp-nav-folder summary::after { content:'⌄';font-size:16px;transition:transform .15s }
#sidebar .bp-nav-folder[open] > summary::after { transform:rotate(180deg) }
#sidebar .bp-nav-folder summary:hover { background:#ffffff0c }
#sidebar .bp-nav-folder-body { padding:2px 0 0 6px }
body.bp-compact-layout .main > .topbar { padding:12px 22px!important;min-height:64px;gap:12px }
body.bp-compact-layout .main > .topbar #pageTitle { font-size:20px!important;line-height:1.25!important;letter-spacing:-.025em!important }
body.bp-compact-layout .main > .content { padding:20px 22px!important }
body.bp-compact-layout .view > .card { border-radius:12px!important;box-shadow:0 1px 3px #122d4010!important }
body.bp-compact-layout .view :is(.card-head,.section-head,.bp-panel-head) { gap:12px;flex-wrap:wrap }
body.bp-compact-layout .view :is(.btn,.smallbtn) { min-height:36px;line-height:1.35;font-size:13px;border-radius:8px;white-space:normal }
body.bp-compact-layout .view :is(.btn,.smallbtn):focus-visible { outline:3px solid var(--inn-focus,#ba7717);outline-offset:2px }
body.bp-compact-layout .view :is(input,select,textarea) { scroll-margin-top:90px }
body.bp-compact-layout #view-dashboard .bp-panel-head p { margin-bottom:0!important }

/* Configuration is a secondary menu, with visible keyboard focus and a
   normal document flow on small screens. Figures and warning states stay. */
body.bp-compact-layout #view-dashboard .bp-dw { overflow:visible;border-radius:12px;box-shadow:none }
body.bp-compact-layout #view-dashboard .bp-dw-header { padding:12px 16px;gap:12px }
body.bp-compact-layout #view-dashboard .bp-dw-title h2 { font-size:19px!important }
body.bp-compact-layout #view-dashboard .bp-dw-eyebrow { display:none }
body.bp-compact-layout #view-dashboard .bp-dw-title p { font-size:12px!important }
.bp-dw-customize { position:relative }
.bp-dw-customize > summary { cursor:pointer;list-style:none }
.bp-dw-customize > summary::-webkit-details-marker { display:none }
.bp-dw-customize > summary:focus-visible { outline:3px solid var(--inn-focus,#ba7717);outline-offset:2px }
.bp-dw-customize > summary svg { width:14px;transform:rotate(90deg) }
.bp-dw-customize[open] > summary svg { transform:rotate(-90deg) }
.bp-dw-customize-options { position:absolute;right:0;top:calc(100% + 6px);width:210px;z-index:25;padding:6px;background:#fff;border:1px solid var(--dw-line);border-radius:10px;box-shadow:0 12px 30px #16382624 }
.bp-dw .bp-dw-customize-options .bp-dw-button { width:100%;justify-content:flex-start;min-height:40px;border:0;font-size:13px;text-align:left }
body.bp-compact-layout #view-dashboard .bp-dw-kpis { padding:0 16px 12px }
body.bp-compact-layout #view-dashboard .bp-dw-revenue-breakdown { margin-top:auto }
.bp-dw-revenue-breakdown > summary { min-height:34px;padding:7px 12px;cursor:pointer;font-size:12px;color:var(--dw-muted);border-top:1px solid var(--dw-line) }
.bp-dw-revenue-breakdown > summary:focus-visible { outline:3px solid var(--inn-focus,#ba7717);outline-offset:-3px }
.bp-dw-revenue-breakdown .bp-dw-breakdown { padding-top:10px!important }
body.bp-compact-layout #view-dashboard .bp-dw-revenue-breakdown .bp-dw-month-pick { padding-top:10px }
body.bp-compact-layout #view-dashboard .bp-dw-sections { padding:5px 12px;border-radius:0 0 12px 12px }
body.bp-compact-layout #view-dashboard .bp-dw-sections .bp-dw-button { min-height:34px;padding:5px 8px }
body.bp-compact-layout #view-dashboard .bp-dw-arrange { display:none }
body.bp-compact-layout #view-dashboard .bp-dw-grid { align-items:stretch }
body.bp-compact-layout #view-dashboard .bp-dw { container-type:inline-size;container-name:hotel-pulse }
html body.bp-compact-layout:not(.bp-dashboard-customizing) .main > .topbar #bpDashboardTopActions { display:none!important }
body.bp-compact-layout #bpDashboardShiftTodos { padding:10px 14px;margin-bottom:12px }
body.bp-compact-layout #bpDashboardShiftTodos header { padding:4px 0 8px }
body.bp-compact-layout #bpDashboardShiftTodos h3 { font-size:16px }
body.bp-compact-layout #bpDashboardShiftTodos .bp-dashboard-shift-row { padding:8px 0 }
body.bp-compact-layout #view-dashboard .bp-hub-kpi { min-height:44px!important;padding:7px 10px!important }
body.bp-compact-layout #view-dashboard .bp-hub-kpi .bp-value { font-size:23px!important }
body.bp-compact-layout #view-dashboard .bp-daily-metrics-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:minmax(54px,auto)!important;gap:7px!important }
body.bp-compact-layout #view-dashboard .bp-daily-metric { padding:8px 10px!important;height:auto!important;min-height:54px!important }
body.bp-compact-layout #view-dashboard .bp-daily-metric strong { font-size:23px!important }
body.bp-compact-layout #view-dashboard .bp-daily-metric small { font-size:12px!important;line-height:1.3!important }
body.bp-compact-layout #view-dashboard .bp-daily-metric-icon { display:none!important }
body.bp-compact-layout #view-dashboard .bp-panel { padding:14px!important;box-shadow:none!important }
body.bp-compact-layout #view-dashboard .bp-panel-head { margin-bottom:10px!important }

@media(min-width:821px) {
  body.bp-compact-layout:not(.bp-operations-mode-active) .app { grid-template-columns:220px minmax(0,1fr)!important }
  body.bp-compact-layout #sidebar .bp-management-logout { min-height:38px!important;font-size:13px!important }
}
@media(max-width:1100px) {
  body.bp-compact-layout .main > .content { padding:16px!important }
  body.bp-compact-layout #view-dashboard .bp-dw-header { align-items:flex-start;flex-wrap:wrap }
  body.bp-compact-layout #view-dashboard .bp-dw-header-actions { justify-content:flex-start }
}
@media(max-width:820px) {
  body.bp-compact-layout #sidebar nav button,
  body.bp-compact-layout #sidebar .bp-nav-folder summary { min-height:44px!important }
  body.bp-compact-layout .main > .topbar { padding:10px 12px!important }
  body.bp-compact-layout .main > .content { padding:12px!important }
  body.bp-compact-layout .view :is(.btn,.smallbtn),
  body.bp-compact-layout #view-dashboard .bp-dw-header .bp-dw-button,
  body.bp-compact-layout #view-dashboard .bp-dw-sections .bp-dw-button,
  body.bp-compact-layout #view-dashboard .bp-dw-departments .bp-dw-button,
  body.bp-compact-layout #view-dashboard .bp-dw-month-pick :is(button,input,select),
  .bp-dw-revenue-breakdown > summary { min-height:44px!important;height:auto!important }
  body.bp-compact-layout .view :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px }
  body.bp-compact-layout #view-dashboard .bp-daily-metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important }
  body.bp-compact-layout #view-dashboard .bp-dw-header-actions { width:100%;gap:5px;flex-wrap:wrap }
  body.bp-compact-layout #view-dashboard .bp-dw-header-actions .bp-dw-button { padding:7px 9px;font-size:12px }
  body.bp-compact-layout #view-dashboard .bp-dw-header-actions .bp-dw-icon-button { padding:8px;width:40px;min-width:40px }
  body.bp-compact-layout #view-dashboard .bp-dw-card-main { grid-template-columns:minmax(0,1fr);gap:4px;padding:0 10px 8px }
  body.bp-compact-layout #view-dashboard .bp-dw-card-main .bp-dw-value { grid-column:1;grid-row:auto;font-size:26px }
  body.bp-compact-layout #view-dashboard .bp-dw-card-main .bp-dw-card-period { grid-column:1;grid-row:auto }
  .bp-dw-customize-options { right:auto;left:0;width:min(240px,calc(100vw - 60px)) }
}
@media(prefers-reduced-motion:reduce) { .bp-nav-folder summary::after { transition:none } }
@media print {
  .bp-nav-folder,.bp-dw-customize { display:none!important }
  .bp-dw-revenue-breakdown::details-content { display:block!important;content-visibility:visible!important }
}
