  /* Modal backdrop */
  .modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(32, 32, 32, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 100;
    animation: fadeInBackdrop 0.3s forwards;
  }

  .modal-backdrop.show {
    display: flex;
  }

  @keyframes fadeInBackdrop {
    from {opacity: 0;}
    to {opacity: 1;}
  }

  @keyframes fadeOutBackdrop {
    from {opacity: 1;}
    to {opacity: 0;}
  }

  /* Modal container */
  .modal {
    background: white;
    border-radius: 12px;
    padding: 2.5rem 3rem;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    text-align: center;
    transform: translateY(-40px);
    opacity: 0;
    animation: slideDownFadeIn 0.35s forwards;
  }
  .modal.hide {
    animation: slideUpFadeOut 0.3s forwards;
  }

  @keyframes slideDownFadeIn {
    0% {
      transform: translateY(-40px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes slideUpFadeOut {
    0% {
      transform: translateY(0);
      opacity: 1;
    }
    100% {
      transform: translateY(-40px);
      opacity: 0;
    }
  }

  /* Success icon */
  .success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 1.5rem auto;
    border-radius: 50%;
    background-color: #28a745;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 15px #28a745aa;
  }
  .success-icon svg {
    width: 36px;
    height: 36px;
    stroke: white;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
  }

  /* Modal title */
  .modal-title {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #222;
  }

  /* Modal message */
  .modal-message {
    font-size: 1rem;
    color: #555;
    margin-bottom: 2rem;
    line-height: 1.4;
  }

  /* Close button */
  .close-modal-btn {
    background: #28a745;
    color: white;
    border: none;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 6px 12px rgba(40,167,69,0.4);
    transition: background 0.3s ease;
  }

  .close-modal-btn:hover {
    background: #218838;
  }