/* Staff directory only. Inherits the existing admin light/dark design tokens. */
.admin-shell .staff-users .staff-user-filters,
.admin-shell .staff-users .staff-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.admin-shell .staff-users .staff-user-filters { margin: 0 0 20px; }
.admin-shell .staff-users .staff-user-filters [aria-pressed="true"] {
  background: var(--as-hover);
  color: var(--as-active-text, var(--primary-deep));
  border-color: var(--adm-control-focus);
}
.admin-shell .staff-users .staff-user-filters span { font-variant-numeric: tabular-nums; }
.admin-shell .staff-users .data-table { min-width: 900px; }
.admin-shell .staff-users .row-name { min-width: 180px; max-width: 240px; white-space: normal; }
.admin-shell .staff-users .row-name .p-cell { max-width: 240px; }
.admin-shell .staff-users .row-name .av-ic { flex-shrink: 0; }
.admin-shell .staff-users .row-name .p-cell > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.admin-shell .staff-users .staff-email { overflow-wrap: anywhere; min-width: 180px; max-width: 280px; }
.admin-shell .staff-users .staff-row-actions { min-width: 158px; }
.admin-shell .staff-users .tbl-tools { flex-wrap: wrap; gap: 12px; }
.admin-shell .staff-users .at-search { flex: 1 1 240px; min-width: 0; }
.admin-shell .staff-users .staff-state { font-weight: 600; }
.admin-shell .staff-users .staff-state.is-inactive { color: var(--as-muted); }
.admin-shell .staff-users :is(button, input),
.admin-shell .staff-user-dialog :is(button, input:not([type="checkbox"]), select) { min-height: 44px; }
.admin-shell .staff-user-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 24px;
  border: 1px solid var(--as-line-strong, var(--adm-control-border));
  border-radius: 16px;
  background: var(--as-surface, #fff);
  color: var(--as-ink, #182234);
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 0 16px 60px rgb(0 0 0 / 28%);
}
.admin-shell .staff-user-dialog::backdrop { background: rgb(0 0 0 / 52%); }
.admin-shell .staff-user-form { display: grid; gap: 12px; margin: 0; }
.admin-shell .staff-user-form > header { min-width: 0; overflow-wrap: anywhere; }
.admin-shell .staff-user-form h2 { margin: 0 0 8px; font-size: 24px; line-height: 1.25; }
.admin-shell .staff-user-form .panel-sub { margin: 0; line-height: 1.5; }
.admin-shell .staff-user-form > label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.admin-shell .staff-user-form :is(input:not([type="checkbox"]), select) {
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--adm-control-border);
  border-radius: 8px;
  background: var(--as-surface, #fff);
  color: var(--as-ink, #182234);
  font: inherit;
  font-size: 16px;
}
.admin-shell .staff-user-form > .staff-user-check { display: flex; flex-direction: row; align-items: center; min-height: 44px; gap: 10px; }
.admin-shell .staff-user-form .staff-user-check input { width: 20px; height: 20px; margin: 0; }
.admin-shell .staff-user-form footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.admin-shell :is(.staff-users, .staff-user-dialog) :focus-visible { outline: 3px solid var(--adm-control-focus); outline-offset: 3px; }
.admin-shell .staff-user-error { color: var(--danger, #b42318); font-size: 14px; line-height: 1.5; }
.admin-shell[data-admtheme="dark"] .staff-user-error { color: #ffb4ab; }
.admin-shell .staff-user-error[hidden] { display: none; }
.admin-shell .staff-user-form [aria-invalid="true"] { border-color: var(--danger, #b42318); }
@media (max-width: 560px) {
  .admin-shell .staff-users .workspace-head { align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  .admin-shell .staff-user-dialog { padding: 20px; }
  .admin-shell .staff-user-form footer > button { flex: 1; }
}
