[data-q-content][hidden], [data-q-source-list][hidden] { display: none !important; }
[data-q-bonus-option][hidden] { display: none !important; }
[data-q-file][hidden] { display: none !important; }
.qualification-import-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
[data-engagement-club-swimmer-event][hidden] { display: none !important; }
.qualification-exception-toggle { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.qualification-exception-toggle small { color: #79570b; }
.qualification-job-actions { background: #fff8e5; border: 1px solid #d8be77; border-radius: 8px; margin: 12px 0; padding: 12px 14px; }
.qualification-job-actions[hidden] { display: none; }
.qualification-job-actions p { margin: 0 0 10px; }
.qualification-job-actions p:last-child:empty { display: none; }
.qualification-job-actions button { width: auto; min-height: 32px; margin: 0 8px 4px 0; }
.qualification-dialog table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.qualification-dialog th, .qualification-dialog td { padding: 6px; text-align: left; border-bottom: 1px solid #d6e0e3; }
#adminQualificationEditor { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; margin: 12px 0 0; padding: 12px; border: 0; border-top: 1px solid #d6e0e3; }
#adminQualificationEditor [data-q-content], #adminQualificationEditor .qualification-group, #adminQualificationEditor .qualification-standards, #adminQualificationEditor .qualification-grid-block { min-width: 0; max-width: 100%; box-sizing: border-box; }
#adminQualificationEditor .qualification-enable { display: flex; }
#adminQualificationEditor .qualification-fields { grid-template-columns: minmax(0, 1fr); }
.qualification-enable { align-items: center; background: #f5f9fa; border: 1px solid #cbdde1; border-radius: 10px; cursor: pointer; display: flex; gap: 20px; justify-content: space-between; margin: 4px 0 12px; padding: 12px 14px; }
.qualification-enable span { display: grid; gap: 2px; }
.qualification-enable strong { color: #073b4c; font-size: 15px; }
.qualification-enable small { color: #5b6870; font-size: 12px; font-weight: 400; }
#adminQualificationEditor .qualification-enable input[type="checkbox"] { appearance: none !important; background: #aeb8bd; border: 0 !important; border-radius: 999px !important; box-shadow: none !important; flex: 0 0 38px; height: 22px !important; margin: 0 !important; min-height: 22px !important; padding: 0 !important; position: relative; width: 38px !important; }
#adminQualificationEditor .qualification-enable input[type="checkbox"]::before { background: white; border-radius: 50%; box-shadow: 0 1px 3px rgb(0 0 0 / 25%); content: ""; height: 16px; left: 3px; position: absolute; top: 3px; transition: transform .15s ease; width: 16px; }
#adminQualificationEditor .qualification-enable input[type="checkbox"]:checked { background: #087f8c; }
#adminQualificationEditor .qualification-enable input[type="checkbox"]:checked::before { transform: translateX(16px); }
#adminQualificationEditor .qualification-enable input[type="checkbox"]:focus-visible { outline: 3px solid rgb(8 127 140 / 25%) !important; outline-offset: 2px; }
.qualification-intro { color: #5b6870; font-size: 13px; margin: 0 0 12px; }
.qualification-group { background: #fff; border: 1px solid #d6e0e3; border-radius: 9px; margin: 12px 0; padding: 14px; }
.qualification-group > legend { color: #073b4c; font-size: 14px; font-weight: 700; padding: 0 6px; }
.qualification-categories { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 14px; }
.qualification-categories label { cursor: pointer; margin: 0; }
#adminQualificationEditor .qualification-categories input { height: 1px !important; opacity: 0; position: absolute; width: 1px !important; }
.qualification-categories span { background: #f3f6f7; border: 1px solid #cad7da; border-radius: 999px; color: #42535a; display: block; font-size: 12px; line-height: 1; padding: 7px 10px; }
.qualification-categories input:checked + span { background: #087f8c; border-color: #087f8c; color: #fff; }
.qualification-categories input:disabled + span { opacity: .45; cursor: not-allowed; }
.qualification-standards [hidden] { display: none !important; }
.qualification-categories input:focus-visible + span { outline: 3px solid rgb(8 127 140 / 25%); outline-offset: 2px; }
.qualification-fields { display: grid; gap: 10px; grid-template-columns: minmax(230px, 2fr) repeat(2, minmax(145px, 1fr)); margin: 10px 0; }
.qualification-fields > label, .qualification-source-mode { color: #415159; display: grid; font-size: 12px; gap: 4px; margin: 0; }
#adminQualificationEditor .qualification-fields input, #adminQualificationEditor .qualification-fields select, #adminQualificationEditor .qualification-source-mode select, #adminQualificationEditor [data-q-search] { box-sizing: border-box; min-height: 34px !important; padding: 6px 9px !important; width: 100% !important; }
.qualification-options { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 12px 0; }
.qualification-options > span { color: #415159; font-size: 12px; font-weight: 700; }
.qualification-options label, [data-q-source-label] { align-items: center; color: #415159; display: inline-flex; font-size: 12px; gap: 6px; margin: 0; }
#adminQualificationEditor .qualification-options input[type="checkbox"], #adminQualificationEditor [data-q-source-label] input[type="checkbox"] { flex: 0 0 16px; height: 16px !important; margin: 0 !important; min-height: 16px !important; padding: 0 !important; width: 16px !important; }
.qualification-source-mode { margin-top: 10px; max-width: 460px; }
[data-q-source-list] { background: #f7f9fa; border: 1px solid #d6e0e3; border-radius: 7px; display: grid; gap: 7px; margin-top: 8px; max-height: 300px; overflow: auto; padding: 10px; }
[data-q-source-label][hidden] { display: none; }
.qualification-group-actions { display: flex; justify-content: flex-end; margin-top: 10px; }
#adminQualificationEditor .qualification-button { align-items: center; background: #fff; border: 1px solid #9eb5bb; border-radius: 6px; color: #075967; display: inline-flex; font-size: 12px; font-weight: 600; justify-content: center; line-height: 1.2; margin: 0; min-height: 32px !important; padding: 7px 11px !important; width: auto !important; }
#adminQualificationEditor .qualification-button:hover { background: #eef7f8; }
#adminQualificationEditor .qualification-button--danger { border-color: #d4b4b4; color: #9d2d2d; }
#adminQualificationEditor .qualification-button--add { margin: 0 0 8px; }
.qualification-standards { border-top: 1px solid #d6e0e3; margin-top: 14px; padding-top: 16px; }
.qualification-standards-head { align-items: end; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 12px; }
.qualification-standards-head h3 { color: #073b4c; font-size: 15px; margin: 0 0 3px; }
.qualification-standards-head p { color: #64747b; font-size: 12px; margin: 0; }
.qualification-grid-block { margin: 0 0 18px; }
.qualification-grid-block h4 { background: #087f8c; border-radius: 7px 7px 0 0; color: #fff; font-size: 13px; margin: 0; padding: 8px 11px; }
.qualification-table-shell { border: 1px solid #cbd8dc; border-radius: 0 0 7px 7px; margin: 0; max-width: 100%; overflow: auto; }
.qualification-grid { border-collapse: separate; border-spacing: 0; min-width: 100%; table-layout: auto; width: max-content; }
.qualification-grid th, .qualification-grid td { border-bottom: 1px solid #dce5e7; border-right: 1px solid #dce5e7; box-sizing: border-box; height: 44px; padding: 5px; text-align: center; }
.qualification-grid tr:last-child > * { border-bottom: 0; }
.qualification-grid tr > *:last-child { border-right: 0; }
.qualification-grid thead th { background: #eef4f5; color: #30474f; font-size: 12px; font-weight: 700; min-width: 116px; }
.qualification-grid thead th:first-child, .qualification-grid tbody th { left: 0; min-width: 150px; position: sticky; text-align: left; width: 150px; z-index: 1; }
.qualification-grid thead th:first-child { z-index: 2; }
.qualification-grid tbody th { background: #f8fafb; color: #30474f; font-size: 12px; padding-left: 10px; }
.qualification-grid td[data-q-standard] { background: #fff; min-width: 116px; white-space: nowrap; }
#adminQualificationEditor .qualification-grid input { border: 1px solid #becdd1; border-radius: 5px; box-sizing: border-box; display: inline-block; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; height: 30px !important; margin: 0 3px 0 0 !important; min-height: 30px !important; padding: 4px 6px !important; text-align: center; width: 78px !important; }
#adminQualificationEditor .qualification-grid button[data-q-none] { background: transparent; border: 0; border-radius: 4px; color: #7b898e; font-size: 16px; height: 28px; line-height: 1; margin: 0; min-height: 28px !important; padding: 3px !important; width: 24px !important; }
.qualification-grid td[data-q-none="true"] { background: #f4f7f8; }
.qualification-grid td[data-q-none="true"] input { display: none; }
#adminQualificationEditor .qualification-grid td[data-q-none="true"] [data-q-none] { color: #087f8c; font-size: 11px; font-weight: 700; width: 62px !important; }
.qualification-cell-blocked { background: #f0f2f3; color: #a0aaae; }
[data-q-error] { color: #a32626; font-size: 12px; margin: 8px 0 0; }
.qualification-request { border-bottom: 1px solid #cbd5e1; padding: 8px 0; }
.qualification-request textarea { width: 100%; }
.qualification-dialog { max-height: 85vh; overflow: auto; width: min(760px, 95vw); }
@media (max-width: 760px) {
  .qualification-fields { grid-template-columns: 1fr; }
  .qualification-standards-head { align-items: stretch; flex-direction: column; }
  .qualification-standards-head .qualification-button { align-self: flex-start; }
  .qualification-enable { padding: 10px 12px; }
}
