/* BrightPath Front Desk — authoritative operations workspace theme.
   Scoped to #bpOpsModeShell so it cannot change Workforce or management screens. */

#bpOpsModeShell {
  --fd-navy-950: #0f2138;
  --fd-navy-900: #12233f;
  --fd-navy-800: #173b63;
  --fd-blue-700: #1f4f82;
  --fd-blue-600: #245c9a;
  --fd-blue-500: #2e6fb4;
  --fd-gold-500: #c9a227;
  --fd-canvas: #f4f7fb;
  --fd-surface: #ffffff;
  --fd-surface-soft: #f8fafc;
  --fd-text: #172033;
  --fd-muted: #667085;
  --fd-border: #dce5ee;
  --fd-border-strong: #cbd8e5;
  --fd-success: #18794e;
  --fd-success-soft: #eaf7f0;
  --fd-warning: #8a5700;
  --fd-warning-soft: #fff7e6;
  --fd-danger: #b42318;
  --fd-danger-soft: #fff0ef;
  --fd-info-soft: #edf5ff;
  --fd-shadow: 0 6px 20px rgba(18, 35, 63, 0.07);
  --fd-shadow-raised: 0 12px 32px rgba(18, 35, 63, 0.11);
  display: grid !important;
  grid-template-columns: 252px minmax(0, 1fr) !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--fd-canvas) !important;
  color: var(--fd-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#bpOpsModeShell,
#bpOpsModeShell *,
#bpOpsModeShell *::before,
#bpOpsModeShell *::after { box-sizing: border-box; }

body.bp-operations-mode-active { overflow: hidden !important; background: var(--fd-canvas, #f4f7fb) !important; }
body.bp-operations-mode-active #view-operationsmode { margin: 0 !important; padding: 0 !important; max-width: none !important; }

/* Navigation */
#bpOpsModeShell .bp-ops-sidebar {
  position: relative !important;
  z-index: 20 !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100dvh !important;
  padding: 0 14px 14px !important;
  overflow: hidden !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, var(--fd-navy-950) 0%, #102944 100%) !important;
  box-shadow: 8px 0 28px rgba(8, 22, 38, .09) !important;
}

#bpOpsModeShell .bp-ops-brand {
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) 38px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 80px !important;
  padding: 14px 0 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

#bpOpsModeShell .bp-ops-logo-home {
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.14) !important;
}

#bpOpsModeShell .bp-ops-logo-home img { width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 0 !important; }
#bpOpsModeShell .bp-ops-brand-copy { min-width: 0; display: grid; gap: 2px; }
#bpOpsModeShell .bp-ops-brand-copy strong { color: #fff !important; font-size: 15px !important; line-height: 1.2 !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-ops-brand-copy span { color: #aebed0 !important; font-size: 11px !important; line-height: 1.3 !important; font-weight: 500 !important; }

#bpOpsModeShell .bp-ops-collapse {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.07) !important;
  color: #edf4fb !important;
  cursor: pointer !important;
}
#bpOpsModeShell .bp-ops-collapse svg { width: 18px; height: 18px; }
#bpOpsModeShell .bp-ops-collapse:hover { background: rgba(255,255,255,.14) !important; }

#bpOpsModeShell .bp-ops-property {
  display: grid !important;
  gap: 6px !important;
  margin: 14px 0 12px !important;
  padding: 0 !important;
}
#bpOpsModeShell .bp-ops-property label {
  display: block !important;
  margin: 0 4px !important;
  color: #aebed0 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
#bpOpsModeShell .bp-ops-property select {
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 34px 0 12px !important;
  border: 1px solid rgba(255,255,255,.17) !important;
  border-radius: 10px !important;
  background-color: rgba(255,255,255,.09) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

#bpOpsModeShell .bp-ops-nav {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-height: 0 !important;
  padding: 0 2px 10px !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.18) transparent !important;
}
#bpOpsModeShell .bp-ops-nav-group {
  display: block !important;
  margin: 14px 10px 5px !important;
  color: #90a5ba !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
#bpOpsModeShell .bp-ops-nav button {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #d6dee9 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 550 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
#bpOpsModeShell .bp-ops-nav button:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; transform: translateX(1px); }
#bpOpsModeShell .bp-ops-nav button.on {
  border-color: rgba(255,255,255,.16) !important;
  background: #fff !important;
  color: var(--fd-navy-800) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.15) !important;
  font-weight: 700 !important;
}
#bpOpsModeShell .bp-ops-nav-icon { display: grid !important; place-items: center !important; width: 22px !important; height: 22px !important; color: currentColor !important; }
#bpOpsModeShell .bp-ops-nav-icon svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#bpOpsModeShell .bp-ops-nav button>b {
  display: inline-grid !important;
  place-items: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #f04438 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}
#bpOpsModeShell .bp-ops-nav button>b:empty { display: none !important; }

#bpOpsModeShell .bp-ops-exit {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 10px 0 0 !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.05) !important;
  color: #d6dee9 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: left !important;
}
#bpOpsModeShell .bp-ops-exit:hover { background: rgba(255,255,255,.11) !important; color: #fff !important; }

/* Main workspace and scope bar */
#bpOpsModeShell .bp-ops-workspace {
  min-width: 0 !important;
  height: 100dvh !important;
  padding: 0 24px 30px !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  background: var(--fd-canvas) !important;
  scroll-padding-top: 92px !important;
}
#bpOpsModeShell .bp-ops-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 14 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 84px !important;
  margin: 0 -24px 22px !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(203,216,229,.92) !important;
  border-radius: 0 !important;
  background: rgba(244,247,251,.92) !important;
  box-shadow: 0 1px 0 rgba(18,35,63,.02) !important;
  backdrop-filter: blur(16px) !important;
}
#bpOpsModeShell .bp-ops-top-heading { min-width: 0; }
#bpOpsModeShell .bp-ops-eyebrow {
  display: block !important;
  margin-bottom: 3px !important;
  color: var(--fd-blue-600) !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
#bpOpsModeShell .bp-ops-topbar h2 {
  display: block !important;
  margin: 0 !important;
  color: var(--fd-text) !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}
#bpOpsModeShell .bp-ops-topbar p {
  display: block !important;
  margin: 3px 0 0 !important;
  color: var(--fd-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 450 !important;
}
#bpOpsModeShell .bp-ops-top-actions { display: flex !important; align-items: end !important; gap: 10px !important; flex: 0 0 auto !important; }
#bpOpsModeShell .bp-ops-date-control { display: grid !important; gap: 4px !important; margin: 0 !important; }
#bpOpsModeShell .bp-ops-date-control span { color: var(--fd-muted) !important; font-size: 11px !important; line-height: 1.2 !important; font-weight: 600 !important; }
#bpOpsModeShell .bp-ops-date-control input,
#bpOpsModeShell .bp-ops-top-actions .btn {
  min-height: 42px !important;
  margin: 0 !important;
  border: 1px solid var(--fd-border-strong) !important;
  border-radius: 10px !important;
  background: var(--fd-surface) !important;
  color: var(--fd-text) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(18,35,63,.04) !important;
}
#bpOpsModeShell .bp-ops-date-control input { padding: 0 11px !important; }
#bpOpsModeShell .bp-ops-refresh { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; padding: 0 14px !important; }
#bpOpsModeShell .bp-ops-refresh svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
#bpOpsModeShell .bp-ops-refresh:hover { border-color: var(--fd-blue-600) !important; color: var(--fd-blue-600) !important; }
#bpOpsModeShell .bp-ops-refresh[disabled] svg { animation: fd-spin .8s linear infinite; }
#bpOpsModeShell .bp-ops-mobile-exit { display: none !important; }
@keyframes fd-spin { to { transform: rotate(360deg); } }

/* Views, welcome and cards */
#bpOpsModeShell .bp-ops-view { display: none !important; width: 100% !important; max-width: 1480px !important; margin: 0 auto !important; }
#bpOpsModeShell .bp-ops-view.on { display: block !important; }
#bpOpsModeShell .bp-ops-welcome {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  min-height: 142px !important;
  margin: 0 0 16px !important;
  padding: 25px 28px !important;
  overflow: hidden !important;
  border: 1px solid #24496f !important;
  border-radius: 18px !important;
  background: linear-gradient(120deg, var(--fd-navy-900) 0%, #173f68 72%, #21537f 100%) !important;
  color: #fff !important;
  box-shadow: var(--fd-shadow-raised) !important;
}
#bpOpsModeShell .bp-ops-welcome::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(255,255,255,.035), 0 0 0 92px rgba(255,255,255,.025);
  pointer-events: none;
}
#bpOpsModeShell .bp-ops-welcome-copy { position: relative; z-index: 1; max-width: 690px; }
#bpOpsModeShell .bp-ops-welcome-copy>span { display: block; margin-bottom: 6px; color: #e5c85f !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; }
#bpOpsModeShell .bp-ops-welcome h3 { margin: 0 !important; color: #fff !important; font-size: 24px !important; line-height: 1.2 !important; font-weight: 700 !important; letter-spacing: -.02em !important; }
#bpOpsModeShell .bp-ops-welcome p { margin: 7px 0 0 !important; color: #d7e3ef !important; font-size: 13px !important; line-height: 1.55 !important; }
#bpOpsModeShell .bp-ops-welcome .btn { position: relative; z-index: 1; flex: 0 0 auto; min-height: 44px !important; padding: 0 16px !important; border: 1px solid rgba(255,255,255,.16) !important; border-radius: 11px !important; background: #fff !important; color: var(--fd-navy-800) !important; font-size: 13px !important; font-weight: 700 !important; box-shadow: 0 8px 22px rgba(0,0,0,.15) !important; }

#bpOpsModeShell .bp-ops-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
}
#bpOpsModeShell .bp-ops-kpi {
  position: relative !important;
  min-height: 116px !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  overflow: hidden !important;
  border: 1px solid var(--fd-border) !important;
  border-radius: 14px !important;
  background: var(--fd-surface) !important;
  box-shadow: 0 2px 8px rgba(18,35,63,.04) !important;
  text-align: left !important;
}
#bpOpsModeShell .bp-ops-kpi::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--fd-blue-600); }
#bpOpsModeShell .bp-ops-kpi.danger::before { background: var(--fd-danger); }
#bpOpsModeShell .bp-ops-kpi.warning::before { background: #d58a00; }
#bpOpsModeShell .bp-ops-kpi.review::before { background: #7f56d9; }
#bpOpsModeShell .bp-ops-kpi>span { display: block !important; color: var(--fd-muted) !important; font-size: 12px !important; line-height: 1.35 !important; font-weight: 600 !important; }
#bpOpsModeShell .bp-ops-kpi>strong { display: block !important; margin: 7px 0 1px !important; color: var(--fd-text) !important; font-size: 30px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: -.03em !important; }
#bpOpsModeShell .bp-ops-kpi>small { display: block !important; color: var(--fd-muted) !important; font-size: 11px !important; line-height: 1.35 !important; font-weight: 450 !important; }

#bpOpsModeShell .bp-ops-home-grid { display: grid !important; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr) !important; gap: 14px !important; margin: 0 0 14px !important; }
#bpOpsModeShell .bp-ops-card,
#bpOpsModeShell .bp-ops-activity {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid var(--fd-border) !important;
  border-radius: 14px !important;
  background: var(--fd-surface) !important;
  box-shadow: 0 2px 9px rgba(18,35,63,.045) !important;
}
#bpOpsModeShell .bp-ops-card + .bp-ops-card { margin-top: 14px !important; }
#bpOpsModeShell .bp-ops-home-grid .bp-ops-card + .bp-ops-card { margin-top: 0 !important; }
#bpOpsModeShell .bp-ops-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #edf1f5 !important;
}
#bpOpsModeShell .bp-ops-card-head h3 { margin: 0 !important; color: var(--fd-text) !important; font-size: 16px !important; line-height: 1.35 !important; font-weight: 700 !important; letter-spacing: -.01em !important; }
#bpOpsModeShell .bp-ops-card-head p { margin: 4px 0 0 !important; color: var(--fd-muted) !important; font-size: 12px !important; line-height: 1.45 !important; font-weight: 450 !important; }
#bpOpsModeShell .bp-ops-card .smallbtn,
#bpOpsModeShell .bp-ops-card-head .smallbtn {
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid var(--fd-border-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--fd-blue-600) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
}
#bpOpsModeShell .bp-ops-card .smallbtn:hover { border-color: var(--fd-blue-600) !important; background: var(--fd-info-soft) !important; }

#bpOpsModeShell .bp-ops-activity { display: block !important; height: auto !important; margin-top: 14px !important; overflow: visible !important; }
#bpOpsModeShell .bp-ops-activity-item { display: grid !important; grid-template-columns: 10px minmax(0,1fr) auto !important; align-items: start !important; gap: 10px !important; min-height: 0 !important; padding: 10px 0 !important; border-bottom: 1px solid #edf1f5 !important; font-size: 12px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-ops-activity-item:last-child { border-bottom: 0 !important; }

#bpOpsModeShell .bp-ops-attn,
#bpOpsModeShell .bp-ops-audit-mini,
#bpOpsModeShell .bp-ops-status-grid>*,
#bpOpsModeShell .bp-ops-simple-list>* {
  min-height: 48px !important;
  padding: 11px 12px !important;
  border: 1px solid #e5ebf1 !important;
  border-radius: 10px !important;
  background: var(--fd-surface-soft) !important;
  color: var(--fd-text) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
#bpOpsModeShell .bp-ops-status-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 10px !important; }

/* Forms, filters and tables */
#bpOpsModeShell .bp-ops-filter-row,
#bpOpsModeShell .bp-ops-form-actions { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
#bpOpsModeShell .field { display: grid !important; gap: 6px !important; min-width: 0 !important; }
#bpOpsModeShell .field label,
#bpOpsModeShell .bp-ops-entry-form label,
#bpOpsModeShell .bp-shift-close label { color: #455468 !important; font-size: 12px !important; line-height: 1.35 !important; font-weight: 600 !important; }
#bpOpsModeShell input,
#bpOpsModeShell select,
#bpOpsModeShell textarea {
  min-height: 42px !important;
  border: 1px solid var(--fd-border-strong) !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--fd-text) !important;
  font: inherit !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
#bpOpsModeShell input,
#bpOpsModeShell textarea { padding: 9px 11px !important; }
#bpOpsModeShell select { padding: 0 32px 0 11px !important; }
#bpOpsModeShell textarea { min-height: 84px !important; resize: vertical !important; }
#bpOpsModeShell input:focus,
#bpOpsModeShell select:focus,
#bpOpsModeShell textarea:focus { outline: 3px solid rgba(36,92,154,.14) !important; border-color: var(--fd-blue-600) !important; }
#bpOpsModeShell .btn.primary { min-height: 42px !important; padding: 0 15px !important; border: 1px solid var(--fd-blue-600) !important; border-radius: 10px !important; background: var(--fd-blue-600) !important; color: #fff !important; font-size: 13px !important; font-weight: 650 !important; box-shadow: 0 4px 12px rgba(36,92,154,.18) !important; }
#bpOpsModeShell .btn.primary:hover { background: var(--fd-blue-700) !important; }
#bpOpsModeShell .empty { min-height: 76px !important; padding: 20px !important; border: 1px dashed var(--fd-border-strong) !important; border-radius: 11px !important; background: var(--fd-surface-soft) !important; color: var(--fd-muted) !important; font-size: 13px !important; line-height: 1.5 !important; text-align: center !important; }
#bpOpsModeShell .tablewrap,
#bpOpsModeShell .bp-ops-sheet-wrap,
#bpOpsModeShell .bp-month-ledger-wrap { max-width: 100% !important; overflow: auto !important; border: 1px solid var(--fd-border) !important; border-radius: 11px !important; background: #fff !important; -webkit-overflow-scrolling: touch; }
#bpOpsModeShell table { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; color: var(--fd-text) !important; font-size: 12px !important; line-height: 1.4 !important; }
#bpOpsModeShell th { position: sticky; top: 0; z-index: 2; padding: 11px 12px !important; border-bottom: 1px solid var(--fd-border-strong) !important; background: #f6f8fb !important; color: #455468 !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .025em !important; text-align: left !important; white-space: nowrap !important; }
#bpOpsModeShell td { padding: 11px 12px !important; border-bottom: 1px solid #edf1f5 !important; color: var(--fd-text) !important; font-size: 12px !important; vertical-align: middle !important; }
#bpOpsModeShell tr:last-child td { border-bottom: 0 !important; }
#bpOpsModeShell tbody tr:hover td { background: #f8fbff !important; }

/* Shift workspace */
#bpOpsModeShell .bp-shift-command { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; margin: 0 0 14px !important; padding: 16px !important; border: 1px solid var(--fd-border) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 2px 9px rgba(18,35,63,.045) !important; }
#bpOpsModeShell .bp-shift-command-copy span { color: var(--fd-blue-600) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .08em !important; }
#bpOpsModeShell .bp-shift-command-copy h3 { margin: 3px 0 !important; color: var(--fd-text) !important; font-size: 18px !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-shift-command-copy p { margin: 0 !important; color: var(--fd-muted) !important; font-size: 12px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-shift-command-controls { display: flex !important; align-items: end !important; gap: 8px !important; flex-wrap: wrap !important; }
#bpOpsModeShell .bp-shift-now { display: grid !important; gap: 2px !important; min-width: 132px !important; min-height: 42px !important; padding: 7px 10px !important; border: 1px solid var(--fd-border) !important; border-radius: 10px !important; background: var(--fd-surface-soft) !important; }
#bpOpsModeShell .bp-shift-now span { color: var(--fd-muted) !important; font-size: 10px !important; }
#bpOpsModeShell .bp-shift-now b { color: var(--fd-text) !important; font-size: 12px !important; }
#bpOpsModeShell .bp-shift-operator-bar { display: grid !important; grid-template-columns: auto minmax(240px,1fr) auto !important; align-items: center !important; gap: 16px !important; margin: 0 0 14px !important; padding: 14px 16px !important; border: 1px solid var(--fd-border) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 2px 9px rgba(18,35,63,.04) !important; }
#bpOpsModeShell .bp-shift-operator-clock span { color: var(--fd-muted) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .06em !important; }
#bpOpsModeShell .bp-shift-operator-clock strong { margin-top: 2px !important; color: var(--fd-text) !important; font-size: 15px !important; }
#bpOpsModeShell .bp-shift-operator-progress>div:first-child { display: flex !important; justify-content: space-between !important; gap: 10px !important; }
#bpOpsModeShell .bp-shift-operator-progress b,
#bpOpsModeShell .bp-shift-operator-progress span { font-size: 12px !important; }
#bpOpsModeShell .bp-shift-progress-track { height: 7px !important; margin-top: 7px !important; border-radius: 999px !important; background: #e8eef4 !important; overflow: hidden !important; }
#bpOpsModeShell .bp-shift-progress-track i { display: block !important; height: 100% !important; border-radius: inherit !important; background: linear-gradient(90deg,var(--fd-blue-600),#3a86d2) !important; }
#bpOpsModeShell .bp-shift-operator-actions { display: flex !important; gap: 7px !important; flex-wrap: wrap !important; }

#bpOpsModeShell .bp-shift-focus,
#bpOpsModeShell .bp-shift-scheduled-panel { margin: 0 0 14px !important; padding: 16px !important; border: 1px solid #cfddea !important; border-radius: 14px !important; background: #f8fbff !important; }
#bpOpsModeShell .bp-shift-focus-head,
#bpOpsModeShell .bp-shift-scheduled-head { display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 12px !important; margin: 0 0 10px !important; }
#bpOpsModeShell .bp-shift-focus-head span,
#bpOpsModeShell .bp-shift-scheduled-head span { color: var(--fd-blue-600) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .08em !important; }
#bpOpsModeShell .bp-shift-focus-head h4,
#bpOpsModeShell .bp-shift-scheduled-head h4 { margin: 2px 0 0 !important; color: var(--fd-text) !important; font-size: 16px !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-shift-focus-head small { color: var(--fd-muted) !important; font-size: 11px !important; }
#bpOpsModeShell .bp-shift-focus-list { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px !important; }
#bpOpsModeShell .bp-shift-focus-item { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-height: 64px !important; padding: 11px 12px !important; border: 1px solid var(--fd-border) !important; border-radius: 10px !important; background: #fff !important; }
#bpOpsModeShell .bp-shift-focus-copy span { color: var(--fd-muted) !important; font-size: 10px !important; }
#bpOpsModeShell .bp-shift-focus-copy b { display: block !important; margin-top: 3px !important; color: var(--fd-text) !important; font-size: 13px !important; line-height: 1.4 !important; }
#bpOpsModeShell .bp-shift-done-quick { min-height: 36px !important; padding: 0 11px !important; border: 1px solid var(--fd-success) !important; border-radius: 9px !important; background: var(--fd-success) !important; color: #fff !important; font-size: 12px !important; font-weight: 650 !important; }
#bpOpsModeShell .bp-shift-kpis { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 10px !important; min-width: 0 !important; max-width: none !important; margin: 0 0 14px !important; }
#bpOpsModeShell .bp-shift-kpis>div { min-height: 80px !important; padding: 13px !important; border: 1px solid var(--fd-border) !important; border-radius: 11px !important; background: #fff !important; text-align: left !important; }
#bpOpsModeShell .bp-shift-kpis strong { display: block !important; color: var(--fd-text) !important; font-size: 24px !important; line-height: 1.05 !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-shift-kpis span { display: block !important; margin-top: 4px !important; color: var(--fd-muted) !important; font-size: 11px !important; }
#bpOpsModeShell .bp-shift-layout { display: grid !important; grid-template-columns: minmax(0,1.55fr) minmax(300px,.7fr) !important; gap: 14px !important; }
#bpOpsModeShell .bp-shift-group { margin: 0 0 12px !important; padding: 14px !important; border: 1px solid var(--fd-border) !important; border-radius: 13px !important; background: #fff !important; box-shadow: 0 2px 8px rgba(18,35,63,.035) !important; }
#bpOpsModeShell .bp-shift-group-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 0 0 8px !important; }
#bpOpsModeShell .bp-shift-group-head h4 { margin: 0 !important; color: var(--fd-text) !important; font-size: 15px !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-shift-group-head span { min-width: 36px !important; padding: 3px 8px !important; border-radius: 999px !important; background: #eef3f8 !important; color: var(--fd-muted) !important; font-size: 11px !important; font-weight: 650 !important; text-align: center !important; }
#bpOpsModeShell .bp-shift-item { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: center !important; gap: 14px !important; min-height: 78px !important; padding: 12px 4px !important; border: 0 !important; border-top: 1px solid #edf1f5 !important; background: transparent !important; }
#bpOpsModeShell .bp-shift-item:first-of-type { border-top: 0 !important; }
#bpOpsModeShell .bp-shift-item-main>b { display: block !important; margin-top: 4px !important; color: var(--fd-text) !important; font-size: 13px !important; line-height: 1.45 !important; font-weight: 650 !important; }
#bpOpsModeShell .bp-shift-item-main>small { display: block !important; margin-top: 4px !important; color: var(--fd-muted) !important; font-size: 11px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-shift-item-top { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; }
#bpOpsModeShell .bp-shift-state,
#bpOpsModeShell .bp-shift-time,
#bpOpsModeShell .bp-shift-item em { display: inline-flex !important; align-items: center !important; min-height: 22px !important; padding: 2px 7px !important; border-radius: 999px !important; background: #eef3f8 !important; color: #526274 !important; font-size: 10px !important; line-height: 1 !important; font-weight: 650 !important; font-style: normal !important; }
#bpOpsModeShell .bp-shift-item-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 6px !important; flex-wrap: wrap !important; max-width: 430px !important; }
#bpOpsModeShell .bp-shift-item-actions button,
#bpOpsModeShell .bp-shift-operator-actions button { min-height: 36px !important; margin: 0 !important; padding: 0 10px !important; border: 1px solid var(--fd-border-strong) !important; border-radius: 9px !important; background: #fff !important; color: #455468 !important; font-size: 11px !important; font-weight: 650 !important; white-space: nowrap !important; }
#bpOpsModeShell .bp-shift-item-actions .bp-shift-action-done { border-color: #abd8c1 !important; background: var(--fd-success-soft) !important; color: var(--fd-success) !important; }
#bpOpsModeShell .bp-shift-item-actions button[onclick*="'Issue'"] { border-color: #efc1bd !important; background: var(--fd-danger-soft) !important; color: var(--fd-danger) !important; }
#bpOpsModeShell .bp-shift-item-actions button[onclick*="'N/A'"] { background: #f4f6f8 !important; color: #526274 !important; }
#bpOpsModeShell .bp-shift-item-actions button[onclick*="'Carry Forward'"] { border-color: #d8cff3 !important; background: #f6f2ff !important; color: #6941c6 !important; }
#bpOpsModeShell .bp-shift-journal { position: sticky !important; top: 102px !important; height: max-content !important; min-width: 0 !important; padding: 16px !important; border: 1px solid var(--fd-border) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 2px 9px rgba(18,35,63,.045) !important; }
#bpOpsModeShell .bp-shift-journal-head { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 10px !important; }
#bpOpsModeShell .bp-shift-journal-head h4 { margin: 0 !important; color: var(--fd-text) !important; font-size: 16px !important; font-weight: 700 !important; }
#bpOpsModeShell .bp-shift-journal-head span { display: block !important; margin-top: 4px !important; color: var(--fd-muted) !important; font-size: 11px !important; line-height: 1.4 !important; }
#bpOpsModeShell .bp-shift-journal-add { display: grid !important; gap: 8px !important; margin-top: 12px !important; }
#bpOpsModeShell .bp-shift-journal-list { display: grid !important; gap: 8px !important; max-height: 330px !important; margin-top: 12px !important; overflow: auto !important; }
#bpOpsModeShell .bp-shift-journal-list>div { padding: 10px !important; border: 1px solid #e5ebf1 !important; border-radius: 9px !important; background: var(--fd-surface-soft) !important; }
#bpOpsModeShell .bp-shift-journal-list time,
#bpOpsModeShell .bp-shift-journal-list small { color: var(--fd-muted) !important; font-size: 10px !important; }
#bpOpsModeShell .bp-shift-journal-list b { display: block !important; margin-top: 2px !important; color: var(--fd-text) !important; font-size: 12px !important; }
#bpOpsModeShell .bp-shift-journal-list p { margin: 5px 0 !important; color: #455468 !important; font-size: 12px !important; line-height: 1.45 !important; }

/* Reservation, cash, pool, shuttle, time-card and audit records */
#bpOpsModeShell .bp-fd-reservation-list,
#bpOpsModeShell .bp-time-card-grid { display: grid !important; gap: 10px !important; }
#bpOpsModeShell .bp-fd-reservation-row,
#bpOpsModeShell .bp-fd-reservation-card,
#bpOpsModeShell .bp-time-card-person,
#bpOpsModeShell .bp-shuttle-catchup-card,
#bpOpsModeShell .bp-audit-shift-detail { padding: 14px !important; border: 1px solid var(--fd-border) !important; border-radius: 12px !important; background: #fff !important; box-shadow: 0 2px 7px rgba(18,35,63,.035) !important; }
#bpOpsModeShell .bp-fd-reservation-guest,
#bpOpsModeShell .bp-fd-reservation-room,
#bpOpsModeShell .bp-fd-reservation-time,
#bpOpsModeShell .bp-fd-reservation-meta,
#bpOpsModeShell .bp-fd-reservation-notes { color: var(--fd-text) !important; font-size: 12px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-cash-form-callout,
#bpOpsModeShell .bp-shuttle-warning,
#bpOpsModeShell .bp-audit-warning { margin: 10px 0 !important; padding: 11px 12px !important; border: 1px solid #ead3a7 !important; border-radius: 10px !important; background: var(--fd-warning-soft) !important; color: #704800 !important; font-size: 12px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-shuttle-kpis,
#bpOpsModeShell .bp-time-card-kpis,
#bpOpsModeShell .bp-month-summary { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 10px !important; margin: 0 0 14px !important; }

/* Accessible interaction states */
#bpOpsModeShell button:focus-visible,
#bpOpsModeShell a:focus-visible,
#bpOpsModeShell select:focus-visible,
#bpOpsModeShell input:focus-visible,
#bpOpsModeShell textarea:focus-visible { outline: 3px solid rgba(65,138,214,.42) !important; outline-offset: 2px !important; }
#bpOpsModeShell button:disabled { cursor: wait !important; opacity: .7 !important; }

/* Intentional compact sidebar, retained as a user choice. */
#bpOpsModeShell.sidebar-collapsed { grid-template-columns: 76px minmax(0,1fr) !important; }
#bpOpsModeShell.sidebar-collapsed .bp-ops-sidebar { padding-left: 10px !important; padding-right: 10px !important; }
#bpOpsModeShell.sidebar-collapsed .bp-ops-brand { grid-template-columns: 1fr !important; justify-items: center !important; }
#bpOpsModeShell.sidebar-collapsed .bp-ops-logo-home,
#bpOpsModeShell.sidebar-collapsed .bp-ops-brand-copy,
#bpOpsModeShell.sidebar-collapsed .bp-ops-property,
#bpOpsModeShell.sidebar-collapsed .bp-ops-nav-group,
#bpOpsModeShell.sidebar-collapsed .bp-ops-nav button>span:not(.bp-ops-nav-icon),
#bpOpsModeShell.sidebar-collapsed .bp-ops-nav button>b,
#bpOpsModeShell.sidebar-collapsed .bp-ops-exit>span { display: none !important; }
#bpOpsModeShell.sidebar-collapsed .bp-ops-collapse { display: grid !important; }
#bpOpsModeShell.sidebar-collapsed .bp-ops-nav button,
#bpOpsModeShell.sidebar-collapsed .bp-ops-exit { grid-template-columns: 1fr !important; justify-items: center !important; padding-left: 0 !important; padding-right: 0 !important; }

@media (max-width: 1180px) {
  #bpOpsModeShell { grid-template-columns: 220px minmax(0,1fr) !important; }
  #bpOpsModeShell .bp-ops-brand { grid-template-columns: 42px minmax(0,1fr) 36px !important; gap: 8px !important; }
  #bpOpsModeShell .bp-ops-logo-home { width: 42px !important; height: 42px !important; }
  #bpOpsModeShell .bp-ops-brand-copy strong { font-size: 14px !important; }
  #bpOpsModeShell .bp-ops-workspace { padding-left: 18px !important; padding-right: 18px !important; }
  #bpOpsModeShell .bp-ops-topbar { margin-left: -18px !important; margin-right: -18px !important; padding-left: 18px !important; padding-right: 18px !important; }
  #bpOpsModeShell .bp-ops-home-grid,
  #bpOpsModeShell .bp-shift-layout { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-journal { position: static !important; }
  #bpOpsModeShell .bp-ops-status-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
  body.bp-operations-mode-active { overflow: auto !important; }
  body.bp-operations-mode-active #bpAiLaunch,
  body.bp-operations-mode-active #bpMobileBottomNav,
  body.bp-operations-mode-active #bpMobileOverlay { display: none !important; }
  #bpOpsModeShell,
  #bpOpsModeShell.sidebar-collapsed { display: block !important; width: 100% !important; height: auto !important; min-height: 100dvh !important; overflow: visible !important; }
  #bpOpsModeShell .bp-ops-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas: "brand property" "nav nav" !important;
    gap: 8px 12px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 10px 9px !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 8px 24px rgba(8,22,38,.16) !important;
  }
  #bpOpsModeShell .bp-ops-brand { grid-area: brand !important; display: grid !important; grid-template-columns: 38px minmax(0,1fr) !important; min-height: 42px !important; padding: 0 !important; border: 0 !important; }
  #bpOpsModeShell .bp-ops-logo-home { display: grid !important; width: 38px !important; height: 38px !important; }
  #bpOpsModeShell .bp-ops-brand-copy { display: grid !important; }
  #bpOpsModeShell .bp-ops-brand-copy strong { font-size: 13px !important; }
  #bpOpsModeShell .bp-ops-brand-copy span { font-size: 10px !important; }
  #bpOpsModeShell .bp-ops-collapse { display: none !important; }
  #bpOpsModeShell .bp-ops-property { grid-area: property !important; display: grid !important; width: min(42vw,220px) !important; margin: 0 !important; }
  #bpOpsModeShell .bp-ops-property label { margin: 0 !important; font-size: 9px !important; }
  #bpOpsModeShell .bp-ops-property select { display: block !important; min-height: 38px !important; font-size: 12px !important; }
  #bpOpsModeShell .bp-ops-nav { grid-area: nav !important; display: flex !important; flex-direction: row !important; gap: 6px !important; width: calc(100vw - 20px) !important; padding: 0 0 2px !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x proximity !important; }
  #bpOpsModeShell .bp-ops-nav-group { display: none !important; }
  #bpOpsModeShell .bp-ops-nav button,
  #bpOpsModeShell.sidebar-collapsed .bp-ops-nav button { display: grid !important; grid-template-columns: 18px auto auto !important; flex: 0 0 auto !important; width: auto !important; min-width: max-content !important; min-height: 42px !important; padding: 7px 10px !important; scroll-snap-align: start !important; font-size: 12px !important; }
  #bpOpsModeShell.sidebar-collapsed .bp-ops-nav button>span:not(.bp-ops-nav-icon),
  #bpOpsModeShell.sidebar-collapsed .bp-ops-nav button>b { display: inline !important; }
  #bpOpsModeShell .bp-ops-nav-icon { width: 18px !important; height: 18px !important; }
  #bpOpsModeShell .bp-ops-nav-icon svg { width: 17px !important; height: 17px !important; }
  #bpOpsModeShell .bp-ops-exit { display: none !important; }
  #bpOpsModeShell .bp-ops-workspace { height: auto !important; min-height: calc(100dvh - 103px) !important; padding: 0 12px calc(24px + env(safe-area-inset-bottom)) !important; overflow: visible !important; }
  #bpOpsModeShell .bp-ops-topbar { position: sticky !important; top: 103px !important; min-height: 72px !important; margin: 0 -12px 14px !important; padding: 10px 12px !important; }
  #bpOpsModeShell .bp-ops-topbar h2 { font-size: 20px !important; }
  #bpOpsModeShell .bp-ops-topbar p { display: none !important; }
  #bpOpsModeShell .bp-ops-eyebrow { font-size: 9px !important; }
  #bpOpsModeShell .bp-ops-date-control span { display: none !important; }
  #bpOpsModeShell .bp-ops-date-control input { min-height: 40px !important; width: 142px !important; }
  #bpOpsModeShell .bp-ops-refresh { width: 40px !important; min-width: 40px !important; padding: 0 !important; }
  #bpOpsModeShell .bp-ops-refresh span { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
  #bpOpsModeShell .bp-ops-mobile-exit { display: grid !important; place-items: center !important; flex: 0 0 40px !important; width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--fd-border-strong) !important; border-radius: 10px !important; background: #fff !important; color: var(--fd-navy-800) !important; box-shadow: 0 1px 2px rgba(18,35,63,.04) !important; }
  #bpOpsModeShell .bp-ops-mobile-exit svg { width: 18px !important; height: 18px !important; }
  #bpOpsModeShell .bp-ops-welcome { min-height: 0 !important; padding: 20px !important; border-radius: 14px !important; }
  #bpOpsModeShell .bp-ops-welcome h3 { font-size: 20px !important; }
  #bpOpsModeShell .bp-ops-welcome .btn { display: none !important; }
  #bpOpsModeShell .bp-ops-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px !important; }
  #bpOpsModeShell .bp-ops-kpi { min-height: 96px !important; padding: 14px !important; }
  #bpOpsModeShell .bp-ops-kpi>strong { font-size: 25px !important; }
  #bpOpsModeShell .bp-shift-command { align-items: stretch !important; flex-direction: column !important; }
  #bpOpsModeShell .bp-shift-command-controls { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #bpOpsModeShell .bp-shift-command-controls>* { width: 100% !important; }
  #bpOpsModeShell .bp-shift-operator-bar { grid-template-columns: 1fr auto !important; gap: 10px !important; }
  #bpOpsModeShell .bp-shift-operator-progress { grid-column: 1/-1 !important; grid-row: 2 !important; }
  #bpOpsModeShell .bp-shift-focus-list { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-item { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-item-actions { justify-content: flex-start !important; max-width: none !important; }
  #bpOpsModeShell .bp-shift-item-actions button { min-height: 42px !important; }
  #bpOpsModeShell .bp-shuttle-kpis,
  #bpOpsModeShell .bp-time-card-kpis,
  #bpOpsModeShell .bp-month-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 520px) {
  #bpOpsModeShell .bp-ops-sidebar { grid-template-columns: 1fr !important; grid-template-areas: "brand" "property" "nav" !important; gap: 7px !important; }
  #bpOpsModeShell .bp-ops-property { width: 100% !important; }
  #bpOpsModeShell .bp-ops-property label { display: none !important; }
  #bpOpsModeShell .bp-ops-topbar { top: 142px !important; align-items: flex-end !important; gap: 8px !important; }
  #bpOpsModeShell .bp-ops-topbar h2 { font-size: 18px !important; }
  #bpOpsModeShell .bp-ops-date-control input { width: 128px !important; padding-left: 7px !important; padding-right: 7px !important; font-size: 11px !important; }
  #bpOpsModeShell .bp-ops-welcome { padding: 18px !important; }
  #bpOpsModeShell .bp-ops-welcome p { font-size: 12px !important; }
  #bpOpsModeShell .bp-ops-card,
  #bpOpsModeShell .bp-ops-activity { padding: 14px !important; border-radius: 12px !important; }
  #bpOpsModeShell .bp-ops-card-head { align-items: stretch !important; flex-direction: column !important; }
  #bpOpsModeShell .bp-ops-card-head .smallbtn { width: 100% !important; min-height: 42px !important; }
  #bpOpsModeShell .bp-ops-status-grid { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-command-controls { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-operator-bar { grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-operator-progress { grid-column: auto !important; grid-row: auto !important; }
  #bpOpsModeShell .bp-shift-operator-actions { display: grid !important; grid-template-columns: 1fr !important; }
  #bpOpsModeShell .bp-shift-kpis { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #bpOpsModeShell .bp-shift-focus-item { align-items: stretch !important; flex-direction: column !important; }
  #bpOpsModeShell .bp-shift-focus-actions { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; }
  #bpOpsModeShell .bp-shift-focus-actions button { width: 100% !important; min-height: 42px !important; }
  #bpOpsModeShell .bp-shift-item-actions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #bpOpsModeShell .bp-shift-item-actions button { width: 100% !important; white-space: normal !important; }
}

@media (prefers-reduced-motion: reduce) {
  #bpOpsModeShell *, #bpOpsModeShell *::before, #bpOpsModeShell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Shift-scoped entry permissions: the interface mirrors the database lock. */
#bpOpsModeShell .bp-ops-edit-window {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 3px !important;
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--fd-border) !important;
  border-left-width: 4px !important;
  border-radius: 11px !important;
  background: var(--fd-surface-soft) !important;
  color: var(--fd-text) !important;
}
#bpOpsModeShell .bp-ops-edit-window.open {
  border-color: #9bd6b3 !important;
  border-left-color: var(--fd-success) !important;
  background: #f0fbf5 !important;
}
#bpOpsModeShell .bp-ops-edit-window.locked {
  border-color: #d7dee8 !important;
  border-left-color: #7a8798 !important;
  background: #f7f9fc !important;
}
#bpOpsModeShell .bp-ops-edit-window.compact { margin: 2px 0 12px !important; padding: 10px 12px !important; }
#bpOpsModeShell .bp-ops-edit-window b { font-size: 12px !important; line-height: 1.35 !important; }
#bpOpsModeShell .bp-ops-edit-window span { color: var(--fd-muted) !important; font-size: 11.5px !important; line-height: 1.45 !important; }
#bpOpsModeShell .bp-ops-record-lock {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 999px !important;
  background: #f7f9fc !important;
  color: #66768a !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
#bpOpsModeShell button:disabled,
#bpOpsModeShell .smallbtn:disabled {
  cursor: not-allowed !important;
  filter: grayscale(.18) !important;
  opacity: .5 !important;
  transform: none !important;
}

/* ========================================================================== 
   Front Desk command center — final cascade
   This stylesheet is loaded after legacy portal patches. Keep every rule
   scoped to the Front Desk shell so the management dashboard is unchanged.
   ========================================================================== */

#bpOpsModeShell {
  --fd-navy-950: #0b1220;
  --fd-navy-900: #111c2f;
  --fd-navy-800: #0f172a;
  --fd-blue-700: #1d4ed8;
  --fd-blue-600: #2563eb;
  --fd-blue-500: #3b82f6;
  --fd-gold-500: #f59e0b;
  --fd-canvas: #f6f8fb;
  --fd-surface-soft: #f8fafc;
  --fd-text: #172033;
  --fd-muted: #64748b;
  --fd-border: #e2e8f0;
  --fd-border-strong: #d8e0ea;
  --fd-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
  --fd-shadow-raised: 0 10px 26px rgba(15,23,42,.10);
  grid-template-columns: 238px minmax(0,1fr) !important;
}

/* Exact visual parity with the outer BrightPath dashboard rail. */
#bpOpsModeShell .bp-ops-sidebar {
  padding: 0 11px 12px !important;
  border-right: 1px solid rgba(148,163,184,.13) !important;
  background: linear-gradient(180deg,#0b1220 0%,#111c2f 100%) !important;
  box-shadow: none !important;
}
#bpOpsModeShell .bp-ops-brand {
  grid-template-columns: 42px minmax(0,1fr) 36px !important;
  gap: 9px !important;
  min-height: 70px !important;
  padding: 10px 3px !important;
}
#bpOpsModeShell .bp-ops-logo-home { width: 42px !important; height: 42px !important; border-radius: 11px !important; }
#bpOpsModeShell .bp-ops-collapse { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; }
#bpOpsModeShell .bp-ops-property { margin: 10px 3px 9px !important; gap: 5px !important; }
#bpOpsModeShell .bp-ops-property label,
#bpOpsModeShell .bp-ops-nav-group { color: #94a3b8 !important; }
#bpOpsModeShell .bp-ops-property select { min-height: 40px !important; border-radius: 9px !important; }
#bpOpsModeShell .bp-ops-nav { gap: 1px !important; padding: 0 1px 10px !important; }
#bpOpsModeShell .bp-ops-nav-group { margin: 11px 9px 4px !important; }
#bpOpsModeShell .bp-ops-nav button {
  min-height: 40px !important;
  margin: 1px 0 !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  color: #d6dee9 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
#bpOpsModeShell .bp-ops-nav button:hover { background: rgba(255,255,255,.06) !important; }
#bpOpsModeShell .bp-ops-nav button.on {
  border-color: #e2e8f0 !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.14) !important;
  font-weight: 600 !important;
}
#bpOpsModeShell .bp-ops-nav button.on .bp-ops-nav-icon { color: #2563eb !important; }
#bpOpsModeShell .bp-ops-exit { min-height: 40px !important; margin-top: 7px !important; padding: 8px 10px !important; }

/* Use the available canvas; keep panels compact and naturally sized. */
#bpOpsModeShell .bp-ops-workspace { padding: 0 18px 24px !important; scroll-padding-top: 76px !important; }
#bpOpsModeShell .bp-ops-topbar {
  min-height: 68px !important;
  margin: 0 -18px 12px !important;
  padding: 9px 18px !important;
  gap: 12px !important;
}
#bpOpsModeShell .bp-ops-topbar h2 { font-size: 21px !important; font-weight: 650 !important; }
#bpOpsModeShell .bp-ops-topbar p { margin-top: 2px !important; }
#bpOpsModeShell .bp-ops-top-actions { gap: 7px !important; }
#bpOpsModeShell .bp-ops-date-control input,
#bpOpsModeShell .bp-ops-top-actions .btn { min-height: 40px !important; }
#bpOpsModeShell .bp-ops-view { max-width: none !important; margin: 0 !important; }
#bpOpsModeShell .bp-ops-view.on { animation: fd-view-in .16s ease-out; }
@keyframes fd-view-in { from { opacity:.5; transform:translateY(2px) } to { opacity:1; transform:none } }

#bpOpsModeShell .bp-ops-welcome {
  min-height: 96px !important;
  margin-bottom: 11px !important;
  padding: 17px 20px !important;
  border-radius: 14px !important;
  background: linear-gradient(118deg,#111c2f 0%,#173a60 72%,#21537f 100%) !important;
}
#bpOpsModeShell .bp-ops-welcome h3 { font-size: 20px !important; font-weight: 650 !important; }
#bpOpsModeShell .bp-ops-welcome p { margin-top: 4px !important; }
#bpOpsModeShell .bp-ops-welcome-copy>span { margin-bottom: 3px !important; color: #f7d56b !important; }
#bpOpsModeShell .bp-ops-welcome-actions { position:relative; z-index:1; display:flex; align-items:center; gap:9px; flex:0 0 auto; }
#bpOpsModeShell .bp-ops-shift-state { display:grid; gap:1px; min-width:150px; padding:7px 10px; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:rgba(255,255,255,.08); }
#bpOpsModeShell .bp-ops-shift-state b { color:#fff !important; font-size:12px !important; }
#bpOpsModeShell .bp-ops-shift-state span { color:#d7e3ef; font-size:10px; }

#bpOpsModeShell .bp-ops-card,
#bpOpsModeShell .bp-ops-activity {
  align-self: start !important;
  padding: 14px !important;
  border-radius: 12px !important;
  box-shadow: var(--fd-shadow) !important;
}
#bpOpsModeShell .bp-ops-card + .bp-ops-card { margin-top: 10px !important; }
#bpOpsModeShell .bp-ops-card-head { gap: 10px !important; margin-bottom: 10px !important; padding-bottom: 9px !important; }
#bpOpsModeShell .bp-ops-card-head h3 { font-size: 15px !important; font-weight: 650 !important; }
#bpOpsModeShell .bp-ops-card-head p { margin-top: 2px !important; font-size: 12px !important; }
#bpOpsModeShell .empty { min-height: 54px !important; padding: 14px !important; }
#bpOpsModeShell th { padding: 9px 10px !important; }
#bpOpsModeShell td { padding: 9px 10px !important; }
#bpOpsModeShell textarea { min-height: 72px !important; }

/* Overview command center: plan and queue on the left, live signals on the right. */
#bpOpsModeShell .bp-ops-home-command { display:grid !important; grid-template-columns:minmax(0,2.05fr) minmax(300px,.85fr) !important; gap:11px !important; align-items:start !important; }
#bpOpsModeShell .bp-ops-overview-rail { display:grid !important; gap:10px !important; align-content:start !important; min-width:0 !important; }
#bpOpsModeShell .bp-ops-overview-rail .bp-ops-card + .bp-ops-card { margin-top:0 !important; }
#bpOpsModeShell .bp-ops-plan-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; align-items:end; margin-bottom:9px; }
#bpOpsModeShell .bp-ops-plan-progress-copy { display:grid; gap:1px; }
#bpOpsModeShell .bp-ops-plan-progress-copy b { color:var(--fd-text); font-size:13px !important; }
#bpOpsModeShell .bp-ops-plan-progress-copy span { color:var(--fd-muted); font-size:11px; }
#bpOpsModeShell .bp-ops-plan-progress>strong { color:var(--fd-blue-600) !important; font-size:20px !important; line-height:1 !important; }
#bpOpsModeShell .bp-ops-plan-progress .bp-shift-progress-track { grid-column:1/-1; height:6px !important; margin-top:1px !important; }
#bpOpsModeShell .bp-ops-kpis { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:7px !important; margin-bottom:10px !important; }
#bpOpsModeShell .bp-ops-kpi { min-height:68px !important; padding:10px 11px 9px !important; border-radius:9px !important; box-shadow:none !important; }
#bpOpsModeShell .bp-ops-kpi::before { width:3px !important; }
#bpOpsModeShell .bp-ops-kpi>span { font-size:10px !important; }
#bpOpsModeShell .bp-ops-kpi>strong { margin:3px 0 0 !important; font-size:21px !important; }
#bpOpsModeShell .bp-ops-kpi>small { font-size:10px !important; }
#bpOpsModeShell .bp-ops-plan-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:10px; }
#bpOpsModeShell .bp-ops-plan-block { min-width:0; padding:10px; border:1px solid var(--fd-border); border-radius:10px; background:var(--fd-surface-soft); }
#bpOpsModeShell .bp-ops-plan-block-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
#bpOpsModeShell .bp-ops-plan-block-head b { font-size:12px !important; color:var(--fd-text); }
#bpOpsModeShell .bp-ops-plan-block-head span { padding:2px 7px; border-radius:999px; background:#e8eef6; color:#526274; font-size:10px; font-weight:650; }
#bpOpsModeShell .bp-ops-plan-list { display:grid; gap:6px; }
#bpOpsModeShell .bp-ops-plan-row { display:grid; grid-template-columns:6px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:44px; padding:7px 8px; border:1px solid #e5ebf1; border-radius:8px; background:#fff; }
#bpOpsModeShell .bp-ops-plan-row>i { width:6px; height:26px; border-radius:999px; background:#94a3b8; }
#bpOpsModeShell .bp-ops-plan-row.high>i,
#bpOpsModeShell .bp-ops-plan-row.emergency>i { background:var(--fd-danger); }
#bpOpsModeShell .bp-ops-plan-row.medium>i { background:#d58a00; }
#bpOpsModeShell .bp-ops-plan-row b { display:block; overflow:hidden; color:var(--fd-text); font-size:11.5px !important; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
#bpOpsModeShell .bp-ops-plan-row small { display:block; margin-top:2px; overflow:hidden; color:var(--fd-muted); font-size:10px !important; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
#bpOpsModeShell .bp-ops-plan-row button { min-height:30px !important; padding:0 8px !important; }
#bpOpsModeShell .bp-ops-plan-empty { min-height:44px; display:grid; place-items:center; border:1px dashed var(--fd-border-strong); border-radius:8px; color:var(--fd-muted); font-size:11px; background:#fff; }
#bpOpsModeShell .bp-ops-attention-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:1px 0 7px; padding-top:8px; border-top:1px solid #edf1f5; }
#bpOpsModeShell .bp-ops-attention-head b { font-size:12px !important; }
#bpOpsModeShell #opsAttentionList { display:grid; gap:6px; max-height:330px; overflow:auto; }
#bpOpsModeShell #opsTodayAudit,
#bpOpsModeShell #opsActivityFeed { max-height:218px; overflow:auto; }
#bpOpsModeShell .bp-ops-activity { margin-top:0 !important; }
#bpOpsModeShell .bp-ops-activity-item { grid-template-columns:64px minmax(0,1fr) !important; gap:8px !important; padding:8px 0 !important; }
#bpOpsModeShell .bp-ops-activity-item time { color:var(--fd-muted); font-size:10px; }
#bpOpsModeShell .bp-ops-overview-rail .bp-ops-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:6px !important; }
#bpOpsModeShell .bp-ops-overview-rail .bp-ops-status-grid>* { min-height:42px !important; padding:8px 9px !important; }
#bpOpsModeShell .bp-ops-duty-card { margin-top:11px !important; }
#bpOpsModeShell .bp-ops-duty-card #opsDutyBoard { max-height:290px; overflow:auto; }

/* Daily Operations keeps Morning, To-Do and progress inside one surface. */
#bpOpsModeShell .bp-daily-progress { display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; align-items:center; gap:9px; margin:0 0 10px; padding:8px 10px; border:1px solid var(--fd-border); border-radius:9px; background:var(--fd-surface-soft); }
#bpOpsModeShell .bp-daily-progress strong { color:var(--fd-blue-600) !important; font-size:16px !important; }
#bpOpsModeShell .bp-daily-progress span { color:var(--fd-muted); font-size:11px; white-space:nowrap; }
#bpOpsModeShell .bp-daily-progress .bp-shift-progress-track { margin:0 !important; }
#bpOpsModeShell .bp-daily-priority-strip { margin:0 0 10px; padding:9px 10px; border:1px solid #d7e3ef; border-radius:9px; background:#f8fbff; }
#bpOpsModeShell .bp-daily-priority-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
#bpOpsModeShell .bp-daily-priority-head b { font-size:12px !important; }
#bpOpsModeShell .bp-daily-morning-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; }
#bpOpsModeShell #opsMorningCritical:empty { display:none; }
#bpOpsModeShell .bp-ops-critical-wrap { display:grid; gap:6px; }
#bpOpsModeShell .bp-ops-critical { min-height:0 !important; padding:9px 10px !important; border-radius:8px !important; }
#bpOpsModeShell .bp-ops-simple-list { display:grid; gap:6px; }
#bpOpsModeShell .bp-ops-simple-list>* { min-height:42px !important; padding:8px 9px !important; }

/* My Shift: one progress bar, one priority board, one working queue. */
#bpOpsModeShell .bp-shift-command { margin-bottom:9px !important; padding:12px 14px !important; border-radius:12px !important; }
#bpOpsModeShell .bp-shift-command.is-active { padding-top:10px !important; padding-bottom:10px !important; }
#bpOpsModeShell .bp-shift-start-guide.is-collapsed { display:none !important; }
#bpOpsModeShell .bp-shift-operator-bar { grid-template-columns:auto minmax(220px,1fr) auto auto !important; gap:11px !important; margin-bottom:9px !important; padding:10px 12px !important; border-radius:11px !important; }
#bpOpsModeShell .bp-shift-inline-metrics { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
#bpOpsModeShell .bp-shift-inline-metrics span { display:grid; justify-items:center; min-width:54px; padding:5px 7px; border:1px solid var(--fd-border); border-radius:8px; background:var(--fd-surface-soft); color:var(--fd-muted); font-size:9px; line-height:1.2; }
#bpOpsModeShell .bp-shift-inline-metrics b { color:var(--fd-text) !important; font-size:13px !important; }
#bpOpsModeShell .bp-shift-priority-board { display:grid !important; grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr) !important; gap:9px !important; margin:0 0 9px !important; padding:11px !important; border:1px solid #cfddea !important; border-radius:11px !important; background:#f8fbff !important; }
#bpOpsModeShell .bp-shift-focus,
#bpOpsModeShell .bp-shift-scheduled-panel { min-width:0 !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; }
#bpOpsModeShell .bp-shift-scheduled-panel { padding-left:9px !important; border-left:1px solid #dce6ef !important; }
#bpOpsModeShell .bp-shift-focus-head,
#bpOpsModeShell .bp-shift-scheduled-head { margin-bottom:7px !important; }
#bpOpsModeShell .bp-shift-focus-head h4,
#bpOpsModeShell .bp-shift-scheduled-head h4 { font-size:14px !important; }
#bpOpsModeShell .bp-shift-focus-list { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:6px !important; }
#bpOpsModeShell .bp-shift-focus-item { min-height:52px !important; padding:8px 9px !important; border-radius:8px !important; }
#bpOpsModeShell .bp-shift-scheduled-list { display:grid; gap:6px; }
#bpOpsModeShell .bp-shift-scheduled-list>button { min-height:48px !important; padding:7px 8px !important; border-radius:8px !important; }
#bpOpsModeShell .bp-shift-layout { grid-template-columns:minmax(0,1.7fr) minmax(290px,.68fr) !important; gap:10px !important; align-items:start !important; }
#bpOpsModeShell .bp-shift-group { margin-bottom:8px !important; padding:10px 11px !important; border-radius:10px !important; }
#bpOpsModeShell .bp-shift-group-head { margin-bottom:3px !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:auto !important; align-items:center !important; gap:10px !important; min-height:0 !important; margin:0 !important; padding:9px 0 !important; border:0 !important; border-top:1px solid #edf1f5 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item:first-of-type { border-top:0 !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-main { display:block !important; min-width:0 !important; padding:0 !important; order:initial !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-top { padding:0 !important; order:initial !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-main>b { margin-top:3px !important; padding:0 !important; font-size:13px !important; line-height:1.35 !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-main>small,
#bpOpsModeShell .bp-shift-checklist .bp-cash-envelope-hint,
#bpOpsModeShell .bp-shift-checklist .bp-shift-exception,
#bpOpsModeShell .bp-shift-checklist .bp-shift-linked { margin:3px 0 0 !important; padding:0 !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions { display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:5px !important; max-width:430px !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; order:initial !important; }
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions button { min-height:32px !important; padding:5px 8px !important; border-radius:7px !important; font-size:10.5px !important; box-shadow:none !important; }
#bpOpsModeShell .bp-shift-journal { top:80px !important; padding:12px !important; border-radius:11px !important; }
#bpOpsModeShell .bp-shift-journal-add { margin-top:9px !important; }
#bpOpsModeShell .bp-shift-journal-list { max-height:250px !important; margin-top:9px !important; }

/* Consistent density for the remaining Front Desk sections. */
#bpOpsModeShell .bp-ops-howto { margin:0 0 10px !important; padding:9px 10px !important; gap:7px !important; border-radius:9px !important; }
#bpOpsModeShell .bp-ops-howto-step { min-height:0 !important; padding:7px 8px !important; }
#bpOpsModeShell .bp-month-toolbar { margin:8px 0 10px !important; padding:8px 10px !important; border-radius:9px !important; }
#bpOpsModeShell .bp-month-summary { gap:7px !important; margin-bottom:0 !important; }
#bpOpsModeShell .bp-month-detail-records { margin-top:9px !important; }
#bpOpsModeShell .bp-month-detail-records>summary { padding:9px 10px !important; }
#bpOpsModeShell [data-ops-panel="pool"] .bp-ops-home-grid { grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr) !important; align-items:start !important; gap:10px !important; margin-bottom:10px !important; }
#bpOpsModeShell [data-ops-panel="shuttle"] .bp-shuttle-kpis { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
#bpOpsModeShell [data-ops-panel="audit"]>.bp-ops-card { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); column-gap:10px; }
#bpOpsModeShell [data-ops-panel="audit"]>.bp-ops-card .bp-ops-card-head { grid-column:1/-1; }
#bpOpsModeShell #opsShiftAuditQueue,
#bpOpsModeShell #opsShiftAuditDetail { min-width:0; margin-top:0 !important; }
#bpOpsModeShell [data-ops-panel="audit"] .bp-ops-home-grid { align-items:start !important; gap:10px !important; }
#bpOpsModeShell #bpShiftNotesArchiveMount #view-dailyops>.hero,
#bpOpsModeShell #bpFrontDeskGuestRelationsMount #view-incidents>.hero { display:none !important; }
#bpOpsModeShell #bpShiftNotesArchiveMount #view-dailyops,
#bpOpsModeShell #bpFrontDeskGuestRelationsMount #view-incidents { padding:0 !important; margin:0 !important; max-width:none !important; }
#bpOpsModeShell #bpShiftNotesArchiveMount .grid.two,
#bpOpsModeShell #bpFrontDeskGuestRelationsMount .grid.two { align-items:start !important; gap:10px !important; }
#bpOpsModeShell #bpShiftNotesArchiveMount .card,
#bpOpsModeShell #bpFrontDeskGuestRelationsMount .card,
#bpOpsModeShell [data-ops-panel="messagecenter"] .card { padding:14px !important; border:1px solid var(--fd-border) !important; border-radius:12px !important; box-shadow:var(--fd-shadow) !important; }
#bpOpsModeShell [data-ops-panel="messagecenter"]>.hero { display:none !important; }
#bpOpsModeShell .bp-fd-reservation-form { align-items:end !important; gap:8px !important; }
#bpOpsModeShell .bp-fd-reservation-row { padding:10px 11px !important; }

/* Daily Clean is a Front Desk housekeeping workflow, never a maintenance route. */
#bpOpsModeShell [data-ops-panel="dailyclean"] { min-width:0; }
#bpOpsModeShell .bp-fd-daily-clean-context {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #cfe0f2;
  border-radius:11px;
  background:linear-gradient(135deg,#f7fbff 0%,#eef6ff 100%);
}
#bpOpsModeShell .bp-fd-daily-clean-context div { display:grid; gap:2px; }
#bpOpsModeShell .bp-fd-daily-clean-context strong { color:var(--fd-text); font-size:13px; }
#bpOpsModeShell .bp-fd-daily-clean-context span { color:var(--fd-muted); font-size:11px; line-height:1.35; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-morning-panel { display:block !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-morning-panel>.card {
  margin:0 !important;
  padding:14px !important;
  border:1px solid var(--fd-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:var(--fd-shadow) !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .section-head {
  align-items:center !important;
  gap:10px !important;
  margin-bottom:11px !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .section-head h3 { font-size:16px !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .section-head p { margin-top:2px !important; font-size:11px !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .formgrid { gap:8px !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-checklist { display:grid; gap:5px; margin-top:10px; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-checkrow {
  min-height:0 !important;
  margin:0 !important;
  padding:8px 9px !important;
  border:1px solid #e3eaf1 !important;
  border-radius:9px !important;
  background:#fff !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-checkrow.is-done { border-color:#b9dfc9 !important; background:#f1fbf4 !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-actions { justify-content:flex-end; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount #dailyCleanHistory { margin-top:10px; }

@media (max-width:1180px) {
  #bpOpsModeShell { grid-template-columns:220px minmax(0,1fr) !important; }
  #bpOpsModeShell .bp-ops-home-command,
  #bpOpsModeShell .bp-shift-priority-board { grid-template-columns:1fr !important; }
  #bpOpsModeShell .bp-shift-scheduled-panel { padding:9px 0 0 !important; border-left:0 !important; border-top:1px solid #dce6ef !important; }
  #bpOpsModeShell .bp-shift-operator-bar { grid-template-columns:auto minmax(180px,1fr) auto !important; }
  #bpOpsModeShell .bp-shift-inline-metrics { grid-column:1/-1 !important; }
  #bpOpsModeShell [data-ops-panel="shuttle"] .bp-shuttle-kpis { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width:820px) {
  #bpOpsModeShell .bp-ops-workspace { padding-left:10px !important; padding-right:10px !important; }
  #bpOpsModeShell .bp-ops-topbar { top:94px !important; min-height:58px !important; margin:0 -10px 10px !important; padding:7px 10px !important; }
  #bpOpsModeShell .bp-ops-sidebar { padding:6px 8px 7px !important; gap:5px 9px !important; }
  #bpOpsModeShell .bp-ops-brand { min-height:38px !important; }
  #bpOpsModeShell .bp-ops-property select { min-height:36px !important; }
  #bpOpsModeShell .bp-ops-nav { width:calc(100vw - 16px) !important; gap:4px !important; }
  #bpOpsModeShell .bp-ops-nav button,
  #bpOpsModeShell.sidebar-collapsed .bp-ops-nav button { min-height:42px !important; padding:7px 9px !important; }
  #bpOpsModeShell .bp-ops-welcome { padding:14px 15px !important; }
  #bpOpsModeShell .bp-ops-welcome-actions { display:none !important; }
  #bpOpsModeShell .bp-ops-plan-columns,
  #bpOpsModeShell .bp-daily-morning-grid,
  #bpOpsModeShell .bp-shift-focus-list { grid-template-columns:1fr !important; }
  #bpOpsModeShell .bp-shift-layout { grid-template-columns:1fr !important; }
  #bpOpsModeShell .bp-shift-journal { position:static !important; }
  #bpOpsModeShell .bp-shift-operator-bar { grid-template-columns:1fr auto !important; }
  #bpOpsModeShell .bp-shift-operator-progress,
  #bpOpsModeShell .bp-shift-inline-metrics { grid-column:1/-1 !important; }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item { grid-template-columns:1fr !important; }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions { justify-content:flex-start !important; max-width:none !important; }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions button { min-height:42px !important; flex:1 1 118px !important; }
  #bpOpsModeShell [data-ops-panel="pool"] .bp-ops-home-grid,
  #bpOpsModeShell [data-ops-panel="audit"]>.bp-ops-card { grid-template-columns:1fr !important; }
  #bpOpsModeShell [data-ops-panel="audit"]>.bp-ops-card .bp-ops-card-head { grid-column:auto; }
  #bpOpsModeShell .bp-fd-daily-clean-context { align-items:flex-start; }
}

@media (max-width:520px) {
  #bpOpsModeShell .bp-ops-sidebar { grid-template-columns:minmax(0,1fr) minmax(130px,42vw) !important; grid-template-areas:"brand property" "nav nav" !important; }
  #bpOpsModeShell .bp-ops-brand { grid-template-columns:34px minmax(0,1fr) !important; gap:7px !important; padding:0 !important; }
  #bpOpsModeShell .bp-ops-logo-home { width:34px !important; height:34px !important; }
  #bpOpsModeShell .bp-ops-brand-copy strong { font-size:12px !important; }
  #bpOpsModeShell .bp-ops-brand-copy span { display:none !important; }
  #bpOpsModeShell .bp-ops-property { width:100% !important; }
  #bpOpsModeShell .bp-ops-topbar { top:92px !important; min-height:56px !important; align-items:center !important; }
  #bpOpsModeShell .bp-ops-topbar h2 { font-size:17px !important; }
  #bpOpsModeShell .bp-ops-top-actions { margin-left:auto !important; }
  #bpOpsModeShell .bp-ops-date-control input { width:116px !important; min-height:36px !important; }
  #bpOpsModeShell .bp-ops-refresh,
  #bpOpsModeShell .bp-ops-mobile-exit { width:40px !important; min-width:40px !important; height:40px !important; min-height:40px !important; }
  #bpOpsModeShell .bp-ops-welcome { min-height:0 !important; padding:13px 14px !important; }
  #bpOpsModeShell .bp-ops-welcome h3 { font-size:17px !important; }
  #bpOpsModeShell .bp-ops-kpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #bpOpsModeShell .bp-daily-progress { grid-template-columns:auto 1fr !important; }
  #bpOpsModeShell .bp-daily-progress .bp-shift-progress-track { grid-column:1/-1; }
  #bpOpsModeShell .bp-ops-plan-row { grid-template-columns:5px minmax(0,1fr) !important; }
  #bpOpsModeShell .bp-ops-plan-row button { grid-column:2; width:100%; min-height:42px !important; }
  #bpOpsModeShell [data-ops-panel="shuttle"] .bp-shuttle-kpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #bpOpsModeShell .bp-fd-daily-clean-context { align-items:stretch; flex-direction:column; }
  #bpOpsModeShell .bp-fd-daily-clean-context .smallbtn { width:100%; min-height:42px !important; }
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-actions { width:100%; }
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-actions .btn { flex:1 1 100%; }
}

/* 2026-09-14 Front Desk checklist action redesign.
   One clear primary action remains visible; exception choices live in a compact menu. */
#bpOpsModeShell .bp-sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (min-width:1181px) {
  #bpOpsModeShell .bp-shift-command {
    display:grid !important;
    grid-template-columns:minmax(260px,.72fr) minmax(620px,1.28fr) !important;
    align-items:center !important;
    gap:18px !important;
    padding:12px 14px !important;
  }
  #bpOpsModeShell .bp-shift-command-controls {
    display:grid !important;
    grid-template-columns:minmax(120px,145px) 112px minmax(170px,240px) auto !important;
    align-items:end !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
  }
  #bpOpsModeShell .bp-shift-command-controls .bp-shift-now,
  #bpOpsModeShell .bp-shift-command-controls #opsShiftSelect,
  #bpOpsModeShell .bp-shift-command-controls #opsShiftEmployee,
  #bpOpsModeShell .bp-shift-command-controls .btn {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
  #bpOpsModeShell .bp-shift-layout {
    grid-template-columns:minmax(0,1fr) minmax(310px,350px) !important;
    gap:12px !important;
  }
}

#bpOpsModeShell .bp-fd-reservation-card .empty {
  min-height:52px !important;
  padding:12px 16px !important;
}

#bpOpsModeShell .bp-shift-priority-board.bp-shift-no-followups {
  grid-template-columns:minmax(0,1fr) !important;
}
#bpOpsModeShell .bp-shift-operator-actions .bp-shift-add-todo {
  border-color:#b9cee5 !important;
  background:#f7fbff !important;
  color:#245c9a !important;
}
#bpOpsModeShell .bp-shift-operator-actions .bp-shift-add-todo:hover {
  border-color:#7ea8d2 !important;
  background:#edf5ff !important;
}

#bpOpsModeShell .bp-shift-checklist .bp-shift-group {
  padding:9px 10px !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-group-head {
  min-height:32px !important;
  margin:0 !important;
  padding:0 2px 6px !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  gap:12px !important;
  min-height:54px !important;
  padding:9px 4px !important;
  overflow:visible !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item:hover {
  background:#f8fafc !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-main {
  grid-column:1 !important;
  grid-row:1 !important;
  min-width:0 !important;
  order:1 !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions {
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  flex-wrap:nowrap !important;
  order:2 !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-module,
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-action-done {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:92px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 11px !important;
  border:1px solid #2563eb !important;
  border-radius:8px !important;
  background:#2563eb !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  box-shadow:0 2px 5px rgba(37,99,235,.16) !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-module:hover,
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-action-done:hover {
  border-color:#1d4ed8 !important;
  background:#1d4ed8 !important;
  transform:translateY(-1px) !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-complete-chip {
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:0 10px !important;
  border:1px solid #a9ddbe !important;
  border-radius:999px !important;
  background:#ecfdf3 !important;
  color:#16794a !important;
  font-size:11px !important;
  font-weight:750 !important;
  white-space:nowrap !important;
}

#bpOpsModeShell .bp-shift-more {
  position:relative !important;
  flex:0 0 auto !important;
  margin:0 !important;
}
#bpOpsModeShell .bp-shift-more > summary {
  display:grid !important;
  place-items:center !important;
  width:36px !important;
  height:34px !important;
  min-width:36px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #cbd8e5 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#455468 !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1 !important;
  list-style:none !important;
  cursor:pointer !important;
  user-select:none !important;
  box-shadow:0 1px 2px rgba(18,35,63,.04) !important;
}
#bpOpsModeShell .bp-shift-more > summary::-webkit-details-marker { display:none !important; }
#bpOpsModeShell .bp-shift-more > summary:hover,
#bpOpsModeShell .bp-shift-more[open] > summary {
  border-color:#7ea8d2 !important;
  background:#edf5ff !important;
  color:#245c9a !important;
}
#bpOpsModeShell .bp-shift-more-menu {
  position:absolute !important;
  top:calc(100% + 6px) !important;
  right:0 !important;
  z-index:40 !important;
  display:grid !important;
  gap:3px !important;
  width:196px !important;
  padding:6px !important;
  border:1px solid #d7e0e9 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(18,35,63,.18) !important;
}
#bpOpsModeShell .bp-shift-checklist .bp-shift-more-menu button {
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  align-items:center !important;
  gap:7px !important;
  width:100% !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 9px 0 6px !important;
  border:0 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:11.5px !important;
  font-weight:650 !important;
  line-height:1.2 !important;
  text-align:left !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
#bpOpsModeShell .bp-shift-more-menu button > span:first-child {
  display:grid !important;
  place-items:center !important;
  width:24px !important;
  height:24px !important;
  border-radius:7px !important;
  background:#f2f4f7 !important;
  color:#526274 !important;
  font-size:12px !important;
  font-weight:850 !important;
}
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-issue:hover { background:#fff3f2 !important; color:#9b2017 !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-issue > span:first-child { background:#fff0ef !important; color:#b42318 !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-done-menu:hover { background:#ecfdf3 !important; color:#16794a !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-done-menu > span:first-child { background:#e4f8ec !important; color:#16794a !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-na:hover { background:#f4f6f8 !important; color:#344054 !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-next:hover { background:#fff7e6 !important; color:#7a4d00 !important; }
#bpOpsModeShell .bp-shift-more-menu .bp-shift-action-next > span:first-child { background:#fff4d8 !important; color:#8a5700 !important; }

#bpOpsModeShell .bp-shift-more > summary:focus-visible,
#bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions button:focus-visible {
  outline:3px solid #93c5fd !important;
  outline-offset:2px !important;
}

/* Daily Clean keeps the same dedicated route but uses lighter, denser controls. */
#bpOpsModeShell .bp-fd-daily-clean-context {
  min-height:42px !important;
  margin-bottom:8px !important;
  padding:7px 9px !important;
  border-radius:9px !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-checkrow {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(150px,.38fr) !important;
  align-items:center !important;
  gap:7px !important;
  min-height:46px !important;
  padding:7px 8px !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-task { min-width:0 !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-note { width:100% !important; min-width:0 !important; }
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-done {
  width:auto !important;
  justify-self:end !important;
  min-width:86px !important;
  min-height:32px !important;
  padding:0 9px !important;
  border:1px solid #9dbbdd !important;
  border-radius:8px !important;
  background:#f7fbff !important;
  color:#245c9a !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
#bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-done.is-done {
  border-color:#a9ddbe !important;
  background:#ecfdf3 !important;
  color:#16794a !important;
}

@media (max-width:1180px) and (min-width:821px) {
  #bpOpsModeShell .bp-shift-command {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  #bpOpsModeShell .bp-shift-command-controls {
    display:grid !important;
    grid-template-columns:minmax(120px,145px) 112px minmax(180px,1fr) auto !important;
    align-items:end !important;
    gap:8px !important;
  }
  #bpOpsModeShell .bp-shift-command-controls > * { min-width:0 !important; width:100% !important; }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item {
    grid-template-columns:minmax(0,1fr) auto !important;
  }
}

@media (max-width:820px) {
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-checkrow {
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-logbook-note {
    grid-column:1 / -1 !important;
  }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item {
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:10px 3px !important;
  }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-main {
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions {
    grid-column:1 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px !important;
    width:100% !important;
    justify-content:stretch !important;
    gap:6px !important;
  }
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-module,
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-action-done,
  #bpOpsModeShell .bp-shift-checklist .bp-shift-item-actions > .bp-shift-complete-chip {
    width:100% !important;
    min-height:44px !important;
  }
  #bpOpsModeShell .bp-shift-more > summary {
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;
  }
  #bpOpsModeShell .bp-shift-more-menu {
    width:min(210px,calc(100vw - 42px)) !important;
  }
}

@media (max-width:520px) {
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-done {
    width:auto !important;
    min-height:44px !important;
  }
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-actions {
    display:flex !important;
    width:100% !important;
    gap:6px !important;
    flex-wrap:wrap !important;
  }
  #bpOpsModeShell #bpFrontDeskDailyCleanMount .bp-daily-clean-actions .btn {
    flex:0 1 auto !important;
    width:auto !important;
    min-height:40px !important;
  }
}

/* Employee identity comes from the signed-in account; hide legacy manual field. */
#opsShiftEmployee{display:none!important}
#opsShiftEmployee{visibility:hidden!important}
