/* SPA and Interaction Styles */

/* SPA Transition Styles */
.right-box {
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.right-box.loading {
  opacity: 0.7;
  transform: translateY(10px);
}

.loading-page {
  text-align: center;
  padding: 50px;
  font-size: 18px;
  color: #27F5BB;
}

.error-page {
  text-align: center;
  padding: 50px;
  font-size: 18px;
  color: #ff6b6b;
}

/* SPA link styling */
[data-spa-link] {
  cursor: pointer;
  transition: color 0.2s ease;
}

[data-spa-link]:hover {
  color: #27F5BB;
}

/* PDF container improvements for SPA */
.pdf-container {
  margin: 10px 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  text-align: center;
  height: calc(100vh - 300px);
  min-height: 800px;
  position: relative;
}

.pdf-container iframe {
  border: 1px solid #666;
  border-radius: 4px;
  max-width: 100%;
  width: 100%;
  height: calc(100% - 60px);
  background: #f0f0f0;
  transition: opacity 0.3s ease;
}

.pdf-container.pdf-error iframe {
  opacity: 0.5;
}

.pdf-container p {
  margin-top: 10px;
  font-size: 11pt;
}

.pdf-container a {
  color: #27F5BB;
}

/* Button styles */
button {
  padding: 1px 11px;
  cursor: pointer;
  font-size: 9px;
  border-radius: 3px 3px 3px 3px;
  border: solid 1px #000000;
  background: #575757;
  box-shadow: inset 0 0 3px 0px #000000;
  color: #efefef;
}

button:hover {
  background: #5e5e5e;
}
