.personnel-directory-page .page-shell-hero + .personnel-directory { margin-top: 28px; }
.personnel-directory { width: min(calc(100% - 32px), 1290px); margin-inline: auto; color: #14233a; font-family: "Noto Sans", sans-serif; }
.personnel-directory__toolbar { display: block; margin-bottom: 22px; padding: 22px; background: #fff; border: 1px solid #d4e0eb; border-radius: 8px; box-shadow: 0 12px 30px rgba(20,35,58,.07); }
.personnel-directory__toolbar h2 { margin: 0; color: #073d52; font-size: clamp(1.3rem,2vw,1.7rem); }
.personnel-directory__switch { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.personnel-directory__switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 15px; color: #07567b; background: #eef6fa; border: 1px solid #b9d4e1; border-radius: 999px; font-weight: 800; text-decoration: none; }
.personnel-directory__switch a:hover,
.personnel-directory__switch a:focus-visible,
.personnel-directory__switch a.is-active { color: #fff; background: #07567b; border-color: #07567b; }
.personnel-directory__filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-content: end; }
.personnel-directory__filters--administrative { grid-template-columns: repeat(3,minmax(0,1fr)); }
.personnel-directory__search-field { grid-column: 1 / -1; }
.personnel-directory__filters label { display: block; margin-bottom: 6px; color: #3f5269; font-size: .8rem; font-weight: 800; }
.personnel-directory__filters input,
.personnel-directory__filters select { width: 100%; min-height: 44px; padding: 9px 12px; color: #14233a; background: #f8fbfd; border: 1px solid #bacbd8; border-radius: 7px; font: inherit; }
.personnel-directory__select { appearance: none; padding-right: 42px !important; background-image: linear-gradient(45deg,transparent 50%,#07567b 50%),linear-gradient(135deg,#07567b 50%,transparent 50%); background-position: calc(100% - 18px) 19px,calc(100% - 12px) 19px; background-size: 6px 6px,6px 6px; background-repeat: no-repeat; cursor: pointer; }
.personnel-directory__select:hover { border-color: #6ca8c2; background-color: #fff; }
.personnel-directory__select:focus { border-color: #07567b; box-shadow: 0 0 0 3px rgba(7,86,123,.14); }
.personnel-directory__select-field { min-width: 0; }
.personnel-directory__combobox { position: relative; }
.personnel-directory__combobox > input[type="text"] { padding-right: 42px; }
.personnel-directory__combobox > input[type="text"]:disabled { color: #6c7785; background: #eef2f5; cursor: not-allowed; }
.personnel-directory__picker-clear { position: absolute; z-index: 2; top: 50%; right: 7px; width: 30px; height: 30px; padding: 0; color: #07567b; background: transparent; border: 0; border-radius: 5px; font: 800 1.25rem/1 "Noto Sans",sans-serif; transform: translateY(-50%); cursor: pointer; }
.personnel-directory__picker-clear:hover,
.personnel-directory__picker-clear:focus-visible { color: #fff; background: #07567b; }
.personnel-directory__picker-options { position: absolute; z-index: 30; top: calc(100% + 5px); right: 0; left: 0; max-height: 280px; overflow-y: auto; padding: 5px; background: #fff; border: 1px solid #9fb8c8; border-radius: 7px; box-shadow: 0 14px 30px rgba(20,35,58,.17); }
.personnel-directory__picker-option { display: block; width: 100%; min-height: 40px; padding: 8px 10px; color: #14233a; background: #fff; border: 0; border-radius: 5px; font: inherit; font-size: .88rem; font-weight: 700; text-align: left; cursor: pointer; }
.personnel-directory__picker-option:hover,
.personnel-directory__picker-option:focus-visible { color: #fff; background: #07567b; outline: 3px solid #f6c343; outline-offset: -2px; }
.personnel-directory__picker-status { display: block; padding: 10px; color: #607184; text-align: center; }
.personnel-directory__filters input:focus-visible,
.personnel-directory__filters select:focus-visible,
.personnel-directory :focus-visible { outline: 3px solid #f6c343; outline-offset: 2px; }
.personnel-directory__filters select:disabled { color: #6c7785; background: #eef2f5; cursor: not-allowed; }
.personnel-directory__clear-wrap { display: flex; align-items: end; }
.personnel-directory__clear { width: 100%; min-height: 44px; padding: 9px 14px; color: #07567b; background: #eef6fa; border: 1px solid #9fc3d4; border-radius: 7px; font: inherit; font-weight: 800; cursor: pointer; }
.personnel-directory__clear:hover,
.personnel-directory__clear:focus-visible { color: #fff; background: #07567b; border-color: #07567b; }
.personnel-directory__count { margin: 0 0 14px; color: #52657a; font-weight: 700; }
.personnel-directory__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.personnel-directory .person-card { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: stretch; gap: 18px; min-width: 0; min-height: 250px; padding: 16px; color: #14233a; background: #fff; border: 1px solid #d4e0eb; border-radius: 8px; box-shadow: 0 12px 28px rgba(20,35,58,.07); transition: transform 180ms ease,box-shadow 180ms ease; }
.personnel-directory .person-card:hover,
.personnel-directory .person-card:focus-within { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(20,35,58,.12); }
.personnel-directory .person-card__media { width: 120px; height: 150px; object-fit: cover; background: #e8f0f5; border: 1px solid #cbd9e3; border-radius: 5px; }
.personnel-directory-card__body { display: flex; flex-direction: column; min-width: 0; min-height: 150px; }
.personnel-directory .person-card h2 { margin: 0; color: #073d52; font-size: 1.08rem; line-height: 1.35; overflow-wrap: anywhere; }
.personnel-directory .person-card__title-prefix { display: block; margin-bottom: 5px; color: #0b5b7f; font-size: 1rem; font-weight: 800; }
.personnel-directory .person-card__title-prefix--after { margin: 5px 0 0; }
.person-card__hierarchy { display: grid; gap: 4px; margin-top: 10px; padding: 10px 0; border-top: 1px solid #dce6ee; border-bottom: 1px solid #dce6ee; }
.personnel-directory .person-card__unit,
.personnel-directory .person-card__role,
.personnel-directory .person-card__subrole,
.personnel-directory .person-card__duty { margin: 0; font-size: 0.9rem; line-height: 1.4; overflow-wrap: anywhere; }
.personnel-directory .person-card__unit { color: #073d52; font-weight: 800; }
.personnel-directory .person-card__role { color: #34465d; font-weight: 750; }
.personnel-directory .person-card__subrole { color: #596b7f; font-weight: 650; }
.personnel-directory .person-card__duty { margin-top: 3px; color: #174f68; font-weight: 800; }
.personnel-directory .person-card__info { display: grid; gap: 4px; margin: 11px 0 0; font-size: 0.9rem; }
.personnel-directory .person-card__info div { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 13px; }
.personnel-directory .person-card__info dt { font-weight: 800; }
.personnel-directory .person-card__info dd { margin: 0; color: #52657a; font-weight: 700; }
.personnel-directory .person-card__info a { color: #07567b; }
.personnel-directory .person-card__actions { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 9px; width: 100%; margin-top: 0; padding-top: 0; }
.personnel-directory .person-card__action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 11px; border: 1px solid; border-radius: 6px; font-size: .78rem; font-weight: 800; text-align: center; text-decoration: none; }
.personnel-directory .person-card__action--document { color: #684f08; background: #fff5cf; border-color: #dfc66c; }
.personnel-directory .person-card__action--primary { color: #07567b; background: #e9f4fa; border-color: #b9d8e7; }
.personnel-directory .person-card__action--secondary { color: #0b615b; background: #e3f6f3; border-color: #b4dfd9; }
.personnel-directory .person-card__action:hover,
.personnel-directory .person-card__action:focus-visible { color: #fff; background: #07567b; border-color: #07567b; }
.personnel-directory .person-card__action--document:hover,
.personnel-directory .person-card__action--document:focus-visible { color: #fff; background: #755a08; border-color: #755a08; }
.personnel-directory .person-card__action--primary:hover,
.personnel-directory .person-card__action--primary:focus-visible { color: #fff; background: #0647a8; border-color: #0647a8; }
.personnel-directory .person-card__action--secondary:hover,
.personnel-directory .person-card__action--secondary:focus-visible { color: #fff; background: #006068; border-color: #006068; }
.personnel-directory__empty { padding: 20px; color: #52657a; background: #fff; border: 1px dashed #aebfcd; border-radius: 8px; font-weight: 700; }
.personnel-directory__pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.personnel-directory__page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; color: #07567b; background: #fff; border: 1px solid #b9cfdd; border-radius: 7px; font-weight: 800; text-decoration: none; }
.personnel-directory__page-link:hover,
.personnel-directory__page-link:focus-visible,
.personnel-directory__page-link.is-active { color: #fff; background: #07567b; border-color: #07567b; }
.personnel-directory__page-link.is-disabled { color: #788794; background: #eef2f5; pointer-events: none; }
[data-personnel-directory-results][aria-busy="true"] { opacity: .6; }
@media (max-width: 1024px) {
  .personnel-directory__grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .personnel-directory__filters { grid-template-columns: 1fr; }
  .personnel-directory__search-field { grid-column: auto; }
  .personnel-directory__grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .personnel-directory { width: min(calc(100% - 20px),1290px); }
  .personnel-directory .person-card { grid-template-columns: 90px minmax(0,1fr); gap: 13px; padding: 13px; }
  .personnel-directory .person-card__media { width: 90px; height: 108px; }
  .personnel-directory .person-card__actions { grid-template-columns: 1fr; }
}
