/* Flash Messages (Toast-style, disappearing) */
.notice, .alert {
  position: fixed;
  top: calc(var(--top-nav-height) + var(--space-sm));
  left: 50%;
  transform: translateX(-50%);
  padding: var(--space-sm) var(--space-lg);
  border-radius: 8px;
  font-weight: 500;
  font-size: 0.8125rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  z-index: 10000;
  max-width: 90%;
  width: auto;
  text-align: center;
  animation: slideDown 0.2s ease, fadeOut 0.2s ease 2.8s forwards;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@keyframes fadeOut {
  to {
    opacity: 0;
    transform: translateX(-50%) translateY(-12px);
  }
}

.notice {
  background: var(--success-color);
  color: white;
}

.alert {
  background: var(--danger-color);
  color: white;
}

/* Permanent Flash Messages (Inline, non-disappearing) */
.success-box {
  padding: var(--space-md);
  background-color: var(--primary-light);
  border-left: 3px solid var(--primary-color);
  border-radius: 4px;
  color: var(--primary-dark);
  margin-bottom: var(--space-lg);
  font-size: 0.8125rem;
  font-weight: 500;
}

.error-box {
  padding: var(--space-md);
  background-color: #fef2f2;
  border-left: 3px solid var(--danger-color);
  border-radius: 4px;
  color: #991b1b;
  margin-bottom: var(--space-lg);
  font-size: 0.8125rem;
}

.error-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.error-box li {
  margin-bottom: var(--space-xs);
}

.error-box li:last-child {
  margin-bottom: 0;
}
