        /* ===== Variables ===== */
        :root {
          --primary-color: #667eea;
          --secondary-color: #764ba2;
          --bg-gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
          --error-bg: #ffe0e0;
          --error-border: #f5c6cb;
          --error-color: #d9534f;
          --text-color: #333;
          --input-border: #ccc;
          --input-focus-shadow: rgba(102, 126, 234, 0.3);
          --button-shadow: rgba(102, 126, 234, 0.4);
        }

        /* ===== Reset ===== */
        * {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
        }

        /* ===== Body ===== */
        body {
          font-family: 'Poppins', sans-serif;
          background: var(--bg-gradient);
          min-height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        /* ===== Card container ===== */
        .form-container {
          background: #fff;
          padding: 40px 45px;
          border-radius: 15px;
          box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
          width: 380px;
          text-align: center;
          animation: fadeIn 0.6s ease-in-out;
        }

        /* ===== Heading ===== */
        .form-container h2 {
          font-size: 26px;
          color: var(--text-color);
          margin-bottom: 25px;
          font-weight: 700;
          letter-spacing: 0.5px;
        }

        /* ===== Error messages ===== */
        .error {
          background: var(--error-bg);
          color: var(--error-color);
          padding: 12px 15px;
          margin-bottom: 15px;
          border: 1px solid var(--error-border);
          border-radius: 8px;
          font-size: 14px;
          line-height: 1.4;
          text-align: center;
          transition: all 0.3s ease;
        }

        /* ===== Form labels ===== */
        form label {
          display: block;
          margin-bottom: 10px;
          font-size: 14px;
          color: #555;
          text-align: left;
        }

        /* ===== Inputs ===== */
        form input {
          width: 100%;
          padding: 12px 15px;
          margin-bottom: 18px;
          border-radius: 8px;
          border: 1px solid var(--input-border);
          font-size: 14px;
          transition: all 0.3s ease;
        }

        form input:focus {
          border-color: var(--primary-color);
          box-shadow: 0 0 8px var(--input-focus-shadow);
          outline: none;
        }

        /* ===== Phone.Email widget ===== */
        .pe_verify_email {
          display: block;
          width: 100%;
          margin-bottom: 18px;
        }

        .pe_verify_email iframe,
        .pe_verify_email div {
          width: 100% !important;
        }

        /* ===== Button ===== */
        button {
          width: 100%;
          padding: 13px 0;
          margin-top: 5px;
          background: var(--primary-color);
          background-image: linear-gradient(45deg, #667eea, #764ba2);
          border: none;
          border-radius: 8px;
          color: #fff;
          font-weight: 600;
          font-size: 16px;
          cursor: pointer;
          box-shadow: 0 5px 15px var(--button-shadow);
          transition: all 0.3s ease;
        }

        button:hover {
          transform: translateY(-2px);
          box-shadow: 0 8px 20px var(--button-shadow);
          background-image: linear-gradient(45deg, #5563c1, #5b3ca0);
        }

        /* ===== Bottom text ===== */
        p {
          text-align: center;
          margin-top: 18px;
          font-size: 14px;
          color: var(--text-color);
        }

        p a {
          color: var(--primary-color);
          text-decoration: none;
          font-weight: 600;
          transition: color 0.3s ease;
        }

        p a:hover {
          color: #5563c1;
          text-decoration: underline;
        }

        /* ===== Small fade-in animation ===== */
        @keyframes fadeIn {
          from {
            opacity: 0;
            transform: translateY(-15px);
          }

          to {
            opacity: 1;
            transform: translateY(0);
          }
        }

        .error-container {
          background: #ffe0e0;
          color: #d9534f;
          padding: 10px 15px;
          margin-bottom: 15px;
          border: 1px solid #f5c6cb;
          border-radius: 6px;
          font-size: 14px;
        }