/* Modal Overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 16px;
}

/* Modal Box */
.modal-box {
  background: #fff;
  border-radius: 10px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  padding: 18px 18px 14px;
  animation: modalIn .18s ease-out;
  font-family: Arial, sans-serif;
}

/* Header */
.modal-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.modal-title {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

/* Icon + message */
.status-icon {
  font-size: 22px;
}

.modal-message {
  font-size: 14px;
  color: #333;
  margin: 8px 0 16px;
}

/* Buttons */
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.modal-button {
  padding: 8px 16px;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  background: #007bff;
  color: #fff;
}

.modal-button:hover {
  background: #0056b3;
}

/* Variants */
.modal-success .modal-title {
  color: #155724;
}

.modal-error .modal-title {
  color: #721c24;
}

/* Entrance */
@keyframes modalIn {
  from {
    transform: translateY(6px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
