.helios-enrollment { color: #071f43; font: 16px/1.6 system-ui, sans-serif; overflow-wrap: anywhere; }
.helios-enrollment *, .he-admin * { box-sizing: border-box; }
.helios-enrollment.he-page { width: 94%; max-width: 1040px; margin: 48px auto 72px; }
.helios-enrollment .he-panel { background: #fff; border: 1px solid #dce5f0; border-radius: 12px; padding: 32px; box-shadow: 0 4px 20px #071f430a; }
.helios-enrollment h1 { font-size: clamp(28px, 3vw, 40px); color: #071f43; line-height: 1.2; }
.helios-enrollment h2 { font-size: 24px; line-height: 1.3; }
.helios-enrollment .he-form { margin: 0; }
.helios-enrollment fieldset { border: 0; border-top: 1px solid #dce5f0; margin: 32px 0; padding: 20px 0 0; min-width: 0; }
.helios-enrollment legend { padding: 0 12px 0 0; font-size: 23px; font-weight: 700; }
.helios-enrollment .he-fields, .he-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.helios-enrollment .he-field { min-width: 0; margin-bottom: 18px; }
.helios-enrollment label { display: block; margin-bottom: 8px; font-weight: 600; }
.helios-enrollment input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .helios-enrollment select, .helios-enrollment textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 48px; border: 1px solid #78889c; border-radius: 5px; background: #fff; color: #071f43; padding: 11px 12px; font: inherit; }
.helios-enrollment textarea { resize: vertical; }
.helios-enrollment select { text-overflow: ellipsis; }
.helios-enrollment .he-check { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; }
.helios-enrollment input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: #123c78; }
.helios-enrollment .he-help { color: #43546b; font-size: 14px; }
.helios-enrollment .he-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 13px 22px; border: 1px solid transparent; border-radius: 6px; background: #b02a31; color: #fff; font: 700 15px/1.4 system-ui,sans-serif; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; }
.helios-enrollment .he-button:hover { background: #8d2029; color: #fff; }
.helios-enrollment .he-button:disabled { background: #59687a; cursor: wait; }
.helios-enrollment .he-secondary { background: #123c78; }
.helios-enrollment a { color: #123c78; text-decoration: underline; text-underline-offset: 3px; }
.helios-enrollment :is(input,select,textarea,button,a,.he-choice-group):focus-visible { outline: 3px solid #123c78; outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
.helios-enrollment .he-errors { padding: 18px; margin: 20px 0; border-left: 4px solid #9b2029; background: #fff3f2; color: #7c1720; }
.helios-enrollment .he-errors a, .helios-enrollment .he-error { color: #8d2029; }
.helios-enrollment .he-error { display: block; font-size: 14px; margin-top: 7px; }
.helios-enrollment [aria-invalid=true] { border-color: #9b2029 !important; }
.helios-enrollment .he-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 24px 0; }
.helios-enrollment .he-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.he-details { margin: 20px 0; }
.he-details > div { display: grid; grid-template-columns: minmax(130px,1fr) 2fr; gap: 16px; padding: 11px 0; border-bottom: 1px solid #dce5f0; }
.he-details dt { font-weight: 700; }
.he-details dd { margin: 0; overflow-wrap: anywhere; }
.helios-enrollment .he-result { margin-top: 32px; padding-top: 20px; border-top: 2px solid #123c78; }
.helios-enrollment .he-logo { display: block; max-width: 180px; max-height: 130px; width: auto; height: auto; object-fit: contain; }
.helios-enrollment .he-badge { display: inline-block; padding: 8px 15px; background: #eaf0f7; border: 1px solid #123c78; font-weight: 700; }
.he-admin .he-admin-panel { background: #fff; border: 1px solid #dce5f0; padding: 24px; margin: 20px 0; }
.he-admin-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 20px 0; }
.he-admin-filters label { display: flex; flex-direction: column; gap: 5px; }
.he-table-scroll { overflow-x: auto; }
.he-admin table th { font-weight: 700; }
.he-admin li { padding: 8px 0; }
@media(max-width:767px) {
 .helios-enrollment.he-page { width: calc(100% - 32px); margin: 28px auto 48px; }
 .helios-enrollment .he-panel { padding: 20px 16px; }
 .helios-enrollment .he-fields, .he-admin-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
 .he-details > div { grid-template-columns: minmax(0,1fr); gap: 3px; }
 .helios-enrollment .he-button { width: 100%; }
}
@media print {
 @page { size: A4; margin: 18mm; }
 body.helios-enrollment-receipt { background: #fff !important; color: #000; }
 body.helios-enrollment-receipt :is(.elementor-location-header,.elementor-location-footer,.site-header,.site-footer,.helios-back-to-top,.helios-floating-whatsapp,.helios-utilities,#wpadminbar,.he-no-print) { display: none !important; }
 body.helios-enrollment-receipt .helios-enrollment.he-page { width: 100%; max-width: none; margin: 0; }
 body.helios-enrollment-receipt .he-panel { border: 0; box-shadow: none; padding: 0; }
 body.helios-enrollment-receipt .he-details > div { grid-template-columns: 1fr 2fr; break-inside: avoid; }
 body.helios-enrollment-receipt .helios-enrollment { font-size: 11pt; }
}

/* Additional questions only; the original form layout stays unchanged. */
.helios-enrollment .he-choice-group { border: 0; margin: 0 0 18px; padding: 0; }
.helios-enrollment .he-choice-group legend { font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.helios-enrollment input[type=radio] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: #123c78; }
.he-form-settings .he-inline-form { display: inline-block; margin: 3px 0; }
.he-form-settings .he-field-editor { max-width: 900px; }
.he-form-settings .he-field-editor > p > label { display: block; font-weight: 600; margin-bottom: 6px; }
.he-form-settings .he-field-editor details { border-top: 1px solid #dce5f0; padding: 16px 0; }
.he-form-settings .he-field-editor summary { cursor: pointer; font-weight: 600; }
