/* ============================================
     * APPLY PAGE SPECIFIC STYLES
     * ============================================ */

    /* Page Header */
    .page-header {
      padding: 140px 40px 60px;
      text-align: center;
      background: var(--color-bg-warm);
      border-bottom: 1px solid var(--color-border);
    }

    .page-header h1 {
      font-size: 2.5rem;
      color: var(--color-text);
      margin-bottom: 12px;
      font-weight: 700;
    }

    .page-header p {
      font-size: 1.1rem;
      color: var(--color-text-muted);
      max-width: 600px;
      margin: 0 auto;
    }

    /* Container */
    .container {
      max-width: 900px;
      margin: 0 auto;
      padding: 60px 40px;
    }

    /* Roles Section */
    .roles-section {
      margin-bottom: 50px;
    }

    .section-header {
      margin-bottom: 24px;
    }

    .section-header h2 {
      font-size: 1.3rem;
      color: var(--color-text);
      margin-bottom: 8px;
      font-weight: 600;
    }

    .section-header p {
      color: var(--color-text-muted);
      font-size: 0.95rem;
    }

    .roles-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }

    .role-tag {
      background: var(--color-bg-warm);
      padding: 16px;
      border-radius: 6px;
      text-align: center;
      border: 1px solid var(--color-border);
      font-size: 0.9rem;
      color: var(--color-text);
      font-weight: 500;
    }

    /* Onboarding Section */
    .onboarding-section {
      background: var(--color-bg-warm);
      padding: 40px;
      border-radius: 6px;
      margin-bottom: 50px;
      border-left: 3px solid var(--color-gold);
    }

    .onboarding-section h2 {
      font-size: 1.2rem;
      color: var(--color-text);
      margin-bottom: 20px;
      font-weight: 600;
    }

    .onboarding-steps {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .onboarding-step {
      display: flex;
      align-items: flex-start;
      gap: 16px;
    }

    .step-number {
      width: 28px;
      height: 28px;
      min-width: 28px;
      background: var(--color-bg);
      border: 2px solid var(--color-gold);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--color-gold);
    }

    .step-content h3 {
      font-size: 1rem;
      color: var(--color-text);
      margin-bottom: 4px;
      font-weight: 600;
    }

    .step-content p {
      color: var(--color-text-muted);
      font-size: 0.9rem;
    }

    /* Application Form */
    .form-section {
      margin-bottom: 50px;
    }

    .form-section h2 {
      font-size: 1.3rem;
      color: var(--color-text);
      margin-bottom: 24px;
      font-weight: 600;
    }

    .form-block {
      border: 1px solid var(--color-border);
      border-radius: 6px;
      padding: 20px;
      margin-bottom: 24px;
      background: var(--color-bg);
    }

    .form-block h3 {
      font-size: 1rem;
      margin-bottom: 16px;
      color: var(--color-text);
      font-weight: 600;
    }

    .form-group textarea {
      min-height: 100px;
      resize: vertical;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }

    .checkbox-group {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .checkbox-item {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .checkbox-item input[type="checkbox"] {
      width: 18px;
      height: 18px;
      accent-color: var(--color-gold);
    }

    .checkbox-item span {
      font-size: 0.9rem;
      color: var(--color-text);
    }

    .form-note {
      background: var(--color-bg-warm);
      padding: 16px 20px;
      border-radius: 4px;
      margin-bottom: 24px;
      font-size: 0.9rem;
      color: var(--color-text-muted);
      border-left: 3px solid var(--color-gold);
    }

    .submit-btn {
      width: 100%;
      padding: 16px;
      background: var(--color-gold);
      color: var(--color-text);
      border: none;
      border-radius: 4px;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .submit-btn:hover {
      background: var(--color-text);
      color: var(--color-bg-white);
      transform: translateY(-2px);
    }

    /* Success Message */
    .form-success {
      display: none;
      text-align: center;
      padding: 40px;
      background: var(--color-bg-warm);
      border-radius: 6px;
      border: 1px solid var(--color-border);
    }

    .form-success.active {
      display: block;
    }

    .form-success h2 {
      color: var(--color-text);
      margin-bottom: 12px;
    }

    .form-success p {
      color: var(--color-text-muted);
    }

    /* Honeypot */
    .hp-field {
      position: absolute;
      left: -9999px;
    }

    /* Responsive */
    @media (max-width: 768px) {
      .page-header {
        padding: 120px 20px 40px;
      }

      .page-header h1 {
        font-size: 2rem;
      }

      .container {
        padding: 40px 20px;
      }

      .roles-grid {
        grid-template-columns: 1fr 1fr;
      }

      .onboarding-section {
        padding: 30px 20px;
      }

      .form-row {
        grid-template-columns: 1fr;
      }

      .checkbox-group {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 480px) {
      .roles-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Role + Experience Rows */
    .roles-with-experience { display: flex; flex-direction: column; gap: 12px; }
    .role-row {
      display: flex;
      align-items: center;
      gap: 15px;
      padding: 12px 15px;
      background: var(--color-bg-warm);
      border: 1px solid var(--color-border);
      border-radius: 6px;
      flex-wrap: wrap;
      transition: border-color 0.3s ease;
    }
    .role-row:has(input:checked) { border-color: var(--color-gold); background: var(--color-bg-white); }
    .role-checkbox { display: flex; align-items: center; gap: 10px; min-width: 160px; cursor: pointer; }
    .role-checkbox input { width: 18px; height: 18px; accent-color: var(--color-gold); cursor: pointer; }
    .role-checkbox span { color: var(--color-text); }
    .experience-select {
      flex: 1;
      min-width: 180px;
      padding: 10px 12px;
      background: var(--color-bg);
      border: 1px solid var(--color-border);
      border-radius: 4px;
      color: var(--color-text);
      font-size: 0.9rem;
      font-family: var(--font-primary);
    }
    .experience-select:disabled { opacity: 0.4; cursor: not-allowed; }
    .experience-select:not(:disabled) { border-color: var(--color-gold); }

    /* File Upload Styles */
    .file-help {
      font-size: 0.85rem;
      color: var(--color-text-muted);
      margin-top: 8px;
    }

    .upload-status {
      margin-top: 12px;
      padding: 12px 16px;
      border-radius: 4px;
      font-size: 0.9rem;
      display: none;
    }

    .upload-status.uploading {
      display: block;
      background: var(--color-warning-bg);
      border: 1px solid rgba(183, 121, 31, 0.3);
      color: var(--color-warning);
    }

    .upload-status.success {
      display: block;
      background: var(--color-success-bg);
      border: 1px solid rgba(45, 138, 78, 0.3);
      color: var(--color-success);
    }

    .upload-status.error {
      display: block;
      background: var(--color-error-bg);
      border: 1px solid rgba(197, 48, 48, 0.3);
      color: var(--color-error);
    }

    input[type="file"] {
      padding: 12px;
      border: 2px dashed var(--color-border);
      border-radius: 4px;
      width: 100%;
      cursor: pointer;
      transition: border-color 0.3s ease;
    }

    input[type="file"]:hover {
      border-color: var(--color-gold);
    }

    input[type="file"]:focus {
      outline: none;
      border-color: var(--color-gold);
    }
