.login-required-banner {
  width: calc(100% - 152px) !important;
  max-width: 1750px !important;
  height: 108px !important;
  min-height: 108px !important;
  margin: 28px auto 30px !important;
  padding: 16px 36px 16px 52px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  position: sticky !important;
  top: 12px !important;
  z-index: 60 !important;
  background:
    radial-gradient(circle at 4% 50%, rgba(255, 212, 226, 0.9), transparent 34%),
    linear-gradient(90deg, #fff1f7 0%, #fffafd 100%) !important;
  border: 1px solid #ffbfd5 !important;
  border-left: 5px solid #ff8ab5 !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 34px rgba(214, 84, 132, 0.08) !important;
}

.login-required-banner-icon {
  width: 26px !important;
  height: 26px !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 26px !important;
}

.login-required-banner-icon i {
  color: #c63f71 !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
}

.login-required-banner-content {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  line-height: 1.25 !important;
}

.login-required-banner-content strong {
  margin: 0 !important;
  color: #8a234d !important;
  font-size: 1.03rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.login-required-banner-content span {
  margin: 0 !important;
  color: #624653 !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
}

.login-required-banner-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

.login-required-banner a.login-required-btn,
.login-required-banner .login-required-btn {
  width: 108px !important;
  min-width: 108px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.login-required-banner a.login-required-btn:hover,
.login-required-banner .login-required-btn:hover {
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

.login-required-banner a.login-required-btn-primary,
.login-required-banner .login-required-btn-primary {
  background: #e2538b !important;
  border: 1px solid #e2538b !important;
  color: #fff !important;
  box-shadow: 0 14px 26px rgba(226, 83, 139, 0.22) !important;
}

.login-required-banner a.login-required-btn-primary:hover,
.login-required-banner .login-required-btn-primary:hover {
  background: #d84681 !important;
  color: #fff !important;
}

.login-required-banner a.login-required-btn-secondary,
.login-required-banner .login-required-btn-secondary {
  background: #fff9fc !important;
  border: 1px solid #f26fa2 !important;
  color: #e2538b !important;
  box-shadow: none !important;
}

.login-required-banner a.login-required-btn-secondary:hover,
.login-required-banner .login-required-btn-secondary:hover {
  background: #fff0f7 !important;
  color: #d84681 !important;
}

.report-found-page .login-required-banner-compact {
  width: 100% !important;
  height: 82px !important;
  min-height: 82px !important;
  margin: 18px auto 20px !important;
  padding: 12px 28px 12px 34px !important;
  gap: 20px !important;
}

.report-found-page .login-required-banner-compact .login-required-banner-content strong {
  font-size: 0.98rem !important;
}

.report-found-page .login-required-banner-compact .login-required-banner-content span {
  font-size: 0.84rem !important;
}

.report-found-page .login-required-banner-compact a.login-required-btn,
.report-found-page .login-required-banner-compact .login-required-btn {
  width: 98px !important;
  min-width: 98px !important;
  height: 38px !important;
  min-height: 38px !important;
  font-size: 0.86rem !important;
}

@media (max-width: 768px) {
  .login-required-banner {
    width: calc(100% - 28px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 18px auto 22px !important;
    padding: 14px !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .login-required-banner-actions {
    width: 100% !important;
    margin-left: 38px !important;
  }

  .login-required-banner a.login-required-btn,
  .login-required-banner .login-required-btn {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .report-found-page .login-required-banner-compact {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 14px auto 18px !important;
    padding: 14px !important;
  }
}

@media (max-width: 480px) {
  .login-required-banner {
    width: calc(100% - 24px) !important;
  }

  .login-required-banner-actions {
    margin-left: 0 !important;
  }
}
