 :root {
      --primary: #0f6b4a;
      --primary-dark: #084c35;
      --primary-light: #eef6f2;
      --text-main: #12332a;
      --text-muted: #66736f;
      --border: #dce9e4;
      --bg-body: #f4f8f6;
      --bg-white: #ffffff;
      --error: #a82424;
      --success: #0f6b4a;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: "Segoe UI", Arial, sans-serif;
    }

    body {
      background: var(--bg-body);
      color: var(--text-main);
      padding: 40px 20px;
      min-height: 100vh;
    }
    
    .form-container {
      max-width: 1150px;
      margin: auto;
      background: var(--bg-white);
      border-radius: 20px;
      padding: 40px;
      box-shadow: 0 18px 45px rgba(15, 70, 50, 0.08);
    }

    .form-header {
      text-align: center;
      margin-bottom: 35px;
    }

    .form-header h1 {
      color: var(--primary);
      font-size: 34px;
      margin-bottom: 8px;
    }

    .form-header p {
      color: var(--text-muted);
      font-size: 16px;
    }

    .section {
      margin-bottom: 35px;
      padding: 28px;
      border: 1px solid var(--border);
      border-radius: 16px;
      background: #fbfdfc;
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .form-group {
      display: flex;
      flex-direction: column;
    }

    label {
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 8px;
      color: #263f37;
      line-height: 1.45;
    }

    input {
      width: 100%;
      padding: 13px 14px;
      border: 1px solid #d3e1dc;
      border-radius: 10px;
      font-size: 15px;
      background: var(--bg-white);
      outline: none;
      transition: border-color 0.2s;
    }

    input:focus {
      border-color: var(--primary);
      box-shadow: 0 0 0 4px rgba(15, 107, 74, 0.12);
    }

    .step-navigation {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: -10px;
    }

    .submit-area {
      width: 100%;
      display: flex;
      justify-content: center;
    }

    .nav-btn,
    .submit-btn {
      border: none;
      padding: 14px 24px;
      border-radius: 12px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      transition: 0.25s;
    }

    .prev-btn {
      background: #e8f0ed;
      color: #12332a;
    }

    .submit-btn {
      background: var(--primary);
      color: var(--bg-white);
      width: auto;
      /* Changed from 100% to fit the text */
      padding: 14px 32px;
      /* Added extra padding on the sides */
    }

    .nav-btn:hover,
    .submit-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 18px rgba(15, 70, 50, 0.15);
    }

    .alert {
      display: none;
      margin-bottom: 22px;
      padding: 14px 18px;
      border-radius: 12px;
      font-weight: 600;
    }

    .alert.success {
      display: block;
      background: #e8f7ef;
      color: var(--primary);
      border: 1px solid #b7e3ca;
    }

    .alert.error {
      display: block;
      background: #fff0f0;
      color: var(--error);
      border: 1px solid #f0b6b6;
    }


    select {
      width: 100%;
      padding: 13px 14px;
      border: 1px solid #d3e1dc;
      border-radius: 10px;
      font-size: 15px;
      background: #ffffff;
      outline: none;
    }

    select:focus {
      border-color: #0f6b4a;
      box-shadow: 0 0 0 4px rgba(15, 107, 74, 0.12);
    }

    .hidden {
      display: none;
    }

    @media (max-width: 768px) {
      .form-container {
        padding: 25px;
      }

      .submit-area,
      .step-navigation {
        flex-direction: column-reverse;
        align-items: stretch;
      }
    }