:root {
      --primary-color: #003C71;
      /* น้ำเงินเข้ม PSU */
      --secondary-color: #FFFFFF;
      /* ขาว */
      --light-blue-bg: #e0efff;
      /* สีฟ้าอ่อนสำหรับพื้นหลังส่วนหัวข้อ */
      --text-color: #333;
      --light-text-color: #777;
      /* ปรับให้เข้มขึ้นเล็กน้อย */
      --border-color: #ccd2da;
      /* สีเทาอ่อนสำหรับเส้นขอบ input/card */
      --bg-color: #f5f8fb;
      /* สีพื้นหลังโดยรวม - เทาอ่อนอมฟ้า */
      --card-bg: var(--secondary-color);
      /* ใช้สีขาวเป็นพื้นหลังการ์ด */
      --error-color: #dc3545;
      /* แดงสำหรับข้อผิดพลาด */
      --warning-bg: #fff3cd;
      /* พื้นหลังสีเหลืองอ่อนสำหรับคำเตือน */
      --warning-text: #856404;
      /* ข้อความสีน้ำตาลสำหรับคำเตือน */
      --accent-green: #28a745;
      /* สีเขียวสำหรับปุ่ม/เน้น */
      --accent-orange: #ff9800;
      /* สีส้มสำหรับปุ่ม/เน้น */
      --link-color: #007bff;
      /* สีน้ำเงินสำหรับลิงก์ */
      --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.04);
      /* เงาเบามาก */
      --shadow-light: 0 6px 16px rgba(0, 0, 0, 0.08);
      /* เงานุ่มนวล */
      --shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.12);
      /* เงาเมื่อ hover */
    }

    body {
      font-family: 'IBM Plex Sans Thai', sans-serif;
      margin: 0;
      padding: 25px;
      background-color: var(--bg-color);
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: 100vh;
      color: var(--text-color);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-family: 'IBM Plex Sans Thai', sans-serif !important;
      margin: 0 !important;
      padding: 25px !important;
      background-color: var(--bg-color) !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      min-height: 100vh !important;
      color: var(--text-color) !important;
      line-height: 1.6 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
    }

    .main-wrapper {
      width: 100%;
      max-width: 1050px;
      background-color: var(--card-bg);
      box-shadow: var(--shadow-light);
      /* ใช้เงาที่สวยงามขึ้น */
      border-radius: 18px;
      /* เพิ่มความโค้งมน */
      overflow: hidden;
      margin-bottom: 30px;
    }

    /* Header Styles */
    .header-top {
      background-color: var(--primary-color);
      color: var(--secondary-color);
      padding: 15px 40px;
      text-align: right;
      font-size: 0.85em;
      letter-spacing: 0.5px;
    }

    .header-main {
      display: flex;
      align-items: center;
      padding: 25px 40px;
      background-color: var(--secondary-color);
      border-bottom: 1px solid var(--border-color);
    }

    .header-main .logo img {
      width: 160px;
      /* height: 80px; */
      margin-right: 25px;
      object-fit: contain;
      border-radius: 8px;
    }

    .header-main .university-info h1 {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      font-size: 1.8em;
      color: var(--primary-color);
      font-weight: 700;
      letter-spacing: -0.8px;
    }

    .header-main .university-info p {
      margin: 6px 0 0;
      font-size: 0.9em;
      color: var(--light-text-color);
    }

    .header-main .university-info p:last-child {
      font-size: 0.8em;
      margin-top: 3px;
    }

    /* Nav (Breadcrumbs) */
    .breadcrumbs {
      background-color: #004F90;
      /* สีน้ำเงินเข้มขึ้นเล็กน้อย */
      color: var(--secondary-color);
      padding: 15px 40px;
      font-size: 0.9em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .breadcrumbs a {
      color: var(--secondary-color);
      text-decoration: none;
      opacity: 0.8;
      transition: opacity 0.2s ease;
    }

    .breadcrumbs a:hover {
      opacity: 1;
      text-decoration: underline;
    }

    .breadcrumbs span {
      color: rgba(255, 255, 255, 0.6);
      margin: 0 8px;
    }

    /* Main Form Content Padding */
    .form-content {
      padding: 35px 40px;
    }

    /* Section Header Styles */
    .form-section-header {

      display: flex;
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 35px;
      /* เพิ่มระยะห่างด้านล่าง */
      background-color: var(--light-blue-bg);
      padding: 20px 28px;
      /* เพิ่ม padding */
      border-left: 6px solid var(--primary-color);
      border-radius: 12px;
      /* โค้งมนขึ้น */
      box-shadow: var(--shadow-subtle);
      /* ใช้เงาที่เบาลงเล็กน้อย */
      position: relative;
      overflow: hidden;
      /* เพื่อให้ background gradient แสดงผลดี */
    }

    .form-section-header::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to right, rgba(255, 255, 255, 0.1), transparent);
      /* เพิ่ม gradient subtle */
      z-index: 0;
    }

    .form-section-header h2,
    .form-section-header p {
      position: relative;
      /* ให้ข้อความอยู่เหนือ pseudo-element */
      z-index: 1;
    }

    .form-section-header h2 {
      margin: 0;
      font-size: 1.6em;
      color: var(--primary-color);
      font-weight: 700;
      margin-bottom: 8px;
      /* ระยะห่างกับ p */
    }

    .form-section-header h2 i {
      /* Icon in header */
      margin-right: 12px;
      color: var(--primary-color);
      font-size: 0.9em;
    }

    .form-section-header p {
      margin: 0;
      font-size: 0.98em;
      /* ขนาดใหญ่ขึ้นเล็กน้อย */
      color: var(--light-text-color);
    }

    /* Instructions Section */
    .form-instructions {
      background-color: var(--warning-bg);
      color: var(--warning-text);
      padding: 20px;
      margin-bottom: 35px;
      border: 1px solid #ffeeba;
      border-radius: 10px;
      /* โค้งมนขึ้น */
      font-size: 0.95em;
      text-align: left;
      box-shadow: var(--shadow-subtle);
      /* ใช้เงาที่เบาลง */
    }

    .form-instructions i {
      /* Icon in instructions */
      margin-right: 8px;
      color: var(--warning-text);
    }

    .form-instructions ul {
      margin: 10px 0 0 25px;
      padding: 0;
      list-style: disc;
      line-height: 1.8;
    }

    .form-instructions li {
      margin-bottom: 6px;
    }

    .form-instructions li strong {
      color: var(--warning-text);
    }


    /* Form Grid Layout */
    .form-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px 50px;
      /* เพิ่ม gap ด้านข้างให้กว้างขึ้น */
      margin-bottom: 40px;
    }

    .form-grid.col-3 {
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }

    .form-grid.col-4 {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    /* Form Row and Input Styles */
    .form-row {
      /* border: 0.5px solid rgba(212, 213, 216, 0.74); */
      display: flex;
      flex-direction: column;
      position: relative;
      background-color: var(--secondary-color);
      /* พื้นหลังเป็นสีขาวเสมอ */
      padding: 0;
      /* ลบ padding ที่อาจมาจาก browser default */
      border-radius: 12px;
      /* ให้โค้งมนสวยงาม */
      box-shadow: var(--shadow-subtle);
      /* เงาเบาๆ ให้ดูเป็น card */
      transition: box-shadow 0.3s ease;
      /* เพิ่ม transition สำหรับ shadow */
    }

    /* เพิ่มเงาเล็กๆ เมื่อ hover ที่ form-row */
    .form-row:hover {
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
      /* เงาอ่อนๆ เมื่อ hover */
    }

    .form-row label {
      font-weight: 600;
      color: var(--text-color);
      margin-bottom: 8px;
      /* ปรับ margin-bottom */
      font-size: 0.95em;
      /* ปรับขนาด label */
      padding: 15px 18px 0;
      /* Padding ด้านบนและด้านข้าง */
      background-color: transparent;
      /* background ของ label โปร่งใส */
      position: relative;
      z-index: 1;
      /* ให้ label อยู่บน input effect */
    }

    .form-row input[type="text"],
    .form-row input[type="email"],
    .form-row input[type="tel"],
    .form-row input[type="date"],
    .form-row select {
      border: 1px solid var(--border-color);
      padding: 12px 18px;
      /* ปรับ padding ให้สมดุล */
      margin: 0 18px 18px;
      /* margin ด้านข้างและล่าง */
      width: calc(100% - 36px);
      /* width 100% ลบด้วย margin 2 ข้าง */
      border-radius: 10px;
      /* โค้งมนมากขึ้น */
      font-size: 1em;
      color: var(--text-color);
      background-color: #fcfdfe;
      /* พื้นหลังสีขาวอมฟ้าอ่อนมาก */
      box-sizing: border-box;
      transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }

    .form-row input[type="text"]::placeholder,
    .form-row input[type="email"]::placeholder,
    .form-row input[type="tel"]::placeholder,
    .form-row input[type="date"]::placeholder {
      color: #aeb6c4;
      /* สี placeholder อ่อนลงอีก */
      font-size: 0.95em;
      /* ขนาดเล็กลงเล็กน้อย */
    }

    /* Style for date input icon */
    .form-row input[type="date"]::-webkit-calendar-picker-indicator {
      background: transparent;
      bottom: 0;
      color: transparent;
      cursor: pointer;
      height: auto;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      width: auto;
    }

    .form-row input[type="date"] {
      position: relative;
      padding-right: 45px;
      /* เผื่อพื้นที่สำหรับ custom icon */
    }

    .form-row input[type="date"]::after {
      /* Custom calendar icon */
      content: "\f073";
      /* Font Awesome calendar icon */
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      position: absolute;
      right: 30px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--light-text-color);
      font-size: 1.1em;
      pointer-events: none;
      /* เพื่อให้คลิกที่ input ได้ */
      z-index: 2;
    }

    .form-row input[type="text"]:focus,
    .form-row input[type="email"]:focus,
    .form-row input[type="tel"]:focus,
    .form-row input[type="date"]:focus,
    .form-row select:focus {
      border-color: var(--primary-color);
      box-shadow: 0 0 0 4px rgba(0, 60, 113, 0.2);
      /* เงาอ่อนลงเล็กน้อยเมื่อ focus */
      outline: none;
      background-color: var(--secondary-color);
      /* ให้พื้นหลังเป็นสีขาวเมื่อ focus */
    }

    .form-row select {
      background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%239DA5B2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13%205.1L146.2%20201.2%2018.3%2074.5a17.6%2017.6%200%200%200-25.1%2024.5l137.9%20138c6.9%206.9%2018.1%206.9%2025%200l137.9-138c6.9-6.8%206.9-17.9%200-24.7z%22%2F%3E%3C%2Fsvg%3E');
      background-repeat: no-repeat;
      background-position: right 30px top 50%;
      /* ปรับตำแหน่ง */
      background-size: 14px auto;
      /* ขนาดใหญ่ขึ้นเล็กน้อย */
    }

    /* Radio Group adjustments (improved) */
    .form-row .radio-group {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      /* ลด gap ให้ข้อความอยู่ใกล้ปุ่มมากขึ้น */
      padding: 0 18px 18px;
      /* จัด padding ให้ตรงกับ input */
      margin-top: -5px;
      /* ชดเชยระยะห่างเล็กน้อย */
    }

    .form-row .radio-group label {
      margin-bottom: 0;
      display: flex;
      align-items: center;
      cursor: pointer;
      font-weight: 400;
      /* ปรับ font-weight ให้อ่อนลงเล็กน้อย */
      font-size: 0.98em;
      color: var(--text-color);
      transition: color 0.2s ease;
    }

    .form-row .radio-group label:hover {
      color: var(--primary-color);
    }

    .form-row input[type="radio"] {
      appearance: none;
      -webkit-appearance: none;
      width: 20px;
      height: 20px;
      border: 2px solid var(--border-color);
      border-radius: 50%;
      margin-right: 8px;
      /* ลด margin-right ให้ข้อความอยู่ใกล้ขึ้น */
      position: relative;
      cursor: pointer;
      outline: none;
      transition: all 0.25s ease-in-out;
      flex-shrink: 0;
      background-color: var(--secondary-color);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
      /* เงาเล็กน้อย */
    }

    .form-row input[type="radio"]:checked {
      border-color: var(--primary-color);
      background-color: var(--primary-color);
      box-shadow: 0 0 0 4px rgba(0, 60, 113, 0.2), var(--shadow-subtle);
      /* เพิ่มเงาเมื่อ checked */
    }

    .form-row input[type="radio"]:checked::before {
      content: '';
      width: 10px;
      height: 10px;
      background-color: var(--secondary-color);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: block;
    }

    .form-row input[type="radio"]:focus {
      box-shadow: 0 0 0 4px rgba(0, 60, 113, 0.25);
    }

    /* Photo Upload Section */
    .photo-upload-section {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 40px;
      border: 1px solid var(--border-color);
      padding: 30px;
      border-radius: 12px;
      /* โค้งมนขึ้น */
      background-color: var(--card-bg);
      box-shadow: var(--shadow-subtle);
      /* ใช้เงาที่เบาลง */
      text-align: center;
    }

    .photo-upload-section label:first-child {
      font-size: 1.25em;
      /* ขนาดใหญ่ขึ้น */
      font-weight: 700;
      color: var(--primary-color);
      margin-bottom: 25px;
      border-bottom: 2px solid var(--light-blue-bg);
      padding-bottom: 12px;
      width: 100%;
    }

    .photo-upload-section label:first-child i {
      /* Icon in photo header */
      margin-right: 12px;
      color: var(--primary-color);
      font-size: 0.9em;
    }

    .photo-upload-section .photo-preview {
      width: 170px;
      /* ขนาดใหญ่ขึ้น */
      height: 210px;
      /* ขนาดใหญ่ขึ้น */
      border: 2px dashed var(--light-blue-bg);
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 25px;
      background-color: #f7fafd;
      color: var(--light-text-color);
      font-size: 0.95em;
      overflow: hidden;
      border-radius: 8px;
    }

    .photo-upload-section .photo-preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .custom-file-upload {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background-color: var(--primary-color);
      color: var(--secondary-color);
      padding: 12px 28px;
      /* เพิ่ม padding */
      border-radius: 10px;
      /* โค้งมนขึ้น */
      cursor: pointer;
      font-size: 1em;
      font-weight: 600;
      transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
      box-shadow: var(--shadow-subtle);
    }

    .custom-file-upload:hover {
      background-color: #002d53;
      transform: translateY(-2px);
      box-shadow: var(--shadow-light);
    }

    .custom-file-upload i {
      margin-right: 10px;
      font-size: 1.1em;
    }

    .file-name {
      margin-top: 15px;
      font-style: italic;
      color: var(--text-color);
      font-size: 0.9em;
    }

    .photo-upload-section .instructions {
      font-size: 0.88em;
      /* ขนาดใหญ่ขึ้นเล็กน้อย */
      color: var(--light-text-color);
      text-align: left;
      margin-top: 25px;
      line-height: 1.6;
      background-color: #f7fafd;
      padding: 18px 22px;
      border-radius: 10px;
      border: 1px solid var(--light-blue-bg);
    }

    .photo-upload-section .instructions ul {
      margin: 8px 0 0 20px;
      padding: 0;
      list-style: disc;
    }

    .photo-upload-section .instructions li {
      margin-bottom: 4px;
    }


    /* Education Section Sub-headers */
    .education-section h4 {
      color: var(--primary-color);
      margin-top: 45px;
      /* เพิ่ม margin */
      margin-bottom: 25px;
      /* เพิ่ม margin */
      font-weight: 600;
      font-size: 1.2em;
      /* ขนาดใหญ่ขึ้น */
      border-bottom: 2px solid var(--light-blue-bg);
      padding-bottom: 12px;
      /* เพิ่ม padding */
      position: relative;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      /* เพิ่ม letter-spacing */
    }

    .education-section h4:first-child {
      margin-top: 0;
    }

    .education-section h4::before {
      content: "\f02d";
      /* Icon for book */
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      color: var(--primary-color);
      margin-right: 12px;
      /* ระยะห่าง icon */
      font-size: 1em;
    }


    /* Action Buttons */
    .action-buttons {
      display: flex;
      justify-content: center;
      gap: 25px;
      margin-top: 50px;
      padding-top: 30px;
      border-top: 2px dashed var(--light-blue-bg);
    }

    .action-buttons button {
      padding: 16px 35px;
      font-size: 1.15em;
      font-weight: 600;
      border: none;
      border-radius: 10px;
      cursor: pointer;
      transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
      box-shadow: var(--shadow-light);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .action-buttons button i {
      margin-right: 10px;
      font-size: 1.2em;
    }

    .action-buttons button:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-hover);
    }

    .action-buttons .submit-btn {
      background-color: var(--primary-color);
      color: var(--secondary-color);
    }

    .action-buttons .submit-btn:hover {
      background-color: #002d53;
    }

    .action-buttons .review-btn {
      background-color: var(--accent-orange);
      color: var(--secondary-color);
    }

    .action-buttons .review-btn:hover {
      background-color: #e66b00;
    }

    /* Note Section below buttons */
    .note-section {
      font-size: 0.88em;
      color: var(--light-text-color);
      margin-top: 45px;
      text-align: center;
      background-color: #f7fafd;
      padding: 20px;
      border-radius: 10px;
      border: 1px solid var(--light-blue-bg);
      box-shadow: var(--shadow-subtle);
    }

    .note-section p {
      margin: 5px 0;
      font-style: italic;
    }

    .note-section p strong {
      color: var(--primary-color);
    }

    .note-section p i {
      /* Icon in note section */
      margin-right: 8px;
      color: var(--primary-color);
    }

    /* Member Copy Section */
    .member-copy-section {
      margin-top: 50px;
      background-color: #f7fafd;
      padding: 35px 40px;
      border-top: 2px dashed var(--light-blue-bg);
      border-radius: 0 0 18px 18px;
      /* โค้งมนเฉพาะด้านล่าง */
    }

    .member-copy-section .form-section-header {
      background-color: #e6f7ff;
      border-left-color: #007bff;
    }

    .member-copy-section .form-section-header h2 {
      color: #007bff;
    }

    .member-copy-section .form-section-header h2 i {
      color: #007bff;
    }

    .member-copy-section .form-section-header p {
      color: #555;
    }

    .signature-section {
      display: flex;
      justify-content: flex-end;
      margin-top: 60px;
      font-size: 1em;
      color: var(--light-text-color);
    }

    .signature-line {
      border-bottom: 2px dashed var(--border-color);
      width: 280px;
      text-align: center;
      padding-bottom: 12px;
      font-style: italic;
      font-weight: 500;
      color: var(--text-color);
    }

    .signature-line:before {
      content: "....................................................";
      display: block;
      margin-bottom: 5px;
      color: var(--light-text-color);
      letter-spacing: 2px;
      overflow: hidden;
      height: 1em;
      line-height: 0.5em;
    }


    /* Footer */
    .footer {
      width: 100%;
      max-width: 1050px;
      background-color: #e9eef3;
      color: var(--light-text-color);
      padding: 25px 40px;
      font-size: 0.85em;
      border-radius: 0 0 18px 18px;
      /* ขอบมนด้านล่างเพื่อให้เข้ากับ main-wrapper */
      text-align: center;
      box-shadow: var(--shadow-subtle);
      margin-top: -30px;
      /* ชดเชย margin-bottom ของ main-wrapper */
      padding-top: 50px;
    }

    .footer p {
      margin: 7px 0;
    }

    .footer .social-icons {
      margin-top: 15px;
    }

    .footer .social-icons a {
      color: var(--primary-color);
      font-size: 1.6em;
      margin: 0 12px;
      text-decoration: none;
      transition: color 0.3s ease, transform 0.2s ease;
    }

    .footer .social-icons a:hover {
      color: #0056b3;
      transform: translateY(-2px);
    }

    /* Responsive adjustments */
    @media (max-width: 768px) {
      body {
        padding: 10px;
      }

      .main-wrapper {
        border-radius: 10px;
      }

      .header-top,
      .header-main,
      .breadcrumbs,
      .form-content,
      .footer,
      .member-copy-section {
        padding: 15px 20px;
      }

      .header-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }

      .header-main .logo {
        margin-bottom: 15px;
      }

      .header-main .logo img {
        margin-right: 0;
      }

      .header-main .university-info h1 {
        font-size: 1.6em;
      }

      .header-main .university-info p {
        font-size: 0.85em;
      }

      .form-section-header {
        padding: 15px 20px;
        margin-bottom: 25px;
      }

      .form-section-header h2 {
        font-size: 1.3em;
      }

      .form-section-header h2 i {
        margin-right: 8px;
      }

      .form-section-header p {
        font-size: 0.9em;
      }

      .form-instructions {
        padding: 15px;
        margin-bottom: 25px;
        font-size: 0.9em;
      }

      .form-instructions i {
        margin-right: 5px;
      }

      .form-instructions ul {
        margin-left: 15px;
        line-height: 1.5;
      }

      .form-grid,
      .form-grid.col-3,
      .form-grid.col-4 {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 30px;
      }

      .form-row label {
        padding: 12px 15px 0;
        font-size: 0.85em;
      }

      .form-row input[type="text"],
      .form-row input[type="email"],
      .form-row input[type="tel"],
      .form-row input[type="date"],
      .form-row select {
        padding: 10px 15px;
        margin: 0 15px 15px;
        width: calc(100% - 30px);
        font-size: 0.9em;
      }

      .form-row input[type="date"]::after {
        right: 25px;
      }

      .form-row select {
        background-position: right 25px top 50%;
        background-size: 10px auto;
      }

      .form-row .radio-group {
        padding: 0 15px 15px;
        gap: 10px;
        /* ลด gap อีกใน responsive */
      }

      .form-row .radio-group label {
        font-size: 0.9em;
        font-weight: 400;
        /* ให้เหมือน desktop */
      }

      .form-row input[type="radio"] {
        width: 18px;
        height: 18px;
        margin-right: 5px;
        /* ลด margin-right อีกใน responsive */
      }

      .form-row input[type="radio"]:checked::before {
        width: 8px;
        height: 8px;
      }

      .photo-upload-section {
        padding: 20px;
        margin-bottom: 30px;
      }

      .photo-upload-section label:first-child {
        font-size: 1.05em;
        margin-bottom: 20px;
      }

      .photo-upload-section .photo-preview {
        width: 120px;
        height: 150px;
        margin-bottom: 20px;
      }

      .custom-file-upload {
        padding: 10px 20px;
        font-size: 0.9em;
      }

      .education-section h4 {
        font-size: 1.05em;
        margin-top: 30px;
        margin-bottom: 15px;
      }

      .action-buttons {
        flex-direction: column;
        gap: 15px;
        margin-top: 40px;
        padding-top: 25px;
      }

      .action-buttons button {
        width: 100%;
        padding: 14px 25px;
        font-size: 1.05em;
      }

      .note-section {
        margin-top: 30px;
        padding: 15px;
        font-size: 0.8em;
      }

      .signature-line {
        width: 200px;
        padding-bottom: 10px;
      }

      .signature-line:before {
        letter-spacing: 1px;
      }
    }