/* UNAVERAGE V59 | clean, compact UI polish — public customer portal + admin auth.
   Loaded after all legacy CSS with narrow, explicit selectors. */

/* PUBLIC: logo nav must not cover the portal header or its close action. */
body.premium-ui:not(.admin-page-body).customer-portal-open .site-nav.site-nav-luxury,
body.premium-ui:not(.admin-page-body).customer-portal-open #top.site-nav.site-nav-luxury {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay.active {
  z-index: 1400 !important;
  padding: 0 !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal > .customer-portal-modal-header {
  box-sizing: border-box !important;
  opacity: 1 !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 0 !important;
  z-index: 8 !important;
  background: #f2f1ec !important;
  border-bottom: 1px solid #dbdbd6 !important;
  transform: none !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal-header .close-btn,
body.premium-ui:not(.admin-page-body) #mybookings-overlay #mybookings-close-btn {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #191b1b !important;
  background: #fff !important;
  border: 1px solid #d2d2cc !important;
  border-radius: 6px !important;
  font: 500 25px/1 Inter, sans-serif !important;
  z-index: 9 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
body.premium-ui:not(.admin-page-body) #mybookings-overlay #mybookings-close-btn:focus-visible {
  outline: 2px solid #272727 !important;
  outline-offset: 2px !important;
}
@media (max-width: 900px) {
  body.premium-ui:not(.admin-page-body) #mybookings-overlay.active {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    background: #f2f1ec !important;
  }
  body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal {
    width: 100% !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal > .customer-portal-modal-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 14px !important;
    margin: 0 !important;
  }
  body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal-header > div:first-child {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal-header .modal-logo {
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }
}

/* ADMIN: black sign-in header; never show admin-only navigation after logout. */
body.premium-ui.admin-page-body:not(.admin-authenticated) .admin-topbar-page {
  background: #101010 !important;
  background-image: none !important;
  border-bottom: 1px solid #222 !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) :is(#admin-menu-toggle,#admin-sidebar-toggle,#admin-sidebar,#admin-sidebar-overlay,#admin-header-nav,#admin-mobile-menu,#mobile-admin-bottom-nav) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) {
  background: #f5f5f3 !important;
  color: #1a1d1e !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) :is(.admin-page-shell,.admin-wrap,.admin-app-layout) {
  background: #f5f5f3 !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view.admin-login-card-page {
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: 420px !important;
  margin: clamp(26px, 7vh, 72px) auto 36px !important;
  padding: clamp(22px, 4vw, 32px) !important;
  background: #fff !important;
  border: 1px solid #e2e4e0 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 38px rgba(16, 20, 20, .06) !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .premium-login-heading {
  margin-bottom: 20px !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .premium-eyebrow {
  color: #737977 !important;
  font-size: 10px !important;
  letter-spacing: .11em !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .premium-login-heading h1 {
  color: #15191a !important;
  font-size: clamp(26px, 5vw, 32px) !important;
  letter-spacing: -.035em !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .premium-login-heading p {
  color: #68706e !important;
  font-size: 12px !important;
  margin-top: 7px !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .form-stack {gap: 12px !important;}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .form-group label {
  color: #353b3c !important;
  font-size: 11px !important;
  letter-spacing: .065em !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view :is(input[type="text"],input[type="email"],input[type="password"]) {
  min-height: 46px !important;
  height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid #d3d9d4 !important;
  border-radius: 6px !important;
  background: #fafaf9 !important;
  color: #1b2020 !important;
  font-size: 15px !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .btn-primary {
  min-height: 47px !important;
  height: 47px !important;
  background: #16191a !important;
  border-color: #16191a !important;
  color: #fff !important;
  border-radius: 6px !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view .btn-primary:hover {background:#2b3032!important;}

/* Footer: readable contrast on the light sign-in canvas. */
body.premium-ui.admin-page-body:not(.admin-authenticated) .admin-footer {
  background: #f5f5f3 !important;
  border-top: 1px solid #e0e3df !important;
  color: #626b69 !important;
  font-size: 10px !important;
  letter-spacing: .085em !important;
  line-height: 1.7 !important;
  margin-top: auto !important;
  padding: 17px 16px calc(17px + env(safe-area-inset-bottom,0px)) !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) .admin-footer a,
body.premium-ui.admin-page-body:not(.admin-authenticated) .admin-footer a:hover {
  color: #151b1b !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.premium-ui.admin-page-body:not(.admin-authenticated) .admin-footer-separator {color:#a1a6a3!important; margin:0 5px!important;}

/* Logout confirmation: white paper + dark readable text + clear actions. */
body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-box.confirm-box-danger {
  box-sizing: border-box !important;
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: 420px !important;
  padding: 26px 24px 22px !important;
  border: 1px solid #e0e2df !important;
  border-radius: 12px !important;
  background: #fff !important;
  background-image: none !important;
  color: #191d1e !important;
  box-shadow: 0 22px 65px rgba(0,0,0,.2) !important;
  color-scheme: light !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-box-danger h3,
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-title {
  color: #181d1e !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
  margin: 0 0 12px !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-box-danger p {
  color: #555e5f !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin: 0 0 22px !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-actions.confirm-actions-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-cancel,
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-accept {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 11px 12px !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-cancel {
  background: #24282a !important;
  border: 1px solid #24282a !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-accept {
  background: #9a2529 !important;
  border: 1px solid #9a2529 !important;
}
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-cancel:hover {background:#363c3e!important;}
body.premium-ui.admin-page-body #logout-confirm-dialog #logout-confirm-accept:hover {background:#b32d33!important;}
@media (max-width: 420px) {
  body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-actions.confirm-actions-split {
    grid-template-columns: 1fr !important;
  }
  body.premium-ui.admin-page-body #logout-confirm-dialog .confirm-box.confirm-box-danger {
    padding: 24px 18px 18px !important;
  }
}

/* Existing directory shortcut lives within the Add Client panel, above the form. */
body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  gap: 12px !important;
  min-height: 58px !important;
  padding: 12px 14px !important;
  margin: 0 0 15px !important;
  border: 1px solid #d6dcd7 !important;
  background: #f7f8f6 !important;
  color: #202628 !important;
  border-radius: 7px !important;
  text-align: left !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
}
body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut small {
  display: block !important;
  margin-top: 4px !important;
  color: #6c7675 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #d2d8d3 !important;
  border-radius: 5px !important;
  color: #202628 !important;
  background: #fff !important;
  font-size: 17px !important;
}
body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut:hover,
body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut:focus-visible {
  background: #ecefeb !important;
  border-color: #aebbb1 !important;
}
@media(max-width:767px) {
  body.premium-ui.admin-page-body:not(.admin-authenticated) #admin-login-view.admin-login-card-page {
    width: calc(100vw - 28px) !important;
    padding: 25px 20px !important;
    margin-top: 30px !important;
  }
  body.premium-ui.admin-page-body.admin-authenticated #add-client-modal .client-directory-shortcut {
    margin: 2px 0 14px !important;
  }
}

/* Place key geometry inside the existing important layout layer too; this wins
   over older layered responsive positioning rules without changing booking UI. */
@layer ui-layout {
  @media (max-width:900px) {
    body.premium-ui:not(.admin-page-body) #mybookings-overlay.active {
      position: fixed !important;
      inset: 0 !important;
      padding: 0 !important;
      z-index: 1400 !important;
    }
    body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal > .customer-portal-modal-header {
      position: relative !important;
      top: auto !important;
      padding: calc(14px + env(safe-area-inset-top,0px)) 16px 14px !important;
      min-height: 72px !important;
      opacity: 1 !important;
      background: #f2f1ec !important;
      z-index: 8 !important;
    }
    body.premium-ui:not(.admin-page-body) #mybookings-overlay .customer-portal-modal-header #mybookings-close-btn {
      position: relative !important;
      inset: auto !important;
      display: inline-flex !important;
      flex: 0 0 40px !important;
      opacity: 1 !important;
      visibility: visible !important;
      z-index: 9 !important;
    }
  }
}
