.employment-section { position: relative; isolation: isolate; padding-block: 48px; background: #f8f9f6; color: #0b2948; }
.employment-section::before { content: ''; position: absolute; left: 0; bottom: 12%; width: 110px; height: 220px; opacity: .25; background: url('/assets/decorative/career-leaves.svg') center / contain no-repeat; z-index: -1; pointer-events: none; }
.employment-layout { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1fr); gap: clamp(28px,4.1vw,65px); }
.employment-introduction h2 { font: 700 clamp(30px,3vw,43px)/1.05 'Times New Roman',serif; letter-spacing: -.045em; }
.employment-introduction p { max-width: 35em; font-size: 15px; color: #4e6481; }
.employment-introduction .application-note { font-size: 13px; padding-left: 14px; border-left: 2px solid #7da7b2; margin-top: 24px; }
.employment-form fieldset { border: 0; padding: 0; margin: 0 0 32px; min-width: 0; }
.employment-form legend { font: 700 29px/1.15 'Times New Roman',serif; padding: 0; margin-bottom: 12px; color: #0b2948; }
.employment-form fieldset > p, .form-required { font-size: 14px; color: #4e6481; }
.form-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 20px; }
.form-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.form-field label { font-size: 14px; font-weight: 600; color: #173b54; }
.field-optional { font-size: 12px; font-weight: 400; color: #4e6481; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #788d98; background: #fff; color: #173b54; border-radius: 3px; padding: 10px 12px; font: 16px/1.4 Arial,sans-serif; }
.form-field textarea { resize: vertical; }
.form-field small { font-size: 12px; color: #4e6481; }
.field-wide, .form-confirmation { grid-column: 1/-1; }
.form-confirmation { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.6; }
.form-confirmation input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: #006fab; }
.form-actions { display: flex; align-items: center; gap: 18px; margin-top: 22px; }
.form-actions button, .admin-page button { min-height: 44px; cursor: pointer; font: 600 14px/1.4 Arial,sans-serif; border-radius: 3px; }
.form-back, .admin-page button:not(.button) { color: #006c9f; background: transparent; border: 1px solid #8d9fa7; padding: 9px 16px; }
.employment-form .button { min-height: 44px; font-size: 14px; padding: 10px 20px; border: 0; background: #006fab; color: #fff; }
.application-declaration { font-size: 13px; color: #4e6481; }
.form-progress { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; margin-block: 18px 26px; }
.form-progress button { border: 0; border-bottom: 2px solid #c7d5d5; padding: 6px 0 10px; min-height: 44px; text-align: left; background: none; font: 11px/1.35 Arial,sans-serif; color: #4e6481; cursor: pointer; }
.form-progress button span { display: block; font-size: 16px; color: #006c9f; margin-bottom: 5px; }
.form-progress button[aria-current=step] { border-bottom-color: #006c9f; font-weight: 700; color: #0b2948; }
.form-progress button:disabled { cursor: default; opacity: .65; }
.form-error { color: #8b2020; border-left: 3px solid #a83434; padding: 10px 14px; font-size: 14px; background: #fff3f0; margin-block: 14px; }
.employment-form [aria-invalid=true] { border-color: #a83434; outline: 1px solid #a83434; }
.form-review section { margin-block: 20px; border-bottom: 1px solid #c7d5d5; padding-bottom: 16px; }
.form-review h3 { font-size: 17px; margin-bottom: 12px; }
.form-review dl, .admin-detail-group dl { display: grid; grid-template-columns: minmax(130px,.75fr) minmax(0,1fr); gap: 8px 20px; font-size: 14px; }
.form-review dt, .admin-detail-group dt { color: #4e6481; }
.form-review dd, .admin-detail-group dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.form-success h2 { font: 700 37px/1.1 'Times New Roman',serif; margin-bottom: 20px; }
.form-trap { position: absolute; width: 1px; height: 1px; clip-path: inset(100%); overflow: hidden; }
.application-response { padding-block: 44px; }
.admin-page { color: #0b2948; background: #f8f9f6; }
.admin-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 18px; border-bottom: 1px solid #c7d5d5; }
.admin-brand { display: flex; align-items: center; gap: 12px; font: 700 29px Georgia,serif; text-decoration: none; }
.admin-brand img { object-fit: contain; }
.admin-brand span { font: 14px Arial,sans-serif; color: #4e6481; }
.admin-main { padding-block: 38px; }
.admin-main h1 { font: 700 clamp(31px,3.5vw,46px)/1.1 'Times New Roman',serif; margin-bottom: 12px; }
.admin-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-block: 24px; }
.admin-login { max-width: 380px; display: grid; gap: 20px; margin-top: 28px; }
.admin-login .button { justify-self: start; }
.admin-filters { display: grid; grid-template-columns: 1fr minmax(130px,200px) auto; gap: 18px; align-items: end; margin-bottom: 22px; }
.admin-table-wrap { overflow-x: auto; }
.admin-page table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin-page th, .admin-page td { border-bottom: 1px solid #c7d5d5; text-align: left; padding: 14px 10px; overflow-wrap: anywhere; }
.admin-page td:first-child { min-width: 180px; }
.admin-page td small { display: block; font-size: 12px; color: #4e6481; margin-top: 4px; }
.admin-detail-group { border-bottom: 1px solid #c7d5d5; padding-block: 24px; }
.admin-detail-group h2 { font: 700 27px 'Times New Roman',serif; margin-bottom: 18px; }
.admin-note, .admin-sensitive-note { font-size: 13px; color: #4e6481; max-width: 64em; margin-top: 24px; }
.admin-pagination { display: flex; align-items: center; gap: 18px; margin-top: 20px; }
.admin-page button:disabled, .employment-form button:disabled { cursor: default; opacity: .65; }
[hidden] { display: none !important; }
@media(max-width: 1000px) { .employment-layout { grid-template-columns: 1fr; } .employment-introduction p { max-width: 58em; } }
@media (min-width: 360px) and (max-width: 600px) {
  .employment-form .form-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 14px; }
  .employment-form .form-field:not(.field-compact) { grid-column: 1 / -1; }
}
@media(max-width: 600px) { .employment-section { padding-block: 30px; } .form-fields { grid-template-columns: 1fr; } .form-progress { grid-template-columns: repeat(7,minmax(0,1fr)); } .form-progress button { font-size: 0; padding-block: 6px; } .form-progress button span { font-size: 16px; margin: 0; } .form-review dl, .admin-detail-group dl { grid-template-columns: 1fr; gap: 4px; } .form-review dd, .admin-detail-group dd { margin-bottom: 12px; } .admin-filters { grid-template-columns: 1fr; } .admin-filters .button { justify-self: start; } .admin-heading { flex-direction: column; align-items: start; } .admin-brand span { display: none; } }
