body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      min-height: 100vh;
      margin: 0;
      display: flex;
      flex-direction: column;
      background: radial-gradient(circle at top left,
          #ffffff 0%,
          #e6e6ff 20%,
          #add8e6 40%,
          #4169e1 70%,
          #1e90ff 100%);
      transition: opacity 0.3s ease;
    }

    .form {
      display: flex;
      flex-direction: column;
      gap: 5px;
      background-color: #ffffff;
      width: 100%;
      max-width: 400px;
      border-radius: 20px;
      padding: 20px;
    }

    .inputForm {
      border: 1.5px solid #ecedec;
      border-radius: 10px;
      height: 50px;
      display: flex;
      align-items: center;
      padding-left: 10px;
      transition: 0.2s ease-in-out;
    }

    .input {
      margin-left: 10px;
      border-radius: 10px;
      border: none;
      width: 100%;
      height: 100%;
    }

    .input:focus {
      outline: none;
    }

    .inputForm:focus-within {
      border: 1.5px solid #2d79f3;
    }

    .button-submit {
      margin: 20px 0 10px 0;
      background-color: #151717;
      border: none;
      color: white;
      font-size: 15px;
      font-weight: 500;
      border-radius: 10px;
      height: 50px;
      width: 100%;
      cursor: pointer;
    }

    .button-submit:hover {
      background-color: #252727;
    }

    /* Overlay penuh layar */
    .popup-loader {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .popup-loader.active {
      opacity: 1;
      visibility: visible;
    }

    /* Kotak loading */
    .popup-box {
      background: white;
      padding: 20px 30px;
      border-radius: 12px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      animation: scaleIn 0.3s ease;
    }

    @keyframes scaleIn {
      0% {
        transform: scale(0.8);
        opacity: 0;
      }

      100% {
        transform: scale(1);
        opacity: 1;
      }
    }

    /* Spinner */
    .popup-spinner {
      border: 4px solid #e5e7eb;
      border-top: 4px solid #2563eb;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% {
        transform: rotate(0deg);
      }

      100% {
        transform: rotate(360deg);
      }
    }