/* Booking Matrix luxury layout. Scoped to the existing screen; no business selectors are replaced. */
#view-bookings.s79-matrix-upgrade {
  --s79-panel: rgba(10, 25, 42, .96);
  --s79-panel-2: rgba(17, 34, 54, .92);
  --s79-line: rgba(113, 147, 183, .20);
  --s79-cyan: #22d3ee;
  --s79-text: #e8f1fb;
  --s79-muted: #8fa4ba;
  position: relative;
}

/* V24 — search/date/OCC/ADR sit directly after the calendar health alert. */
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:8px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center { display:none !important; }
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left {
  min-width:0 !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) {
  width:196px !important;
  min-width:196px !important;
  max-width:196px !important;
  height:42px !important;
  flex:0 0 196px !important;
  border:1px solid rgba(100,116,139,.34) !important;
  border-radius:10px !important;
  background:#0b1929 !important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput):focus-within {
  border-color:rgba(34,211,238,.72) !important;
  background:#0d2032 !important;
  box-shadow:0 0 0 3px rgba(34,211,238,.08) !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeSearchInput {
  height:40px !important;
  min-height:40px !important;
  padding-left:34px !important;
  padding-right:28px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#e6f5ff !important;
  font-size:11px !important;
  font-weight:750 !important;
  box-shadow:none !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeSearchInput::placeholder {
  color:#75879a !important;
  opacity:1 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) > i {
  left:12px !important;
  color:#67e8f9 !important;
  opacity:.82 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left #tapeDateControl { flex:0 0 auto !important; }
html body #view-bookings.s79-matrix-upgrade #dateDisplayLabel { min-width:66px !important;text-align:center !important; }
@media (max-width:1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) { width:174px !important;min-width:174px !important;max-width:174px !important;flex-basis:174px !important; }
  html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left { overflow-x:auto !important;scrollbar-width:none !important; }
}

/* V29 — brighter Liquid Glass treatment for Booking Quick View. */
html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view {
  background:
    radial-gradient(circle at 8% 0%,rgba(34,211,238,.15),transparent 34%),
    radial-gradient(circle at 96% 6%,rgba(139,92,246,.14),transparent 36%),
    linear-gradient(145deg,rgba(15,36,56,.985),rgba(6,20,35,.99) 56%,rgba(11,25,44,.99)) !important;
  border:1px solid rgba(125,211,252,.42) !important;
  box-shadow:
    0 28px 76px rgba(0,0,0,.72),
    0 8px 28px rgba(14,165,233,.12),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 1px 0 0 rgba(103,232,249,.08),
    inset -1px 0 0 rgba(167,139,250,.08) !important;
  isolation:isolate !important;
}
html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view::before {
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  inset:1px !important;
  border-radius:16px !important;
  pointer-events:none !important;
  background:linear-gradient(115deg,rgba(255,255,255,.075),transparent 24%,transparent 70%,rgba(103,232,249,.055)) !important;
}
html body #view-bookings .rp-booking-quick-view::after {
  border-color:rgba(9,25,42,.99) transparent transparent transparent !important;
  filter:drop-shadow(0 2px 0 rgba(125,211,252,.42)) drop-shadow(0 5px 6px rgba(0,0,0,.42)) !important;
}
html body #view-bookings #tapeBody tr:first-child .rp-booking-quick-view::after,
html body #view-bookings #tapeBody tr:nth-child(2) .rp-booking-quick-view::after {
  border-color:transparent transparent rgba(13,31,50,.99) transparent !important;
  filter:drop-shadow(0 -2px 0 rgba(125,211,252,.42)) drop-shadow(0 -5px 6px rgba(0,0,0,.42)) !important;
}
html body #view-bookings .rpqv-avatar {
  background:linear-gradient(145deg,#0891b2,#155e75) !important;
  border-color:#67e8f9 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 24px rgba(6,182,212,.2) !important;
}
html body #view-bookings .rpqv-identity strong { color:#fff !important;text-shadow:0 1px 12px rgba(255,255,255,.08) !important; }
html body #view-bookings .rpqv-status {
  background:linear-gradient(135deg,rgba(5,150,105,.28),rgba(6,78,59,.45)) !important;
  border-color:rgba(110,231,183,.56) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
}
html body #view-bookings .rpqv-summary {
  background:linear-gradient(135deg,rgba(19,42,64,.92),rgba(8,25,43,.96)) !important;
  border-color:rgba(125,211,252,.25) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px rgba(0,0,0,.14) !important;
}
html body #view-bookings .rpqv-summary section + section { border-left-color:rgba(125,211,252,.22) !important; }
html body #view-bookings .rpqv-summary h5 { color:#67e8f9 !important;text-shadow:0 0 14px rgba(34,211,238,.22) !important; }
html body #view-bookings .rpqv-summary section > span { color:#d4dfec !important; }
html body #view-bookings .rpqv-summary em.is-paid {
  background:linear-gradient(135deg,rgba(5,150,105,.42),rgba(6,78,59,.55)) !important;
  border-color:rgba(110,231,183,.5) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13) !important;
}
html body #view-bookings .rpqv-timeline::before { background:linear-gradient(90deg,#22d3ee,#475569 32%,#475569) !important; }
html body #view-bookings .rpqv-timeline i { background:linear-gradient(145deg,#10243a,#071522) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important; }
html body #view-bookings .rpqv-timeline .is-current i {
  color:#a5f3fc !important;
  background:linear-gradient(145deg,#0e7490,#083344) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 3px rgba(34,211,238,.12),0 0 20px rgba(34,211,238,.18) !important;
}
html body #view-bookings .rpqv-ai {
  background:
    radial-gradient(circle at 0 0,rgba(139,92,246,.18),transparent 42%),
    linear-gradient(135deg,rgba(37,28,78,.88),rgba(14,18,47,.94)) !important;
  border-color:rgba(167,139,250,.56) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 9px 26px rgba(76,29,149,.13) !important;
}
html body #view-bookings .rpqv-ai strong { color:#ddd6fe !important;text-shadow:0 0 15px rgba(167,139,250,.2) !important; }
html body #view-bookings .rpqv-ai > div > b { color:#86efac !important;text-shadow:0 0 12px rgba(74,222,128,.18) !important; }
html body #view-bookings .rpqv-ai p { color:#e2e8f0 !important; }
html body #view-bookings .rpqv-note {
  background:linear-gradient(135deg,rgba(15,35,55,.9),rgba(8,24,41,.94)) !important;
  border-color:rgba(125,211,252,.2) !important;
  color:#cbd5e1 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html body #view-bookings .rpqv-open {
  background:linear-gradient(135deg,#22d3ee,#0891b2) !important;
  border-color:#67e8f9 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 8px 22px rgba(6,182,212,.2) !important;
}
html body #view-bookings .rpqv-open:hover { background:linear-gradient(135deg,#67e8f9,#06b6d4) !important;transform:translateY(-1px) !important; }
html body #view-bookings .rpqv-locate,html body #view-bookings .rpqv-more {
  background:linear-gradient(145deg,rgba(20,42,63,.96),rgba(7,23,39,.98)) !important;
  border-color:rgba(148,163,184,.48) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
}
html body #view-bookings .rpqv-locate:hover,html body #view-bookings .rpqv-more:hover {
  background:linear-gradient(145deg,rgba(20,55,76,.98),rgba(8,31,49,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 7px 18px rgba(6,182,212,.12) !important;
  transform:translateY(-1px) !important;
}

/* V28 — RevPilot AI Booking Quick View. UI only; keeps the booking card handler intact. */
html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view {
  width:min(520px,calc(100vw - 32px)) !important;
  padding:18px !important;
  border-radius:18px !important;
  color:#eaf2ff !important;
  background:#071322 !important;
  background-image:none !important;
  border:1px solid #304258 !important;
  box-shadow:0 24px 70px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.025) inset !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:auto !important;
  cursor:default !important;
  text-transform:none !important;
  letter-spacing:normal !important;
}
html body #view-bookings .rp-booking-quick-view::after {
  border-color:#071322 transparent transparent transparent !important;
  filter:drop-shadow(0 2px 0 #304258) !important;
}
html body #view-bookings #tapeBody tr:first-child .rp-booking-quick-view::after,
html body #view-bookings #tapeBody tr:nth-child(2) .rp-booking-quick-view::after {
  border-color:transparent transparent #071322 transparent !important;
  filter:drop-shadow(0 -2px 0 #304258) !important;
}
html body #view-bookings .rpqv-header { display:grid !important;grid-template-columns:48px minmax(0,1fr) auto !important;align-items:center !important;gap:12px !important; }
html body #view-bookings .rpqv-avatar { width:48px !important;height:48px !important;display:grid !important;place-items:center !important;border-radius:50% !important;background:#0d5264 !important;border:1px solid #16829a !important;color:#f8fbff !important;font-size:18px !important;font-weight:950 !important; }
html body #view-bookings .rpqv-identity { min-width:0 !important;display:grid !important;gap:2px !important;text-align:left !important; }
html body #view-bookings .rpqv-identity strong { overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;color:#f8fafc !important;font-size:17px !important;font-weight:950 !important;letter-spacing:.02em !important; }
html body #view-bookings .rpqv-identity > span { display:flex !important;align-items:center !important;gap:6px !important;color:#7dd3fc !important;font-size:12px !important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace !important; }
html body #view-bookings .rpqv-copy { width:25px !important;height:25px !important;display:grid !important;place-items:center !important;border:0 !important;border-radius:6px !important;background:transparent !important;color:#94a3b8 !important;cursor:pointer !important; }
html body #view-bookings .rpqv-copy:hover,html body #view-bookings .rpqv-copy.is-copied { background:#13243a !important;color:#5eead4 !important; }
html body #view-bookings .rpqv-status { display:inline-flex !important;align-items:center !important;gap:6px !important;padding:7px 9px !important;border:1px solid rgba(52,211,153,.34) !important;border-radius:8px !important;background:rgba(6,78,59,.3) !important;color:#6ee7b7 !important;font-size:10px !important;font-weight:900 !important;white-space:nowrap !important; }

html body #view-bookings .rpqv-summary { display:grid !important;grid-template-columns:1fr 1fr !important;margin-top:14px !important;border:1px solid #1f3349 !important;border-radius:11px !important;background:#0a1829 !important;overflow:hidden !important; }
html body #view-bookings .rpqv-summary section { min-width:0 !important;display:grid !important;gap:7px !important;padding:13px 15px !important;text-align:left !important; }
html body #view-bookings .rpqv-summary section + section { border-left:1px solid #26394e !important; }
html body #view-bookings .rpqv-summary h5 { display:flex !important;align-items:center !important;gap:7px !important;margin:0 !important;color:#22d3ee !important;font-size:10px !important;font-weight:900 !important;text-transform:uppercase !important;letter-spacing:.11em !important; }
html body #view-bookings .rpqv-summary section > b { color:#f8fafc !important;font-size:15px !important;font-weight:900 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important; }
html body #view-bookings .rpqv-summary section > span { display:flex !important;align-items:center !important;gap:7px !important;color:#b6c2d3 !important;font-size:11px !important;line-height:1.25 !important; }
html body #view-bookings .rpqv-summary em { width:max-content !important;padding:4px 7px !important;border-radius:6px !important;font-size:10px !important;font-style:normal !important;font-weight:900 !important; }
html body #view-bookings .rpqv-summary em.is-paid { color:#6ee7b7 !important;background:#123f32 !important;border:1px solid #1f7a5e !important; }
html body #view-bookings .rpqv-summary em.is-due { color:#fbbf24 !important;background:#3b2a0c !important;border:1px solid #7c5712 !important; }

html body #view-bookings .rpqv-timeline { position:relative !important;display:grid !important;grid-template-columns:repeat(4,1fr) !important;margin:15px 3px 13px !important; }
html body #view-bookings .rpqv-timeline::before { content:"" !important;position:absolute !important;left:12.5% !important;right:12.5% !important;top:14px !important;height:1px !important;background:#415166 !important; }
html body #view-bookings .rpqv-timeline > div { position:relative !important;z-index:1 !important;display:grid !important;justify-items:center !important;gap:4px !important;color:#64748b !important;font-size:9px !important;font-weight:800 !important; }
html body #view-bookings .rpqv-timeline i { width:29px !important;height:29px !important;display:grid !important;place-items:center !important;border:1px solid #526174 !important;border-radius:50% !important;background:#071322 !important;font-size:11px !important; }
html body #view-bookings .rpqv-timeline .is-complete { color:#94a3b8 !important; }
html body #view-bookings .rpqv-timeline .is-current { color:#22d3ee !important; }
html body #view-bookings .rpqv-timeline .is-current i { border-color:#22d3ee !important;box-shadow:0 0 0 3px rgba(34,211,238,.09) !important; }

html body #view-bookings .rpqv-ai { padding:11px 13px !important;border:1px solid #55318b !important;border-radius:9px !important;background:#11142e !important;text-align:left !important; }
html body #view-bookings .rpqv-ai > div { display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important; }
html body #view-bookings .rpqv-ai strong { color:#c4b5fd !important;font-size:10px !important;font-weight:950 !important; }
html body #view-bookings .rpqv-ai > div > b { color:#86efac !important;font-size:10px !important;white-space:nowrap !important; }
html body #view-bookings .rpqv-ai p { margin:6px 0 0 !important;color:#cbd5e1 !important;font-size:10.5px !important;line-height:1.4 !important; }
html body #view-bookings .rpqv-ai.is-warning > div > b,html body #view-bookings .rpqv-ai.is-warning p { color:#fbbf24 !important; }
html body #view-bookings .rpqv-ai.is-danger { border-color:#7f1d1d !important;background:#24101c !important; }
html body #view-bookings .rpqv-ai.is-danger > div > b,html body #view-bookings .rpqv-ai.is-danger p { color:#fb7185 !important; }
html body #view-bookings .rpqv-note { display:flex !important;align-items:center !important;gap:8px !important;margin-top:10px !important;padding:8px 10px !important;border:1px solid #1f3349 !important;border-radius:8px !important;background:#091726 !important;color:#94a3b8 !important;font-size:10px !important;text-align:left !important; }
html body #view-bookings .rpqv-note span { overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important; }

html body #view-bookings .rpqv-actions { position:relative !important;display:grid !important;grid-template-columns:1.15fr 1fr 42px !important;gap:8px !important;margin-top:11px !important; }
html body #view-bookings .rpqv-actions > button { height:38px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:7px !important;border-radius:8px !important;font-size:11px !important;font-weight:900 !important;cursor:pointer !important; }
html body #view-bookings .rpqv-open { border:1px solid #22d3ee !important;background:#13a8c4 !important;color:#03131d !important; }
html body #view-bookings .rpqv-open:hover { background:#22d3ee !important; }
html body #view-bookings .rpqv-locate { border:1px solid #52677d !important;background:#091726 !important;color:#dbe7f5 !important; }
html body #view-bookings .rpqv-locate:hover,html body #view-bookings .rpqv-more:hover { border-color:#22d3ee !important;color:#67e8f9 !important; }
html body #view-bookings .rpqv-more { border:1px solid #3e4f63 !important;background:#172334 !important;color:#dbe7f5 !important;font-size:16px !important; }
html body #view-bookings .rpqv-menu { display:none !important;position:absolute !important;right:0 !important;bottom:46px !important;width:190px !important;padding:5px !important;border:1px solid #33475d !important;border-radius:8px !important;background:#0a1829 !important;box-shadow:0 16px 34px rgba(0,0,0,.55) !important; }
html body #view-bookings .rpqv-actions.is-menu-open .rpqv-menu { display:block !important; }
html body #view-bookings .rpqv-menu button { width:100% !important;padding:9px !important;display:flex !important;align-items:center !important;gap:8px !important;border:0 !important;border-radius:6px !important;background:transparent !important;color:#cbd5e1 !important;font-size:10px !important;text-align:left !important;cursor:pointer !important; }
html body #view-bookings .rpqv-menu button:hover { background:#13243a !important;color:#67e8f9 !important; }
html body #view-bookings .rpqv-calendar-focus { z-index:999 !important;animation:rpqvCalendarFocus .85s ease-in-out 2 !important; }
@keyframes rpqvCalendarFocus { 50% { filter:brightness(1.35);box-shadow:0 0 0 3px #22d3ee,0 0 26px rgba(34,211,238,.65) !important; } }

@media (max-width:700px) {
  html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view { width:min(390px,calc(100vw - 20px)) !important;padding:13px !important;left:0 !important;transform:translateX(-10px) scale(.96) !important; }
  html body #view-bookings div[id^="booking-"]:hover .rp-booking-quick-view { transform:translateX(-10px) scale(1) !important; }
  html body #view-bookings .rpqv-header { grid-template-columns:42px minmax(0,1fr) !important; }
  html body #view-bookings .rpqv-avatar { width:42px !important;height:42px !important; }
  html body #view-bookings .rpqv-status { grid-column:1/-1 !important;width:max-content !important;margin-left:54px !important;margin-top:-8px !important; }
  html body #view-bookings .rpqv-summary { grid-template-columns:1fr !important; }
  html body #view-bookings .rpqv-summary section + section { border-left:0 !important;border-top:1px solid #26394e !important; }
  html body #view-bookings .rpqv-actions { grid-template-columns:1fr 1fr 40px !important; }
}

/* V26 FINAL — readable guest search and a mobile-safe result layer. */
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) {
  width:272px !important;
  min-width:272px !important;
  max-width:272px !important;
  flex:0 0 272px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeSearchInput {
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.005em !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeSearchInput::placeholder {
  color:#a5b4c7 !important;
  font-weight:750 !important;
}
html body #view-bookings.s79-matrix-upgrade #searchResultList {
  z-index:10050 !important;
  min-width:430px !important;
  max-height:420px !important;
  border:1px solid rgba(34,211,238,.34) !important;
  background:#091529 !important;
  box-shadow:0 22px 54px rgba(0,0,0,.52) !important;
}
html body #view-bookings.s79-matrix-upgrade #searchResultList .tape-search-result-item { padding:14px 16px !important; }
html body #view-bookings.s79-matrix-upgrade #searchResultList .tape-search-guest { font-size:14px !important;line-height:1.3 !important; }
@media (max-width:1500px) and (min-width:721px) {
  html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) { width:230px !important;min-width:230px !important;max-width:230px !important;flex-basis:230px !important; }
}
@media (max-width:720px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    display:flex !important;
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x proximity !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left {
    width:max-content !important;
    min-width:max-content !important;
    overflow:visible !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput) {
    width:280px !important;
    min-width:280px !important;
    max-width:280px !important;
    height:46px !important;
    flex:0 0 280px !important;
    scroll-snap-align:center !important;
  }
  html body #view-bookings.s79-matrix-upgrade #tapeSearchInput { height:44px !important;min-height:44px !important;font-size:16px !important; }
  html body #view-bookings.s79-matrix-upgrade #searchResultList {
    position:fixed !important;
    top:118px !important;
    left:8px !important;
    right:8px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:calc(100dvh - 138px) !important;
    overflow-y:auto !important;
    border-radius:12px !important;
  }
  html body #view-bookings.s79-matrix-upgrade #searchResultList .tape-search-result-item { min-height:92px !important;padding:15px !important; }
  html body #view-bookings.s79-matrix-upgrade #searchResultList .tape-search-guest { max-width:78% !important;font-size:15px !important;white-space:normal !important; }
}

#view-bookings.s79-matrix-upgrade > .s79-matrix-shell {
  height: calc(100vh - 78px) !important;
  min-height: 650px;
  padding: 12px !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(8,22,38,.98), rgba(8,18,33,.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 16px 44px rgba(0,0,0,.22);
}

#view-bookings .s79-matrix-toolbar {
  display: grid !important;
  grid-template-columns: max-content minmax(360px, 1fr) max-content;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px !important;
  padding: 6px;
  min-height: 52px;
  border: 1px solid var(--s79-line);
  border-radius: 12px;
  background: rgba(8,20,35,.78);
}

/* V16: compact three-row operations header using the existing controls and data. */
#view-bookings .s79-matrix-toolbar {
  position: relative;
  grid-template-columns: max-content minmax(430px,1fr) max-content;
  padding: 39px 12px 11px !important;
  min-height: 102px;
  border-radius: 10px;
  background: #081523 !important;
  box-shadow: none;
}
#view-bookings .s79-ops-heading {
  position: absolute;
  top: 11px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 800;
}
#view-bookings .s79-ops-heading span { width:2px;height:16px;border-radius:2px;background:#38bdf8; }
#view-bookings .s79-matrix-toolbar button,
#view-bookings .s79-matrix-toolbar input,
#view-bookings .s79-matrix-toolbar .tape-date-control { min-height:46px!important;border-radius:9px!important;box-shadow:none!important; }
#view-bookings .s79-toolbar-center>div:has(#tapeSearchInput){max-width:310px!important;min-width:230px!important}
#view-bookings .s79-today-button{padding:0 15px!important;white-space:nowrap;color:#dbeafe!important}
#view-bookings .s79-revenue-kpi{min-width:118px!important;height:46px!important;padding:5px 12px!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;background:#0b2428!important;border-color:#174d4e!important}
#view-bookings .s79-revenue-kpi span:first-child{font-size:9px!important;color:#34d399!important}
#view-bookings .s79-revenue-kpi #statToday{font-size:14px!important}
#view-bookings .s79-revpilot-button{display:flex;align-items:center;gap:7px;padding:0 13px!important;border-color:#6d45a9!important;color:#d8b4fe!important;background:#18132d!important;font-size:10px;font-weight:900;white-space:nowrap}
#view-bookings #syncCalendarChannexBtn,#view-bookings #optimizeRoomsByRevenueBtn{height:46px!important;font-size:10px!important;white-space:nowrap;box-shadow:none!important}
#view-bookings #openOperationLogsBtn.s79-operation-log-icon{width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;border:1px solid #a16207!important;border-radius:9px!important;background:#422006!important;color:#fde68a!important;box-shadow:none!important;font-size:15px!important}
#view-bookings #openOperationLogsBtn.s79-operation-log-icon:hover{border-color:#fbbf24!important;background:#573006!important;color:#fef3c7!important}
#view-bookings #openLiveRoomBoardBtn.s79-room-map-icon{width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;border:1px solid #0f766e!important;border-radius:9px!important;background:#073b3a!important;color:#99f6e4!important;box-shadow:none!important;font-size:15px!important}
#view-bookings #openLiveRoomBoardBtn.s79-room-map-icon:hover{border-color:#2dd4bf!important;background:#0b4f4c!important;color:#ccfbf1!important}
#view-bookings .s79-more-trigger{height:46px!important;width:46px!important}

#view-bookings .s79-matrix-copilot {
  flex:0 0 auto;
  min-height:68px;
  margin:0 0 10px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  gap:16px;
  border:1px solid #49327a;
  border-radius:9px;
  background:#0d1328;
}
#view-bookings .s79-ai-summary{min-width:0;flex:1;display:flex;align-items:center;gap:16px;color:#cbd5e1;font-size:11px;white-space:nowrap;overflow:hidden}
#view-bookings .s79-ai-summary>b{display:flex;align-items:center;gap:8px;color:#e2e8f0;font-size:11px;letter-spacing:.04em}
#view-bookings .s79-ai-summary>b i{color:#a78bfa;font-size:16px}
#view-bookings .s79-ai-summary>strong{padding-right:16px;border-right:1px solid #2c294b;color:#a78bfa;font-size:11px}
#view-bookings .s79-ai-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
#view-bookings .s79-ai-summary>span i{display:inline-block;width:5px;height:5px;margin:0 9px 1px 0;border-radius:50%;background:#8b5cf6}
#view-bookings .s79-ai-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
#view-bookings .s79-ai-confidence{height:38px;padding:0 12px;display:flex;align-items:center;border:1px solid #38315e;border-radius:8px;color:#c4b5fd;background:#10152a;font-size:10px;font-weight:800}
#view-bookings .s79-ai-actions button{height:38px;padding:0 14px;border:1px solid #5b3d91;border-radius:8px;color:#ddd6fe;background:#17132e;font-size:10px;font-weight:850}
#view-bookings .s79-ai-actions button:first-of-type{color:#fff;background:#6d28d9;border-color:#7c3aed}
#view-bookings .s79-ai-actions button i{margin-right:7px}

#view-bookings .s79-matrix-grid-scroll{border-radius:9px!important;background:#071421}
#view-bookings #tapeHeaderRow th:first-child{min-width:175px!important;max-width:175px!important;width:175px!important;background:#081725!important}
#view-bookings #tapeHeaderRow th:first-child>div{height:82px!important;padding:0 12px!important}
#view-bookings #tapeHeaderRow th:first-child span{font-size:12px!important;letter-spacing:.12em!important}
#view-bookings #tapeHeaderRow th[data-date]{min-width:132px!important;max-width:132px!important;width:132px!important;padding:5px!important;background:#081725!important}
#view-bookings #tapeHeaderRow th[data-date]>div{height:82px!important;padding:9px 10px!important;border-radius:9px!important;border:1px solid #26364b!important;background:#0b1726!important;box-shadow:none!important}
#view-bookings #tapeHeaderRow th[data-date] span.text-\[13px\]{font-size:15px!important}
#view-bookings #tapeHeaderRow th[data-date] span.text-\[12px\]{font-size:17px!important}
#view-bookings #tapeHeaderRow th[data-date] span.text-amber-400{font-size:11px!important;color:#cbd5e1!important}
#view-bookings #tapeHeaderRow th[data-date] .bg-gradient-to-r{background:#10b981!important}
#view-bookings #tapeHeaderRow th.s79-day-today>div{border-color:#22d3ee!important;box-shadow:inset 0 0 0 1px rgba(34,211,238,.28)!important}
#view-bookings #tapeHeaderRow th.s79-day-today>div:before{content:'Hôm nay';position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);padding:2px 6px;border-radius:3px;color:#06202b;background:#22d3ee;font-size:8px;font-weight:900;z-index:20}
#view-bookings #tapeHeaderRow th.s79-day-ai>div{border-color:#7c3aed!important;background:#15132d!important}
#view-bookings #tapeHeaderRow th.s79-day-ai .bg-emerald-500{background:#8b5cf6!important}
#view-bookings #tapeHeaderRow th.s79-day-warning span.text-\[12px\]{color:#fbbf24!important}
#view-bookings #tapeHeaderRow th.s79-day-warning .bg-emerald-500{background:#f59e0b!important}
#view-bookings #tapeHeaderRow th.s79-day-low span.text-\[12px\]{color:#fb7185!important}
#view-bookings #tapeHeaderRow th.s79-day-low .bg-emerald-500{background:#ef4444!important}
#view-bookings #tapeTable{width:max-content!important}

@media(max-width:1500px){
  #view-bookings .s79-matrix-toolbar{grid-template-columns:max-content minmax(360px,1fr) max-content;padding-left:8px!important;padding-right:8px!important}
  #view-bookings .s79-toolbar-left,#view-bookings .s79-toolbar-center,#view-bookings .s79-toolbar-right{gap:5px!important}
  #view-bookings .s79-matrix-toolbar button{padding-left:9px!important;padding-right:9px!important}
  #view-bookings .s79-ai-summary{gap:10px}
  #view-bookings .s79-ai-summary>span:nth-of-type(n+3){display:none}
}

#view-bookings .s79-toolbar-left,
#view-bookings .s79-toolbar-center,
#view-bookings .s79-toolbar-right {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 7px !important;
  min-width: 0;
  margin: 0 !important;
}

#view-bookings .s79-toolbar-center { justify-content: center; }
#view-bookings .s79-toolbar-right { justify-content: flex-end; }
#view-bookings .s79-toolbar-center > * { min-width: 0; }
#view-bookings .s79-toolbar-center input { min-width: 190px; }

#view-bookings .s79-matrix-toolbar button,
#view-bookings .s79-matrix-toolbar input,
#view-bookings .s79-matrix-toolbar .tape-date-control {
  min-height: 39px !important;
  border-color: var(--s79-line) !important;
  background-color: rgba(20,37,58,.78) !important;
}

#view-bookings .s79-more-wrap { position: relative; }
#view-bookings .s79-more-trigger { width: 40px; justify-content: center; }
#view-bookings .s79-more-menu {
  display: none;
  position: absolute;
  z-index: 3500;
  top: calc(100% + 8px);
  right: 0;
  width: 230px;
  padding: 8px;
  border: 1px solid var(--s79-line);
  border-radius: 12px;
  background: #0c1c30;
  box-shadow: 0 20px 48px rgba(0,0,0,.46);
}
#view-bookings .s79-more-wrap.open .s79-more-menu { display: grid; gap: 6px; }
#view-bookings .s79-more-menu > * { width: 100% !important; justify-content: flex-start !important; }

#view-bookings .s79-matrix-grid-scroll {
  position: relative;
  flex: 1 1 auto !important;
  min-height: 0;
  border: 1px solid var(--s79-line) !important;
  border-radius: 12px !important;
  background: #081729;
  scrollbar-color: #365b78 #081525;
  transition: margin-right .2s ease;
}

#view-bookings #tapeTable { border-collapse: separate !important; border-spacing: 0 !important; }
#view-bookings #tapeTable th,
#view-bookings #tapeTable td { border-color: rgba(105,139,173,.18) !important; }
#view-bookings #tapeTable thead { position: sticky; top: 0; z-index: 42; }
#view-bookings #tapeTable thead th { background: #112238 !important; box-shadow: inset 0 -1px var(--s79-line); }
#view-bookings #tapeTable tr > :first-child {
  position: sticky;
  left: 0;
  z-index: 35;
  background-color: #102237 !important;
  box-shadow: 1px 0 0 var(--s79-line);
}
#view-bookings #tapeTable thead tr > :first-child { z-index: 60; }
#view-bookings #tapeTable .compact-today-col {
  background-color: rgba(8,145,178,.10) !important;
  box-shadow: inset 2px 0 0 rgba(34,211,238,.72), inset -1px 0 0 rgba(34,211,238,.25) !important;
}
#view-bookings .booking-card {
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 5px 16px rgba(0,0,0,.20) !important;
  transition: transform .13s ease, filter .13s ease, box-shadow .13s ease !important;
}
#view-bookings .booking-card:hover,
#view-bookings .booking-card:focus-within {
  z-index: 28 !important;
  transform: translateY(-1px);
  filter: brightness(1.09);
  box-shadow: 0 8px 22px rgba(0,0,0,.32), 0 0 0 1px rgba(34,211,238,.30) !important;
}

/* Existing notification node becomes a 380px drawer; its own API/filter/refresh handlers remain intact. */
.booking-notify-node.s79-notify-drawer {
  top: 92px !important;
  right: 14px !important;
  bottom: 18px !important;
  width: 380px !important;
  height: auto !important;
  z-index: 5200 !important;
}
.booking-notify-node.s79-notify-drawer .booking-notify-button { margin-left: auto; }
.booking-notify-node.s79-notify-drawer .booking-notify-panel {
  top: 0 !important;
  right: 0 !important;
  width: 380px !important;
  max-width: calc(100vw - 24px) !important;
  height: 100% !important;
  max-height: none !important;
  border-radius: 14px !important;
  background: rgba(9,24,41,.985) !important;
  box-shadow: -18px 0 50px rgba(0,0,0,.40) !important;
}
.booking-notify-node.s79-notify-drawer .booking-notify-item {
  position: relative !important;
  padding: 14px 14px 39px !important;
  border-color: rgba(116,150,184,.22) !important;
  background: linear-gradient(145deg, rgba(25,46,69,.92), rgba(16,33,51,.92)) !important;
}
.booking-notify-node.s79-notify-drawer .booking-notify-item::after {
  content: "Xem booking  →";
  position: absolute;
  left: 14px;
  bottom: 12px;
  color: #38bdf8;
  font-size: 12px;
  font-weight: 800;
}
@media (min-width: 1500px) {
  body.s79-booking-notify-open #view-bookings .s79-matrix-grid-scroll { margin-right: 392px; }
}

/* Unified quick-action dock: exact existing action elements are moved here, never cloned. */
#s79MatrixQuickDock {
  position: fixed;
  right: 8px;
  top: clamp(150px, 43vh, 520px);
  bottom: auto;
  z-index: 5600;
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
body #s79MatrixQuickDock.s79-active {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active #s79TapeFloatingActions,
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active #tcFloat,
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active #sh2Float,
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active .sh2-float,
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active #pmsAdvancedFab,
body.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active #s79TapeFloatingActions > * {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.s79-hide-booking-floating-tools.s79-booking-notify-open .booking-notify-node.s79-notify-drawer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.s79-booking-notify-open #s79MatrixQuickDock { right: 8px; }
#s79MatrixQuickDock .s79-quick-trigger {
  width:54px;
  height:52px;
  padding:0;
  border:1px solid rgba(38,211,238,.55);
  border-radius:14px 14px 0 0;
  color:#42e9ff;
  background:linear-gradient(155deg,rgba(7,105,143,.96),rgba(10,42,72,.98));
  font-size:21px;
  cursor:pointer;
}
#s79MatrixQuickDock .s79-quick-panel {
  display: none;
  flex-direction: column;
  width: 54px;
  max-height: min(72vh, 620px);
  overflow: visible;
  padding: 4px 3px;
  border: 1px solid rgba(34,211,238,.30);
  border-radius: 15px;
  background: rgba(8,24,42,.98);
  box-shadow: 0 20px 55px rgba(0,0,0,.45);
  gap: 5px;
}
#s79MatrixQuickDock.s79-expanded .s79-quick-panel { display:flex; }
#s79MatrixQuickDock #s79TapeFloatingActions > * {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  border-radius: 11px !important;
  margin: 0 !important;
}
#s79MatrixQuickDock #s79TapeFloatingActions {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#s79MatrixQuickDock #tcFloat,
#s79MatrixQuickDock #sh2Float,
#s79MatrixQuickDock #pmsAdvancedFab {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  margin:0!important;
  border-radius:11px!important;
}
#s79MatrixQuickDock #pmsAdvancedFab {
  padding:0!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
}
#s79MatrixQuickDock #pmsAdvancedFab::before {
  content:'\f02d';
  color:#fff;
  font-family:'Font Awesome 5 Free','Font Awesome 6 Free';
  font-size:17px;
  font-weight:900;
}
#s79MatrixQuickDock .s79-quick-panel button,
#s79MatrixQuickDock .s79-quick-panel a {
  justify-content: center !important;
  padding: 0 !important;
  color: #d7f8ff !important;
  background: linear-gradient(150deg, rgba(12,54,82,.98), rgba(23,45,79,.98)) !important;
  border: 1px solid rgba(80,178,222,.34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#s79MatrixQuickDock .s79-quick-panel button:hover,
#s79MatrixQuickDock .s79-quick-panel a:hover {
  color: #fff !important;
  border-color: #22d3ee !important;
  background: linear-gradient(150deg,#0891b2,#2563eb) !important;
}

@media (max-width: 1366px) {
  #view-bookings .s79-matrix-toolbar { grid-template-columns: max-content minmax(280px,1fr) max-content; gap: 6px; }
  #view-bookings .s79-matrix-toolbar button { padding-left: 10px !important; padding-right: 10px !important; }
  .booking-notify-node.s79-notify-drawer,
  .booking-notify-node.s79-notify-drawer .booking-notify-panel { width: 350px !important; }
}
@media (max-width: 1100px) {
  #view-bookings .s79-matrix-toolbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  #view-bookings .s79-matrix-toolbar::-webkit-scrollbar { display: none; }
  #view-bookings .s79-toolbar-left,
  #view-bookings .s79-toolbar-center,
  #view-bookings .s79-toolbar-right {
    flex: 0 0 auto !important;
    width: max-content !important;
    overflow: visible !important;
  }
  #view-bookings .s79-toolbar-left > *,
  #view-bookings .s79-toolbar-center > *,
  #view-bookings .s79-toolbar-right > * { flex: 0 0 auto !important; scroll-snap-align: start; }
  body.s79-booking-notify-open #view-bookings .s79-matrix-grid-scroll { margin-right: 0; }
  body.s79-booking-notify-open #s79MatrixQuickDock { right: 8px; }
}
@media (max-width: 720px) {
  #view-bookings.s79-matrix-upgrade > .s79-matrix-shell { height: calc(100vh - 58px) !important; padding: 7px !important; }
  #view-bookings .s79-matrix-toolbar { flex-direction: row !important; align-items: center !important; }
  #view-bookings .s79-toolbar-left,
  #view-bookings .s79-toolbar-center,
  #view-bookings .s79-toolbar-right { overflow: visible !important; justify-content: flex-start !important; }
  #view-bookings .s79-more-menu {
    position: fixed;
    top: 68px;
    right: 8px;
    width: min(250px, calc(100vw - 16px));
    max-height: calc(100dvh - 84px);
    overflow-y: auto;
  }
  .booking-notify-node.s79-notify-drawer { inset: 70px 7px 8px 7px !important; width: auto !important; }
  .booking-notify-node.s79-notify-drawer .booking-notify-panel { width: 100% !important; }
}

/* V18 compact operations header and one-line weekly AI summary. */
html body #view-bookings.s79-matrix-upgrade .s79-ops-heading { display:none !important; }
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns: auto minmax(490px,1fr) auto !important;
  column-gap: 10px !important;
  min-height: 64px !important;
  padding: 8px 10px !important;
  margin-bottom: 8px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left,
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center,
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-right { gap:6px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar button,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar input,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar .tape-date-display {
  min-height: 42px !important;
  height: 42px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center > div:has(#tapeSearchInput) {
  min-width: 220px !important;
  max-width: 270px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-revenue-kpi {
  min-width: 108px !important;
  height: 42px !important;
}
html body #view-bookings.s79-matrix-upgrade #syncCalendarChannexBtn,
html body #view-bookings.s79-matrix-upgrade #optimizeRoomsByRevenueBtn,
html body #view-bookings.s79-matrix-upgrade .s79-more-trigger { height:42px !important; }
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height: 54px !important;
  height: 54px !important;
  padding: 7px 12px !important;
  margin-bottom: 8px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary {
  gap: 13px !important;
  font-size: 10.5px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > b {
  flex:0 0 auto !important;
  padding-right:13px !important;
  border-right:1px solid #2c294b !important;
  font-size:10.5px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > span {
  flex:0 1 auto !important;
  max-width:260px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions { gap:6px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions button,
html body #view-bookings.s79-matrix-upgrade .s79-ai-confidence {
  height:36px !important;
  padding:0 10px !important;
  font-size:9.5px !important;
}
@media (max-width: 1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns:auto minmax(390px,1fr) auto !important;
    column-gap:6px !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > span { max-width:210px !important; }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-analysis] { display:none !important; }
}

/* V17 final precedence (kept last intentionally). */
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns: minmax(300px,auto) minmax(610px,1fr) auto !important;
  column-gap: 18px !important;
  min-height: 118px !important;
  padding: 42px 16px 12px !important;
}
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height: 82px !important;
  padding: 12px 18px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child {
  width: 184px !important;
  min-width: 184px !important;
  max-width: 184px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child > div {
  height: 126px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
  width: 134px !important;
  min-width: 134px !important;
  max-width: 134px !important;
  height: 126px !important;
  padding: 6px 5px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] > .s79-day-card {
  height: 112px !important;
  padding: 10px 12px !important;
}
@media (max-width: 1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns: auto minmax(500px,1fr) auto !important;
    column-gap: 8px !important;
  }
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
  }
}

/* V17 visual balance: reference-grade SaaS proportions. */
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns: minmax(300px,auto) minmax(610px,1fr) auto !important;
  column-gap: 18px !important;
  min-height: 118px !important;
  padding: 42px 16px 12px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center {
  justify-content: center !important;
  gap: 8px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-right {
  gap: 8px !important;
}
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height: 82px !important;
  padding: 12px 18px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  background: #0b1125 !important;
  border-color: rgba(139,92,246,.46) !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary {
  gap: 20px !important;
  font-size: 12px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > b,
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > strong {
  font-size: 12px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions button,
html body #view-bookings.s79-matrix-upgrade .s79-ai-confidence {
  height: 44px !important;
  font-size: 11px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child {
  width: 184px !important;
  min-width: 184px !important;
  max-width: 184px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child > div {
  height: 126px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
  width: 134px !important;
  min-width: 134px !important;
  max-width: 134px !important;
  height: 126px !important;
  padding: 6px 5px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] > .s79-day-card {
  height: 112px !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
}
@media (max-width: 1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns: auto minmax(500px,1fr) auto !important;
    column-gap: 8px !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-summary { gap: 12px !important; }
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
  }
}

/* V16 final precedence: compact three-row Booking Matrix operations header. */
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  min-height: 132px !important;
  padding: 34px 12px 10px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar button,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar input,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar .tape-date-display {
  min-height: 44px !important;
}
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 70px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
  height: 112px !important;
}
@media (max-width: 1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns: auto minmax(420px, 1fr) auto !important;
  }
  html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
    grid-template-columns: 1fr !important;
  }
}

/* Booking Matrix v3: reference layout and independent floating action rail. */
body.s79-booking-matrix-active #s79TapeFloatingActions,
body.s79-booking-matrix-active #tcFloat,
body.s79-booking-matrix-active #sh2Float,
body.s79-booking-matrix-active #pmsAdvancedFab {
  display: none !important;
}

body.s79-booking-matrix-active #s79MatrixQuickDock.s79-active,
body.s79-booking-matrix-active.s79-hide-booking-floating-tools #s79MatrixQuickDock.s79-active {
  position: fixed !important;
  z-index: 2147483000 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 72px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 46px !important;
  gap: 5px !important;
  overflow: visible !important;
}
body.s79-booking-matrix-active.s79-booking-notify-open #s79MatrixQuickDock.s79-active {
  right: 12px !important;
}
#s79MatrixQuickDock .s79-quick-trigger,
#s79MatrixQuickDock .s79-quick-panel button[data-action] {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 11px !important;
  border: 1px solid rgba(69,183,230,.38) !important;
  color: #d9f9ff !important;
  background: linear-gradient(150deg,rgba(7,56,83,.98),rgba(25,43,78,.98)) !important;
  box-shadow: 0 8px 24px rgba(0,8,24,.36),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
#s79MatrixQuickDock .s79-quick-trigger {
  color: #22e6ff !important;
  border-color: rgba(34,211,238,.72) !important;
  background: linear-gradient(150deg,#057ca2,#1257a8) !important;
}
#s79MatrixQuickDock .s79-quick-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 46px !important;
}
#s79MatrixQuickDock .s79-quick-badge {
  position: absolute !important;
  z-index: 2 !important;
  top: -7px !important;
  right: -7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border: 2px solid #071426 !important;
  border-radius: 10px !important;
  color: #04111f !important;
  background: #22d3ee !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

#view-bookings .s79-matrix-titlebar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 48px !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(76,139,181,.22) !important;
  border-bottom: 0 !important;
  border-radius: 14px 14px 0 0 !important;
  background: linear-gradient(110deg,rgba(18,43,62,.96),rgba(11,27,46,.98)) !important;
}

/* V12: thanh này lặp lại số phòng/OCC/ADR đã có ở toolbar và từng cột ngày. */
html body #view-bookings .s79-matrix-titlebar {
  display: none !important;
}

html body #view-bookings .s79-matrix-titlebar + .s79-matrix-grid-scroll {
  border-radius: 14px !important;
}
#view-bookings .s79-titlebar-name,
#view-bookings .s79-titlebar-nav {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
#view-bookings .s79-titlebar-name strong { font-size: 14px !important; letter-spacing: .02em !important; }
#view-bookings .s79-title-check {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 5px !important;
  color: #d7fff4 !important;
  background: #33b879 !important;
}
#view-bookings .s79-room-count { color: #b7c7d8 !important; font-size: 12px !important; font-weight: 700 !important; }
#view-bookings .s79-date-range { color: #c7d7e8 !important; font-size: 12px !important; }
#view-bookings .s79-titlebar-nav button {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 1px solid rgba(116,151,184,.24) !important;
  border-radius: 9px !important;
  color: #b9cadb !important;
  background: rgba(12,28,47,.88) !important;
}
#view-bookings .s79-matrix-titlebar + .s79-matrix-grid-scroll { border-radius: 0 0 14px 14px !important; }

body.s79-booking-matrix-active .booking-notify-node.s79-notify-drawer {
  position: fixed !important;
  z-index: 2147482000 !important;
  top: 108px !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  width: min(390px, calc(100vw - 24px)) !important;
  height: auto !important;
  max-height: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate3d(calc(100% + 24px), 0, 0) !important;
  transition: transform .22s ease, opacity .16s ease !important;
  will-change: transform;
}

body.s79-booking-matrix-active.s79-booking-notify-open .booking-notify-node.s79-notify-drawer {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate3d(0, 0, 0) !important;
}

body.s79-booking-matrix-active .booking-notify-node.s79-notify-drawer > #bookingNotifyToggle {
  display: none !important;
}

body.s79-booking-matrix-active .booking-notify-node.s79-notify-drawer .booking-notify-panel {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
body.s79-booking-matrix-active.s79-booking-notify-open #view-bookings .s79-matrix-grid-scroll {
  margin-right: 402px !important;
  transition: margin-right .18s ease !important;
}

@media (max-width: 1100px) {
  body.s79-booking-matrix-active.s79-booking-notify-open #view-bookings .s79-matrix-grid-scroll { margin-right: 0 !important; }
  body.s79-booking-matrix-active .booking-notify-node.s79-notify-drawer { top: 108px !important; right: 8px !important; bottom: 8px !important; }
}
@media (max-width: 720px) {
  body.s79-booking-matrix-active .booking-notify-node.s79-notify-drawer {
    top: 70px !important;
    right: 8px !important;
    bottom: 8px !important;
    left: auto !important;
    width: min(350px, calc(100vw - 16px)) !important;
  }
  body.s79-booking-matrix-active #s79MatrixQuickDock.s79-active { right: 8px !important; bottom: 66px !important; }
}

/* Room DB is the display source: never replace or ellipsize the physical room name. */
html body #view-bookings.s79-matrix-upgrade #tapeTable th:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeTable td:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th:first-child {
  width: 152px !important;
  min-width: 152px !important;
  max-width: 152px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child {
  overflow: visible !important;
  padding: 5px 8px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child > div,
html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child > div > div {
  min-width: 0 !important;
  width: 100% !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child .room-name-main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child .room-name-main::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 720px) {
  html body #view-bookings.s79-matrix-upgrade #tapeTable th:first-child,
  html body #view-bookings.s79-matrix-upgrade #tapeTable td:first-child,
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th:first-child {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }
  html body #view-bookings.s79-matrix-upgrade #tapeBody td:first-child .room-name-main {
    font-size: 12px !important;
  }
}

/* V17 cascade lock — must remain the final Booking Matrix rules. */
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns: minmax(300px,auto) minmax(610px,1fr) auto !important;
  column-gap: 18px !important;
  min-height: 118px !important;
  padding: 42px 16px 12px !important;
}
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height: 82px !important;
  padding: 12px 18px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeTable th:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeTable td:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th:first-child {
  width: 184px !important;
  min-width: 184px !important;
  max-width: 184px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child > div { height:126px !important; }
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
  width: 134px !important;
  min-width: 134px !important;
  max-width: 134px !important;
  height: 126px !important;
  padding: 6px 5px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] > .s79-day-card {
  height: 112px !important;
  padding: 10px 12px !important;
}
@media (max-width: 1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns: auto minmax(500px,1fr) auto !important;
    column-gap: 8px !important;
  }
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
  }
}
@media (max-width: 720px) {
  html body #view-bookings.s79-matrix-upgrade #tapeTable th:first-child,
  html body #view-bookings.s79-matrix-upgrade #tapeTable td:first-child,
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th:first-child {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }
}

/* V18 FINAL — compact header must win over all legacy upgrade layers above. */
html body #view-bookings.s79-matrix-upgrade .s79-ops-heading { display:none !important; }
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
  grid-template-columns:auto minmax(490px,1fr) auto !important;
  column-gap:10px !important;
  min-height:64px !important;
  padding:8px 10px !important;
  margin-bottom:8px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left,
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center,
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-right { gap:6px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar button,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar input,
html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar .tape-date-display {
  min-height:42px !important;
  height:42px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center > div:has(#tapeSearchInput) {
  min-width:220px !important;
  max-width:270px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-revenue-kpi { min-width:108px !important;height:42px !important; }
html body #view-bookings.s79-matrix-upgrade #syncCalendarChannexBtn,
html body #view-bookings.s79-matrix-upgrade #optimizeRoomsByRevenueBtn,
html body #view-bookings.s79-matrix-upgrade .s79-more-trigger { height:42px !important; }
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height:54px !important;
  height:54px !important;
  padding:7px 12px !important;
  margin-bottom:8px !important;
  grid-template-columns:minmax(0,1fr) auto !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary { gap:13px !important;font-size:10.5px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > b {
  flex:0 0 auto !important;
  padding-right:13px !important;
  border-right:1px solid #2c294b !important;
  font-size:10.5px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > span {
  flex:0 1 auto !important;
  max-width:260px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions { gap:6px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions button,
html body #view-bookings.s79-matrix-upgrade .s79-ai-confidence {
  height:36px !important;
  padding:0 10px !important;
  font-size:9.5px !important;
}

/* V81 — compact guest search and journal icon beside the alert control. */
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput),
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center > div:has(#tapeSearchInput) {
  width: 168px !important;
  min-width: 168px !important;
  max-width: 168px !important;
  flex: 0 0 168px !important;
}
html body #view-bookings.s79-matrix-upgrade #openOperationLogsBtn.s79-operation-log-icon {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
}
html body #view-bookings.s79-matrix-upgrade #openLiveRoomBoardBtn.s79-room-map-icon{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important}

/* V83 — compact AI action icons. Labels remain available through title/aria-label. */
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact],
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-room-insights],
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-booking-behavior]{
  width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;padding:0!important;
  display:inline-grid!important;place-items:center!important;font-size:0!important;border-radius:10px!important
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact] i,
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-room-insights] i,
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-booking-behavior] i{margin:0!important;font-size:17px!important;line-height:1!important}
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact]:hover,
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-room-insights]:hover,
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-booking-behavior]:hover{transform:translateY(-1px);filter:brightness(1.18)}
@media (max-width:1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-matrix-toolbar {
    grid-template-columns:auto minmax(390px,1fr) auto !important;
    column-gap:6px !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > span { max-width:210px !important; }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-analysis] { display:none !important; }
}

/* V21 — clearer, colour-coded RevPilot performance strip. */
html body #view-bookings.s79-matrix-upgrade #s79MatrixCopilot {
  min-height:62px !important;
  height:62px !important;
  padding:8px 13px !important;
  border-color:rgba(139,92,246,.42) !important;
  background:#0d132b !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary {
  gap:14px !important;
  font-size:12.5px !important;
  font-weight:750 !important;
  color:#e2e8f0 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > b {
  font-size:12px !important;
  letter-spacing:.055em !important;
  color:#f5f3ff !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > b i {
  color:#a78bfa !important;
  font-size:18px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > .s79-ai-metric {
  max-width:340px !important;
  padding:7px 10px !important;
  border:1px solid rgba(100,116,139,.25) !important;
  border-radius:8px !important;
  background:rgba(15,23,42,.72) !important;
  color:#e2e8f0 !important;
  line-height:1.15 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > .s79-ai-metric i {
  width:18px !important;
  height:18px !important;
  margin:0 7px 0 0 !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:6px !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:950 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-positive { color:#6ee7b7 !important;border-color:rgba(16,185,129,.25) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-positive i { color:#34d399 !important;background:rgba(16,185,129,.15) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-warning { color:#fcd34d !important;border-color:rgba(245,158,11,.28) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-warning i { color:#fbbf24 !important;background:rgba(245,158,11,.15) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-negative { color:#fb7185 !important;border-color:rgba(244,63,94,.28) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-negative i { color:#fb7185 !important;background:rgba(244,63,94,.15) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-metric.is-neutral { color:#c4b5fd !important;border-color:rgba(139,92,246,.25) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-confidence,
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions button {
  height:40px !important;
  padding:0 13px !important;
  font-size:11.5px !important;
  font-weight:900 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-ai-confidence { color:#c4b5fd !important;background:rgba(76,29,149,.18) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-analysis] { color:#fff !important;background:#6d28d9 !important;border-color:#8b5cf6 !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-analysis].is-loading { opacity:.72 !important;cursor:wait !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact] { color:#cffafe !important;background:linear-gradient(135deg,rgba(8,145,178,.34),rgba(79,70,229,.34)) !important;border-color:rgba(103,232,249,.48) !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact]:hover { background:linear-gradient(135deg,rgba(8,145,178,.55),rgba(109,40,217,.5)) !important;border-color:#67e8f9 !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-impact].is-loading { opacity:.72 !important;cursor:wait !important; }
@media (max-width:1500px) {
  html body #view-bookings.s79-matrix-upgrade .s79-ai-summary { gap:8px !important;font-size:11px !important; }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > .s79-ai-metric { max-width:230px !important;padding:6px 7px !important; }
}

/* V20 monthly revenue uses the Dashboard source and sits beside today revenue. */
html body #view-bookings.s79-matrix-upgrade .s79-month-revenue-kpi {
  min-width:118px !important;
  height:42px !important;
  padding:5px 11px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  gap:0 !important;
  border:1px solid rgba(99,102,241,.42) !important;
  border-radius:9px !important;
  color:#fff !important;
  background:#181b46 !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-month-revenue-kpi span:first-child {
  color:#a5b4fc !important;
  font-size:8px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-month-revenue-kpi #statMonth {
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-month-revenue-kpi[data-revenue-source="missing"] #statMonth {
  color:#fbbf24 !important;
  font-size:9px !important;
}
html body #view-bookings.s79-matrix-upgrade .s79-month-revenue-kpi[data-revenue-source="loading"] #statMonth {
  color:#c4b5fd !important;
  font-size:9px !important;
}

/* V19 FINAL — smaller Matrix/day rail and redundant actions removed. */
html body #view-bookings.s79-matrix-upgrade .s79-today-button,
html body #view-bookings.s79-matrix-upgrade .s79-revpilot-button,
html body #view-bookings.s79-matrix-upgrade [data-ai-assign] { display:none !important; }
html body #view-bookings.s79-matrix-upgrade #tapeTable th:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeTable td:first-child,
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th:first-child {
  width:146px !important;
  min-width:146px !important;
  max-width:146px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th:first-child > div { height:84px !important; }
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
  width:108px !important;
  min-width:108px !important;
  max-width:108px !important;
  height:84px !important;
  padding:4px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] > .s79-day-card {
  height:72px !important;
  padding:6px 8px !important;
  border-radius:8px !important;
}
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th[data-date] span.text-\[13px\] { font-size:13px !important; }
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th[data-date] span.text-\[12px\] { font-size:14px !important; }
html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow th[data-date] span.text-amber-400 { font-size:9px !important; }
html body #view-bookings.s79-matrix-upgrade .s79-ai-summary > span { max-width:300px !important; }
.tape-unassigned-header td{background:#2a1b0d!important;border-color:rgba(245,158,11,.45)!important}.tape-unassigned-header .tape-room-type-title{color:#fbbf24!important}.tape-unassigned-header .tape-room-type-count{color:#fde68a!important;border-color:rgba(245,158,11,.35)!important;background:rgba(120,53,15,.35)!important}.tape-unassigned-row{background:rgba(69,39,12,.2)!important}.tape-unassigned-cell{background:#17130f!important;border-left:3px solid #f59e0b!important}.tape-unassigned-cell .room-name-main{color:#fbbf24!important;font-weight:950!important}.tape-unassigned-cell .room-type-sub{max-width:136px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6b98a!important}.tape-unassigned-slot{background:rgba(120,53,15,.12)!important}.tape-unassigned-empty{background:rgba(15,23,42,.5)!important}
@media (max-width:1500px) {
  html body #view-bookings.s79-matrix-upgrade #tapeHeaderRow > th[data-date] {
    width:102px !important;
    min-width:102px !important;
    max-width:102px !important;
  }
  html body #view-bookings.s79-matrix-upgrade .s79-ai-actions [data-ai-analysis] { display:flex !important; }
}

/* Liquid glass Quick View: giữ vị trí ổn định nhưng không chặn pulse booking cha. */
html body #view-bookings div[id^="booking-"]:has(.rp-booking-quick-view),
html body #view-bookings div[id^="booking-"]:has(.rp-booking-quick-view):hover {
  transition:filter .12s ease,border-color .12s ease !important;
  transform:none !important;
}

/* V50 — theme kênh và hiệu ứng OTA độc lập khỏi Dashboard.html. */
html body #view-bookings .booking-card {
  border-width:.5px;
  border-style:solid;
  --tw-ring-color:transparent !important;
  --tw-ring-shadow:0 0 #0000 !important;
  outline:none !important;
}
html body #view-bookings .booking-card.rp-booking-blocked {
  background:linear-gradient(145deg,#0f172a,#1e293b) !important;
  border-color:#475569 !important;
  box-shadow:inset 0 1px 8px rgba(0,0,0,.35) !important;
  opacity:.9;
}
html body #view-bookings .booking-card.rp-booking-checked-in {
  background:linear-gradient(145deg,#059669,#10b981) !important;
  border-color:#34d399 !important;
  box-shadow:0 0 15px rgba(16,185,129,.5) !important;
}
html body #view-bookings .booking-card.rp-booking-checked-out {
  background:linear-gradient(145deg,#475569,#64748b) !important;
  border-color:#64748b !important;
  opacity:.6;
  filter:grayscale(.3);
}
html body #view-bookings .booking-card.rp-channel-trip {
  background:linear-gradient(145deg,#2563eb,#0891b2 54%,#22d3ee) !important;
  border-color:#bae6fd !important;
  box-shadow:0 0 18px rgba(34,211,238,.42) !important;
}
html body #view-bookings .booking-card.rp-channel-expedia {
  background:linear-gradient(145deg,#b45309,#f59e0b) !important;
  border-color:#fde68a !important;
}
html body #view-bookings .booking-card.rp-channel-agoda {
  background:linear-gradient(145deg,#0891b2,#06b6d4) !important;
  border-color:#a5f3fc !important;
  box-shadow:0 0 15px rgba(6,182,212,.4) !important;
}
html body #view-bookings .booking-card.rp-channel-booking {
  background:linear-gradient(145deg,#2563eb,#3b82f6) !important;
  border-color:#bfdbfe !important;
  box-shadow:0 0 15px rgba(59,130,246,.4) !important;
}
html body #view-bookings .booking-card.rp-channel-direct {
  background:linear-gradient(145deg,#4f46e5,#3730a3) !important;
  border-color:#818cf8 !important;
  box-shadow:0 0 15px rgba(79,70,229,.4) !important;
}
html body #view-bookings .booking-card.rp-channel-traveloka {
  background:linear-gradient(145deg,#0369a1,#0891b2) !important;
  border-color:#a5f3fc !important;
}
html body #view-bookings .booking-card.rp-channel-default {
  background:linear-gradient(145deg,#475569,#64748b) !important;
  border-color:rgba(203,213,225,.4) !important;
}
/* HOTEL COLLECT: chỉ nhấn badge; màu nền card vẫn giữ đúng nguồn OTA. */
html body #view-bookings .booking-card .rp-hotel-collect-badge {
  background:linear-gradient(135deg,#78350f,#d97706) !important;
  border:1px solid rgba(254,240,138,.96) !important;
  color:#fff7d6 !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.18),0 0 9px rgba(251,191,36,.48) !important;
  font-weight:950 !important;
}
/* Booking đã check-in nhưng quá giờ checkout: ưu tiên hơn toàn bộ màu OTA. */
html body #view-bookings .booking-card.rp-booking-overdue-checkout,
html body #view-bookings .booking-card.rp-booking-overdue-checkout:hover {
  background:linear-gradient(145deg,#9f1239,#e11d48 55%,#be123c) !important;
  border-color:rgba(254,205,211,.98) !important;
  box-shadow:0 0 18px rgba(244,63,94,.46),inset 0 1px 0 rgba(255,255,255,.2) !important;
  filter:none !important;
}
html body #view-bookings div[id^="booking-"].rp-ota-soft-pulse,
html body #view-bookings div[id^="booking-"].rp-ota-soft-pulse:hover {
  border-width:1.5px;
  animation:rpOtaRuntimeSoftPulse 3.2s cubic-bezier(.4,0,.6,1) infinite !important;
  will-change:opacity;
}
@keyframes rpOtaRuntimeSoftPulse {
  0%,100% { opacity:1; }
  50% { opacity:.95; }
}

/* Ngày đạt 100%: chỉ viền đỏ chớp, không làm mờ nội dung ô ngày. */
html body #view-bookings .s79-day-card.rp-full-day-alert {
  border:1.5px solid rgba(248,113,113,.62) !important;
  animation:rpFullDayRedBorder 2.2s ease-in-out infinite !important;
}
@keyframes rpFullDayRedBorder {
  0%,100% {
    border-color:rgba(248,113,113,.55);
    box-shadow:0 0 0 1px rgba(239,68,68,.08),0 0 5px rgba(239,68,68,.16);
  }
  50% {
    border-color:rgba(248,113,113,1);
    box-shadow:0 0 0 1px rgba(239,68,68,.28),0 0 12px rgba(239,68,68,.42);
  }
}

html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view {
  bottom:calc(100% + 3px) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) !important;
  transition:opacity .08s ease 0s,visibility 0s linear .08s !important;
  animation:none !important;
  background:radial-gradient(circle at 8% 0%,rgba(34,211,238,.15),transparent 34%),radial-gradient(circle at 96% 6%,rgba(139,92,246,.14),transparent 36%),linear-gradient(145deg,rgba(15,36,56,.99),rgba(6,20,35,.995) 56%,rgba(11,25,44,.995)) !important;
  border-color:rgba(125,211,252,.46) !important;
  box-shadow:0 28px 76px rgba(0,0,0,.72),0 8px 28px rgba(14,165,233,.13),inset 0 1px 0 rgba(255,255,255,.29),inset 1px 0 0 rgba(103,232,249,.09),inset -1px 0 0 rgba(167,139,250,.09) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html body #view-bookings div[id^="booking-"]:hover .premium-glass-tooltip.rp-booking-quick-view,
html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view:hover {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:none !important;
}
html body #view-bookings div[id^="booking-"].rp-qv-ready:hover .premium-glass-tooltip.rp-booking-quick-view,
html body #view-bookings div[id^="booking-"].rp-qv-ready .premium-glass-tooltip.rp-booking-quick-view:hover {
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) !important;
  transition:opacity .16s ease 0s,visibility 0s linear 0s !important;
}
html body #view-bookings #tapeBody tr:first-child .rp-booking-quick-view,
html body #view-bookings #tapeBody tr:nth-child(2) .rp-booking-quick-view {
  top:calc(100% + 3px) !important;
  bottom:auto !important;
}
html body #view-bookings .rpqv-avatar { background:linear-gradient(145deg,#0891b2,#155e75) !important;border-color:#67e8f9 !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 24px rgba(6,182,212,.2) !important; }
html body #view-bookings .rpqv-summary { background:linear-gradient(135deg,rgba(19,42,64,.96),rgba(8,25,43,.98)) !important;border-color:rgba(125,211,252,.28) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px rgba(0,0,0,.14) !important; }
html body #view-bookings .rpqv-summary h5 { color:#67e8f9 !important;text-shadow:0 0 14px rgba(34,211,238,.22) !important; }
html body #view-bookings .rpqv-summary section > span { color:#d4dfec !important; }
html body #view-bookings .rpqv-ai { background:radial-gradient(circle at 0 0,rgba(139,92,246,.18),transparent 42%),linear-gradient(135deg,rgba(37,28,78,.92),rgba(14,18,47,.97)) !important;border-color:rgba(167,139,250,.58) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 9px 26px rgba(76,29,149,.13) !important; }
html body #view-bookings .rpqv-ai strong { color:#ddd6fe !important; }
html body #view-bookings .rpqv-ai p { color:#e2e8f0 !important; }
html body #view-bookings .rpqv-note { background:linear-gradient(135deg,rgba(15,35,55,.96),rgba(8,24,41,.98)) !important;border-color:rgba(125,211,252,.22) !important;color:#cbd5e1 !important; }
html body #view-bookings .rpqv-open { background:linear-gradient(135deg,#22d3ee,#0891b2) !important;border-color:#67e8f9 !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 8px 22px rgba(6,182,212,.2) !important; }
html body #view-bookings .rpqv-open:hover { background:linear-gradient(135deg,#67e8f9,#06b6d4) !important;transform:none !important; }
html body #view-bookings .rpqv-locate,html body #view-bookings .rpqv-more { background:linear-gradient(145deg,rgba(20,42,63,.98),rgba(7,23,39,.99)) !important;border-color:rgba(148,163,184,.5) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important; }
html body #view-bookings .rpqv-locate:hover,html body #view-bookings .rpqv-more:hover { transform:none !important; }
@media (max-width:700px) {
  html body #view-bookings .premium-glass-tooltip.rp-booking-quick-view,
  html body #view-bookings div[id^="booking-"]:hover .premium-glass-tooltip.rp-booking-quick-view { transform:translateX(-10px) !important; }
}
/* RevPilot Matrix drag & drop: chỉ đổi phòng vật lý cùng hạng, giữ nguyên kỳ ở. */
#tapeBody.rp-drag-active .room-row { transition: background .16s ease, box-shadow .16s ease !important; }
#tapeBody.rp-drag-active .room-row::after {
    content: attr(data-drop-hint); position:absolute; right:14px; top:50%; transform:translateY(-50%);
    z-index:80; max-width:360px; padding:6px 10px; border-radius:8px; opacity:0; pointer-events:none;
    color:#dbeafe; background:rgba(2,8,23,.94); border:1px solid rgba(56,189,248,.35);
    font-size:11px; font-weight:800; box-shadow:0 10px 28px rgba(0,0,0,.35);
}
#tapeBody .booking-card[data-rp-drag-enabled="1"] { cursor:grab !important; touch-action:none !important; user-select:none !important; }
#tapeBody .booking-card[data-rp-drag-enabled="1"]:active { cursor:grabbing !important; }
#tapeBody .rp-booking-dragging { opacity:.10 !important; filter:saturate(.35) !important; transform:scale(.985) !important; animation:none !important; }
html body #view-bookings #tapeBody.rp-drag-armed div[id^="booking-"]:hover .premium-glass-tooltip.rp-booking-quick-view,
html body #view-bookings #tapeBody.rp-drag-armed .premium-glass-tooltip.rp-booking-quick-view,
html body #view-bookings #tapeBody.rp-drag-active div[id^="booking-"]:hover .premium-glass-tooltip.rp-booking-quick-view,
html body #view-bookings #tapeBody.rp-drag-active .premium-glass-tooltip.rp-booking-quick-view {
    display:none !important; opacity:0 !important; visibility:hidden !important;
    pointer-events:none !important; transform:none !important; transition:none !important;
}
#tapeBody .room-row.rp-drag-target-room > td:first-child {
    background:rgba(8,145,178,.22) !important;
    box-shadow:inset 4px 0 #22d3ee,inset 0 1px rgba(103,232,249,.35),inset 0 -1px rgba(103,232,249,.35) !important;
    color:#ecfeff !important;
}
#tapeBody .room-row.rp-drag-target-room.is-invalid > td:first-child {
    background:rgba(127,29,29,.22) !important; box-shadow:inset 4px 0 #fb7185 !important;
}
#tapeBody td.rp-drag-target-slot.is-valid {
    background:rgba(34,211,238,.18) !important;
    box-shadow:inset 0 0 0 2px #67e8f9,inset 0 0 28px rgba(34,211,238,.2) !important;
}
#tapeBody td.rp-drag-target-slot.is-invalid {
    background:rgba(244,63,94,.12) !important; box-shadow:inset 0 0 0 2px #fb7185 !important;
}
#tapeBody .room-row.rp-drag-target-room.is-swap > td:first-child { box-shadow:inset 4px 0 #fbbf24 !important; background:rgba(69,38,8,.72) !important; }
#tapeBody td.rp-drag-target-slot.is-swap { background:rgba(245,158,11,.16) !important; box-shadow:inset 0 0 0 2px rgba(251,191,36,.76) !important; }
#tapeHeaderRow th.rp-drag-date-active .s79-day-card { background:rgba(6,78,59,.75) !important; border-color:#34d399 !important; box-shadow:inset 0 -3px #34d399,0 0 0 1px rgba(52,211,153,.2) !important; }
#tapeHeaderRow th.rp-drag-date-active.is-invalid .s79-day-card { background:rgba(76,5,25,.78) !important; border-color:#fb7185 !important; box-shadow:inset 0 -3px #fb7185,0 0 0 1px rgba(251,113,133,.18) !important; }
#tapeBody .rp-drop-valid { background:rgba(16,185,129,.12) !important; box-shadow:inset 3px 0 #34d399,inset 0 0 0 1px rgba(52,211,153,.34) !important; }
#tapeBody .rp-drop-invalid { background:rgba(244,63,94,.08) !important; box-shadow:inset 3px 0 #fb7185 !important; }
#tapeBody .rp-drop-valid::after,#tapeBody .rp-drop-invalid::after { opacity:1; }
.rp-tape-drag-preview { position:fixed; z-index:2147483500; pointer-events:none; display:flex; flex-direction:column; justify-content:center; gap:2px; padding:5px 10px; overflow:hidden; border-radius:7px; color:#ecfeff; box-sizing:border-box; }
.rp-tape-drag-preview.is-valid {
    background:
      repeating-linear-gradient(90deg,
        transparent 0,
        transparent calc(var(--rp-drag-cell-width,125px) - 1px),
        rgba(165,243,252,.72) calc(var(--rp-drag-cell-width,125px) - 1px),
        rgba(165,243,252,.72) var(--rp-drag-cell-width,125px)),
      linear-gradient(90deg,rgba(8,145,178,.70),rgba(6,182,212,.62));
    border:2px solid #67e8f9;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 22px rgba(103,232,249,.24),0 8px 24px rgba(6,182,212,.28);
}
.rp-tape-drag-preview.is-invalid { background:rgba(76,5,25,.78); border:2px solid #fb7185; box-shadow:0 0 0 2px rgba(251,113,133,.12),0 8px 28px rgba(244,63,94,.2); }
.rp-tape-drag-preview strong { font-size:11px; line-height:1.15; font-weight:950; white-space:nowrap; }.rp-tape-drag-preview span { font-size:9px; line-height:1.15; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rp-drag-disabled { cursor:pointer !important; }
.rp-drag-confirm-backdrop { position:fixed; inset:0; z-index:2147483600; display:grid; place-items:center; padding:16px; background:rgba(2,6,23,.72); backdrop-filter:blur(12px); }
.rp-drag-confirm { width:min(430px,100%); padding:20px; border-radius:14px; color:#e5eefb; background:#0b1728; border:1px solid rgba(125,211,252,.28); box-shadow:0 28px 80px rgba(0,0,0,.58); }
.rp-drag-confirm-icon { float:left; width:42px; height:42px; margin-right:12px; display:grid; place-items:center; border-radius:11px; color:#67e8f9; background:rgba(6,182,212,.12); border:1px solid rgba(34,211,238,.25); }
.rp-drag-confirm h3 { margin:0 0 4px; font-size:17px; font-weight:900; }.rp-drag-confirm p { margin:0; color:#94a3b8; font-size:12px; }
.rp-drag-route { clear:both; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; margin:18px 0 8px; }
.rp-drag-route span { padding:10px; text-align:center; border-radius:9px; background:#111f33; border:1px solid #263a53; color:#f8fafc; font-weight:900; }.rp-drag-route i { color:#22d3ee; }
.rp-drag-route span small { display:block; margin-top:4px; color:#7dd3fc; font-size:10px; font-weight:750; }
.rp-drag-confirm small { display:block; color:#7dd3fc; font-weight:700; }.rp-drag-confirm-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }
.rp-drag-confirm-actions button { min-height:38px; padding:0 15px; border-radius:9px; border:1px solid #334155; background:#111c2e; color:#cbd5e1; font-weight:850; }
.rp-drag-confirm-actions button[data-answer="ok"] { color:#03202a; background:#22d3ee; border-color:#67e8f9; }.rp-drag-confirm-actions button:focus-visible { outline:2px solid #a78bfa; outline-offset:2px; }
.rp-tape-drag-preview.is-swap { border-color:#fbbf24 !important; background:rgba(69,38,8,.94) !important; box-shadow:0 16px 42px rgba(0,0,0,.5),inset 0 0 0 1px rgba(251,191,36,.36) !important; }
.rp-swap-confirm { width:min(620px,100%); border-color:rgba(251,191,36,.42); }
.rp-swap-confirm .rp-drag-confirm-icon { color:#fbbf24; background:rgba(245,158,11,.13); border-color:rgba(251,191,36,.35); }
.rp-swap-route { clear:both; display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; margin:18px 0 12px; }
.rp-swap-route > div { min-width:0; padding:13px; border-radius:10px; background:#111f33; border:1px solid #334155; }
.rp-swap-route b,.rp-swap-route span,.rp-swap-route small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rp-swap-route b { color:#f8fafc; font-size:13px; }.rp-swap-route span { margin-top:7px; color:#fbbf24; font-weight:900; }.rp-swap-route small { margin-top:4px; color:#94a3b8; }
.rp-swap-route > i { color:#fbbf24; font-size:18px; }
.rp-swap-summary { margin:-2px 0 14px; padding:11px 13px; border-radius:9px; border:1px solid rgba(251,191,36,.3); background:rgba(120,53,15,.18); }
.rp-swap-summary b,.rp-swap-summary span,.rp-swap-summary small { display:block; }.rp-swap-summary b { color:#fde68a; font-size:13px; }.rp-swap-summary span { margin-top:4px; color:#e2e8f0; font-size:11px; }.rp-swap-summary small { margin-top:3px; color:#94a3b8; }
@media (max-width:640px) { .rp-swap-route { grid-template-columns:1fr; }.rp-swap-route > i { transform:rotate(90deg); justify-self:center; } }
@media (max-width:767px) { #tapeBody .booking-card { -webkit-user-drag:none; } .rp-drag-confirm { padding:16px; } }

/* Smart Assign room-lock recognition ------------------------------------- */
#view-bookings .booking-card.rp-room-locked {
  box-shadow: inset 0 0 0 1px rgba(251,191,36,.42), 0 5px 14px rgba(2,6,23,.26) !important;
}
#view-bookings .rp-booking-card-badges {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-width:0;
}
#view-bookings .rp-room-lock-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  height:18px;
  padding:0 5px;
  border:1px solid rgba(251,191,36,.72);
  border-radius:5px;
  background:rgba(69,26,3,.90);
  color:#fde68a;
  font-size:7px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(120,53,15,.24);
}
#view-bookings .rp-room-lock-badge i { font-size:7px; color:#fbbf24; }
@media (max-width:767px) {
  #view-bookings .rp-room-lock-badge span { display:none; }
  #view-bookings .rp-room-lock-badge { width:18px; padding:0; }
}

/* Booking Matrix drag is mouse-only; touch/pen always keep native scrolling. */
@media (hover:none), (pointer:coarse) {
  #tapeBody .booking-card,
  #tapeBody .booking-card[data-rp-drag-enabled="1"] {
    cursor:pointer !important;
    touch-action:pan-x pan-y !important;
    user-select:auto !important;
    -webkit-user-drag:none !important;
  }
  #tapeBody.rp-touch-drag-blocked .booking-card:active {
    cursor:pointer !important;
  }
}

/* V81 FINAL — keep the guest search compact after every legacy layer. */
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-left > div:has(#tapeSearchInput),
html body #view-bookings.s79-matrix-upgrade .s79-toolbar-center > div:has(#tapeSearchInput) {
  width:168px !important;
  min-width:168px !important;
  max-width:168px !important;
  flex:0 0 168px !important;
}
html body #view-bookings.s79-matrix-upgrade #openOperationLogsBtn.s79-operation-log-icon {
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  padding:0 !important;
}
html body #view-bookings.s79-matrix-upgrade #openLiveRoomBoardBtn.s79-room-map-icon{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important}
