body.page-loading {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

.splash-screen {
  display: none;
}

.page-loading .splash-screen {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: Inter, Helvetica, 'sans-serif';
  background-color: #f9f9f9;
  color: #5e6278;
  line-height: 1;
  font-size: 14px;
  font-weight: 400;
}

.page-loading .splash-screen span {
  color: #5e6278;
  transition: none !important;
  -webkit-font-smoothing: antialiased;
}

.page-loading .splash-screen img {
  margin-left: calc(100vw - 100%);
  margin-bottom: 30px;
  height: 30px !important;
}

html[data-bs-theme='dark'] .page-loading .splash-screen {
  background-color: #151521;
  color: #ffffff;
}

.splash-screen .dark-logo {
  display: none;
}

.splash-screen .light-logo {
  display: block;
}

html[data-bs-theme='dark'] .splash-screen .light-logo {
  display: none;
}

html[data-bs-theme='dark'] .splash-screen .dark-logo {
  display: block;
}

/* Logout Loading Styles */
body.logging-out {
  overflow: hidden;
  pointer-events: none;
}

body.logging-out * {
  pointer-events: none !important;
  user-select: none !important;
}

.logout-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #333;
  pointer-events: auto;
  animation: fadeIn 0.3s ease-out;
}

.logout-overlay * {
  pointer-events: auto !important;
}

.logout-overlay img {
  animation: pulse 2s infinite ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
