/* Flash Messages Styling - Theme-based */
.flash-container {
  position: fixed;
  top: 60px; /* Adjust based on your navbar height */
  left: 0;
  right: 0;
  z-index: 1000;
  transition: opacity 0.3s ease-out;
}

.flash-message {
  padding: 12px 20px;
  margin-bottom: 0;
  text-align: center;
  font-weight: 500;
  box-shadow: 0 2px 4px oklch(from var(--foreground) l c h / 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-width: 1px;
  border-style: solid;
}

.flash-content {
  flex-grow: 1;
}

.flash-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  padding: 0 0 0 15px;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.flash-close:hover {
  opacity: 1;
}

.flash-notice {
  background-color: oklch(from var(--success) l c h / 0.1);
  color: var(--success);
  border-color: oklch(from var(--success) l c h / 0.2);
}

.flash-notice .flash-close {
  color: var(--success);
}

.flash-alert, .flash-error {
  background-color: oklch(from var(--destructive) l c h / 0.1);
  color: var(--destructive);
  border-color: oklch(from var(--destructive) l c h / 0.2);
}

.flash-alert .flash-close, .flash-error .flash-close {
  color: var(--destructive);
}

.flash-warning {
  background-color: oklch(from var(--warning) l c h / 0.1);
  color: var(--warning);
  border-color: oklch(from var(--warning) l c h / 0.2);
}

.flash-warning .flash-close {
  color: var(--warning);
}

.flash-info {
  background-color: oklch(from var(--primary) l c h / 0.1);
  color: var(--primary);
  border-color: oklch(from var(--primary) l c h / 0.2);
}

.flash-info .flash-close {
  color: var(--primary);
}

.flash-hiding {
  opacity: 0;
} 