:root {
  --color-primary: #1b325f;
  --color-primary-transparent: #1b325fdd;
  --color-secondary: #3a89c9;
  --color-accent: #f26c4f;
  --color-light: #e9f2f9;
  --color-highlight: #9cc4e4;
  --color-highlight-transparent: #9cc4e4aa;
}

.theme-body {
  background-color: var(--color-primary);
}

.theme-text {
  color: var(--color-light) !important;
}

.theme-text-secondary {
  color: var(--color-highlight) !important;
}

.parties-container {
  max-height: 80vh;
  overflow-y: auto;
  padding: 20px;
}

.search-container {
  position: sticky;
  top: 0;
  background-color: var(--color-primary-transparent);
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
  z-index: 1000;
}

.party-card {
  transition: transform 0.2s;
  background-color: var(--color-primary-transparent);
  border: 1px solid var(--color-light);
  cursor: pointer;
}

.party-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-highlight);
}

.time-remaining {
  color: var(--color-accent);
  font-weight: bold;
}

.private-badge {
  background-color: var(--color-accent);
  color: var(--color-light);
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.8em;
}

.theme-input {
  background-color: var(--color-primary) !important;
  border: 1px solid var(--color-light) !important;
  color: var(--color-light) !important;
}

.theme-input:focus {
  background-color: var(--color-primary) !important;
  border-color: var(--color-highlight) !important;
  color: var(--color-light) !important;
  box-shadow: 0 0 0 0.25rem var(--color-secondary) !important;
}

.theme-input::placeholder {
  color: var(--color-highlight) !important;
}

/* Custom scrollbar */
.parties-container::-webkit-scrollbar {
  width: 8px;
}

.parties-container::-webkit-scrollbar-track {
  background: var(--color-primary);
}

.parties-container::-webkit-scrollbar-thumb {
  background: var(--color-secondary);
  border-radius: 4px;
}

.parties-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-highlight);
}
