.hefgp-field--facilities_support,
.hefgp-field--technology_support,
.hefgp-field--principal {
    padding: 18px;
    border: 1px solid #d8dee4;
    border-radius: 9px;
    background: #fff;
}

.hefgp-support-section { padding: 22px; border: 1px solid #d8dee4; border-radius: 10px; background: #f7f9f3; }
.hefgp-support-heading h3 { margin: 0 0 4px; color: #163d18; }
.hefgp-support-heading p { margin: 0 0 18px; color: #65717c; }
.hefgp-support-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.hefgp-support-grid .hefgp-field { display: flex; flex-direction: column; grid-column: auto; width: auto; height: 100%; margin: 0; }
.hefgp-support-grid .hefgp-checkbox-answer { margin-top: auto; }
.hefgp-field--principal select { width: 100%; }
.hefgp-field--principal .hefgp-help { margin: 8px 0 0; }
.hefgp-opening-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; }
.hefgp-opening-row .hefgp-field { grid-column: auto; }
.hefgp-cycle-field { margin: 0 0 15px; }
.hefgp-cycle-field > label { margin-top: 0; }
.hefgp-checkbox-question > label { display: block; margin: 0 0 14px; font-size: 1rem; line-height: 1.45; }
.hefgp-checkbox-answer { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 14px; border: 1px solid #8aaa4b; border-radius: 999px; background: #f7f9f3; font-weight: 700; cursor: pointer; }
.hefgp-checkbox-answer input { width: auto !important; min-height: auto !important; margin: 0; }
.hefgp-admin-checkbox { display: inline-flex !important; align-items: center; gap: 7px; width: auto; padding: 8px 14px; border: 1px solid #8aaa4b; border-radius: 5px; background: #f7f9f3; font-weight: 600; }
.hefgp-admin-checkbox input { width: auto !important; margin: 0; }
.hefgp-signature-notice { display: block; margin-top: 10px; padding: 10px 12px; border-left: 4px solid #b9d047; color: #163d18; background: #f3f7eb; font-weight: 600; line-height: 1.45; }
.hefgp-signature-notice[hidden] { display: none !important; }
.hefgp-approval-progress { display: grid; gap: 10px; }
.hefgp-approval-step { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 13px 15px; border: 1px solid #d8dee4; border-radius: 7px; background: #f8faf7; }
.hefgp-approval-step .dashicons { margin-top: 1px; }
.hefgp-approval-step.is-complete .dashicons { color: #418445; }
.hefgp-approval-step.is-pending .dashicons { color: #8a6b1f; }
.hefgp-approval-step strong { color: #263238; }
.hefgp-approval-step p { margin: 3px 0 0; color: #65717c; }
.hefgp-approval-step small { display: block; margin-top: 3px; color: #65717c; }
@media(max-width:1050px) { .hefgp-support-grid { grid-template-columns: 1fr; } }
@media(max-width:700px) { .hefgp-opening-row { grid-template-columns: 1fr; gap: 0; } }
