.staff-directory { color:#081550; font:400 18px/1.3 "Source Sans 3",Arial,sans-serif; background:#fcf9f4; min-width:0; }
.staff-directory-main { padding:10px 10px 20px 16px; min-width:0; }
.staff-directory-heading { display:flex; justify-content:space-between; align-items:start; gap:24px; min-height:76px; margin:0 14px 15px 10px; }
.staff-directory-heading h1 { margin:0; color:#00499c; font:700 40px/1.1 Georgia,"Times New Roman",serif; }
.staff-directory-heading > div > p { margin:6px 0 0; color:#0050a8; font-size:20px; }
.staff-directory-actions { padding-top:13px; text-align:right; }
.staff-directory-actions > div { display:flex; justify-content:flex-end; gap:24px; }
.staff-directory-actions button, .staff-profile-buttons button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding:6px 20px; border-radius:12px; font:700 18px/1.25 "Source Sans 3",Arial,sans-serif; }
.staff-directory-actions .directory-icon { width:22px; height:22px; }
.staff-directory-actions p { margin:9px 0 0; color:#514097; font-size:16px; font-style:italic; }
.staff-directory .staff-primary { color:#fff; border:1px solid #7d16b8; background:linear-gradient(#a82fdb,#6d0e9f); }
.staff-directory .staff-primary:hover { background:#7312aa; }
.staff-directory .staff-primary .directory-icon { filter:brightness(0) invert(1); }
.staff-directory button.secondary { color:#6505be; background:#fffdfb; border:1px solid #9a27eb; }
.staff-directory-actions button.secondary { color:#064aee; border-color:#164aff; }
.staff-directory-layout { display:grid; grid-template-columns:minmax(0,1.41fr) minmax(0,1fr); align-items:start; gap:12px; }
.staff-directory-list, .staff-directory-profile { min-width:0; min-height:734px; border:1px solid #e9e2d9; border-radius:18px; background:#fffdfa; box-shadow:0 1px 3px #27324b08; }
.staff-directory-list { overflow:hidden; }
.staff-directory-filters { display:flex; align-items:start; gap:14px; padding:15px 15px 0; }
.staff-search { flex:1.35; min-width:0; display:flex; align-items:center; gap:10px; height:40px; margin:0; padding:0 14px; border:1px solid #94acd1; border-radius:22px; font-weight:400; }
.staff-search .directory-icon { width:22px; height:22px; }
.staff-directory .staff-search input { width:100%; min-width:0; height:36px; margin:0; border:0; padding:0; background:transparent; box-shadow:none; color:#242267; font:inherit; font-size:18px; }
.staff-directory .staff-search input::placeholder { color:#514397; opacity:1; }
.staff-directory .staff-department-filter { flex:1; min-width:0; margin:0; }
.staff-directory .staff-department-filter > label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.staff-directory .staff-department-filter input, .staff-directory .staff-department-filter select { height:40px; border-radius:13px; font-size:18px; }
.staff-directory input[list] { padding-right:32px; background-image:url('/assets/external-icons/caret-down.svg'); background-repeat:no-repeat; background-position:right 10px center; background-size:18px; }
.staff-directory-tabs { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; margin:0 15px; border-bottom:1px solid #dce3ed; }
.staff-directory-tabs [role="tablist"] { display:flex; align-self:stretch; gap:22px; }
.staff-directory-tabs [role="tab"] { position:relative; min-width:116px; min-height:44px; padding:12px 14px; border:0; border-radius:0; background:transparent; color:#001963; font:400 18px/1.3 "Source Sans 3",Arial,sans-serif; }
.staff-directory-tabs [role="tab"][aria-selected="true"] { font-weight:700; color:#0050ed; }
.staff-directory-tabs [role="tab"][aria-selected="true"]::after { content:""; position:absolute; height:4px; inset:auto 0 0; border-radius:5px 5px 0 0; background:#0056ff; }
.staff-directory-count { margin:0; font-size:16px; white-space:nowrap; }
.staff-table-scroll { overflow-x:auto; min-width:0; padding-top:22px; }
.staff-directory-table { width:100%; min-width:660px; border-collapse:collapse; table-layout:auto; margin:0; color:#041447; font-size:15px; }
.staff-directory-table th { padding:10px 14px; color:#0047df; background:transparent; text-align:left; font-size:16px; font-weight:700; border-bottom:1px solid #e1e1e4; }
.staff-directory-table td { padding:7px 14px; height:55px; border-bottom:1px solid #dbe1e8; vertical-align:middle; }
.staff-directory-table th:first-child, .staff-directory-table td:first-child { padding-left:15px; }
.staff-directory-table th:last-child, .staff-directory-table td:last-child { text-align:right; padding-right:12px; }
.staff-directory-table tr.is-selected { background:#e0edfb; }
.staff-person { display:flex; align-items:center; gap:16px; min-width:150px; }
.staff-initials { flex:none; display:inline-flex; align-items:center; justify-content:center; width:42px; height:38px; border-radius:12px; background:#fbe9d3; color:#885000; font-size:21px; font-weight:700; }
.staff-directory .staff-person-name { padding:0; min-height:36px; background:transparent; border:0; border-radius:4px; color:#0a123c; font:700 18px/1.15 "Source Sans 3",Arial,sans-serif; text-align:left; }
.staff-email { overflow-wrap:anywhere; }
.staff-phone { white-space:nowrap; }
.staff-directory .staff-edit { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:3px 9px; border:1px solid #a427e6; border-radius:9px; background:#fffdfa; color:#7400bc; font:700 16px/1.2 "Source Sans 3",Arial,sans-serif; white-space:nowrap; }
.staff-edit .directory-icon { width:18px; height:18px; }
.staff-directory-table .staff-group-row th { padding:12px 15px; background:#f1f5fb; color:#173768; border-top:1px solid #dbe1e8; text-align:left; }
.staff-directory-table .staff-empty { padding:24px 15px; text-align:left; }
.staff-directory-profile { padding:14px 16px 20px; container-type:inline-size; }
.staff-directory-profile > h2 { margin:0; color:#00499c; font:700 36px/1.15 Georgia,"Times New Roman",serif; }
.staff-profile-identity { display:flex; align-items:center; gap:18px; margin:14px 4px 18px; min-height:60px; }
.staff-profile-initials { width:62px; height:60px; font-size:27px; border-radius:15px; }
.staff-profile-identity strong { font-size:26px; line-height:1.15; overflow-wrap:anywhere; }
.staff-profile-identity p { margin:4px 0 0; font-size:18px; font-style:italic; color:#514197; }
.staff-profile-form { margin:0 6px; }
.staff-profile-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px 24px; }
.staff-profile-fields .field { min-width:0; display:grid; gap:4px; margin:0; }
.staff-profile-fields .field > label { display:block; margin:0; color:#081550; font-size:16px; line-height:20px; font-weight:700; }
.staff-directory .staff-profile-fields input, .staff-directory .staff-profile-fields select, .staff-directory-dialog input { width:100%; min-width:0; min-height:36px; height:36px; margin:0; padding:5px 10px; border:1px solid #94acd1; border-radius:7px; background-color:#fffefc; box-shadow:none; color:#081550; font:400 16px/1.25 "Source Sans 3",Arial,sans-serif; }
.staff-directory .staff-profile-fields input[list] { padding-right:32px; }
.staff-directory .staff-profile-fields input[readonly] { background:#f2f2f3; border-color:#c4ccda; }
.staff-full-field { grid-column:1 / -1; }
.staff-directory .staff-profile-fields .directory-phone-row { margin:0; }
.staff-directory .staff-profile-fields .directory-calling-code { flex:0 0 170px; width:170px; }
.staff-directory .field-error { font-size:14px; line-height:1.25; margin:2px 0; }
.staff-directory .field-help { font-size:14px; }
.staff-legacy-name { margin:8px 0 0; font-size:14px; color:#514197; }
.staff-profile-buttons { display:grid; grid-template-columns:1.6fr 1fr; gap:14px; margin-top:22px; }
.staff-profile-buttons button { min-width:0; width:100%; }
.staff-directory .staff-direct { display:flex; align-items:center; gap:12px; min-height:36px; margin:10px 6px 0; padding:0; background:transparent; border:0; border-radius:5px; color:#0649ee; font:400 18px/1.3 "Source Sans 3",Arial,sans-serif; }
.staff-directory .staff-direct .directory-icon { width:24px; height:24px; }
.staff-security { margin:24px 0 0; padding-top:15px; border-top:1px solid #dce3ed; }
.staff-security summary { display:flex; align-items:center; gap:16px; min-height:48px; padding:8px 12px; color:#001968; border:1px solid #acc1df; border-radius:13px; font-size:22px; font-weight:700; cursor:pointer; list-style:none; }
.staff-security summary::-webkit-details-marker { display:none; }
.staff-security summary .directory-icon:last-child { margin-left:auto; }
.staff-security[open] summary .directory-icon:last-child { transform:rotate(90deg); }
.staff-security form { margin:12px 2px 0; font-size:16px; }
.staff-security .check-label { display:flex; align-items:start; gap:8px; }
.staff-security .check-label input { flex:none; margin-top:4px; }
.staff-directory-footnote { margin:14px 8px 0; font-size:16px; font-style:italic; color:#514197; }
.staff-directory-dialog { width:min(500px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; overflow:auto; color:#081550; border:1px solid #c2cbdc; border-radius:18px; background:#fffdfa; box-shadow:0 16px 50px #09153b40; font-family:"Source Sans 3",Arial,sans-serif; }
.staff-directory-dialog::backdrop { background:#10204470; }
.staff-directory-dialog h2 { margin:0 0 12px; color:#00499c; font:700 28px/1.15 Georgia,"Times New Roman",serif; }
.staff-directory-dialog .field { margin:14px 0; }
.staff-directory-dialog .field label { font-size:16px; font-weight:700; }
.staff-directory-dialog button { min-height:40px; }
.staff-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:20px; }
.staff-removal { margin-top:22px; padding-top:16px; border-top:1px solid #dce3ed; }
.staff-directory button.staff-delete, .staff-directory-dialog button.staff-delete { color:#9e1734; border-color:#b93850; background:#fff9fa; }
.staff-invite-match { padding:0; }
.staff-invite-match:empty { display:none; }
.staff-invite-match p { margin:12px 0; }
.staff-directory :focus-visible { outline:3px solid #0649c6; outline-offset:3px; }
@container (max-width:420px) { .staff-directory .staff-profile-fields .directory-calling-code { flex-basis:110px; width:110px; } }
@media(max-width:1400px) { .staff-directory-actions > div { gap:12px; } .staff-directory-actions p { max-width:360px; } .staff-directory-tabs [role="tablist"] { gap:4px; } .staff-directory-tabs [role="tab"] { min-width:100px; padding-inline:8px; } }
@media(max-width:1150px) { .staff-directory-layout { grid-template-columns:minmax(0,1fr); } .staff-directory-list, .staff-directory-profile { min-height:0; } .staff-directory-heading { flex-wrap:wrap; gap:12px; } .staff-directory-actions { padding-top:0; text-align:left; } .staff-directory-actions p { max-width:none; } }
@media(max-width:700px) { .staff-directory-main { padding:16px 12px 24px; } .staff-directory-heading { margin:0 0 20px; } .staff-directory-heading h1 { font-size:34px; } .staff-directory-heading > div > p { font-size:18px; } .staff-directory-actions { width:100%; } .staff-directory-actions > div { justify-content:start; flex-wrap:wrap; } .staff-directory-actions button { padding-inline:12px; font-size:17px; } .staff-directory-filters { flex-direction:column; gap:10px; } .staff-search, .staff-department-filter { flex:auto; width:100%; } .staff-directory-tabs { flex-wrap:wrap; align-items:center; gap:0; } .staff-directory-tabs [role="tablist"] { min-height:56px; } .staff-directory-count { padding-bottom:10px; } .staff-table-scroll { padding-top:10px; } .staff-directory-profile { padding:16px 12px; } .staff-profile-identity strong { font-size:23px; } }
@media(max-width:480px) { .staff-profile-fields { grid-template-columns:minmax(0,1fr); } .staff-full-field { grid-column:1; } .staff-profile-buttons { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .staff-profile-buttons button { padding-inline:8px; font-size:17px; } .staff-security summary { font-size:20px; gap:10px; } }

.staff-work-profile { margin: 0; display: grid; gap: 16px; }
.staff-work-profile dt { color: #56616b; font-size: .875rem; }
.staff-work-profile dd { margin: 4px 0 0; overflow-wrap: anywhere; }
