/*
 * Customer and administrator logout controls.
 * Keep selectors tied to their documented hooks so legacy button styles do
 * not leak into these two focused controls.
 */

/* Executive header decoration also targets legacy buttons; the explicit
   logout control must retain its label on both light and dark header skins. */
body[data-page="admin"] #app #adminLogoutBtn {
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px !important;
  border-color: #9aac9d;
  background: #fffdfa;
  color: #0d3b2b;
  font-size: 13px;
}
body[data-page="admin"] #app #adminLogoutBtn > span[data-admin-logout-label] {
  display: inline !important;
  visibility: visible !important;
}
body[data-page="admin"] #app #adminLogoutBtn svg {
  width: 20px;
  height: 20px;
  fill: none;
  color: inherit;
  stroke: currentColor;
}
body[data-page="admin"] #app #adminLogoutBtn:hover:not(:disabled) {
  border-color: #e74c3c;
  color: #fff;
  background: #e74c3c;
}
@media (max-width: 767px) {
  body[data-page="admin"] #app .ad-mobile-session-bar #adminLogoutBtn {
    border-color: #0d3b2b;
    background: #0d3b2b;
    color: #fffdf5;
  }
}

.customer-logout-btn[data-customer-logout] {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 16px;
  border: 1px solid #e7c8c5;
  border-radius: 999px;
  color: #8f3733;
  background: #fff4f1;
  box-shadow: 0 2px 7px rgb(86 48 42 / 7%);
  font: inherit;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.customer-logout-btn[data-customer-logout] > svg {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  color: currentColor;
}

.customer-logout-btn[data-customer-logout] > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-logout-btn[data-customer-logout]:hover:not(:disabled):not([aria-disabled="true"]) {
  border-color: #d89b96;
  color: #792b28;
  background: #fce7e3;
  box-shadow: 0 4px 12px rgb(86 48 42 / 11%);
}

.customer-logout-btn[data-customer-logout]:active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(1px);
}

.customer-logout-btn[data-customer-logout]:focus-visible {
  outline: 3px solid #b75a52;
  outline-offset: 3px;
}

.customer-logout-btn[data-customer-logout]:disabled,
.customer-logout-btn[data-customer-logout][aria-disabled="true"] {
  border-color: #e5dfdc;
  color: #817976;
  background: #f3f0ed;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.72;
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout] {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 13px;
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 8px;
  color: #fffdf5;
  background: transparent;
  font: inherit;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout] svg.logout-icon {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  color: currentColor;
}

.ad-mobile-session-bar {
  display: none;
}

/* The existing phone shell hides its desktop topbar. Keep one actual button
   and move it into this companion header row rather than duplicating IDs. */
@media (max-width: 767px) {
  body[data-page="admin"] .ad-mobile-session-bar {
    box-sizing: border-box;
    display: flex;
    position: fixed;
    inset-inline: 0;
    inset-block-start: 56px;
    height: 56px;
    padding: 6px 12px;
    align-items: center;
    justify-content: flex-end;
    background: #fffefa;
    border-bottom: 1px solid #e5dfd0;
    z-index: 89;
  }
  body[data-page="admin"] .admin-ui .ad-workspace {
    padding-block-start: 60px !important;
  }
  body[data-page="admin"] .ad-mobile-session-bar #adminLogoutBtn.admin-logout-btn[data-admin-logout] {
    margin: 0;
    border-color: #0d3b2b;
    background: #0d3b2b;
    color: #fffdf5;
    font-size: 13px;
  }
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout] > span[data-admin-logout-label] {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout]:hover:not(:disabled):not([aria-disabled="true"]) {
  border-color: #e74c3c;
  color: #fff;
  background: #e74c3c;
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout]:active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(1px);
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout]:focus-visible {
  outline: 3px solid #f3c86a;
  outline-offset: 3px;
}

body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout]:disabled,
body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout][aria-disabled="true"] {
  border-color: rgb(255 255 255 / 35%);
  color: rgb(255 255 255 / 65%);
  background: rgb(0 0 0 / 10%);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.8;
}

@media (max-width: 360px) {
  .customer-logout-btn[data-customer-logout],
  body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout] {
    padding-inline: 10px;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-logout-btn[data-customer-logout],
  body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout] {
    transition: none;
  }

  .customer-logout-btn[data-customer-logout]:active:not(:disabled):not([aria-disabled="true"]),
  body[data-page="admin"] #adminLogoutBtn.admin-logout-btn[data-admin-logout]:active:not(:disabled):not([aria-disabled="true"]) {
    transform: none;
  }
}
