.dialog.staff-admin { width: min(780px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 24px; }
.staff-admin-tabs { display: flex; gap: 8px; border-bottom: 1px solid #d9e3eb; padding-bottom: 12px; flex-wrap: wrap; }
.staff-admin-tabs button[aria-pressed="true"] { color: #fff; background: #2868a8; border-color: #2868a8; }
.staff-admin-status { font-size: 13px; color: #566d7e; min-height: 20px; margin: 8px 0 16px; }
.staff-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.staff-admin label { display: grid; gap: 8px; min-width: 0; font-size: 13px; }
.staff-admin input, .staff-admin select { width: 100%; min-width: 0; min-height: 44px; font-size: 16px; padding: 9px 10px; border: 1px solid #bed0df; border-radius: 4px; background: #fff; color: #293747; }
.staff-admin [hidden] { display: none !important; }
.staff-invite-list { border-top: 1px solid #d9e3eb; margin-top: 24px; }
.staff-invite-row, .staff-member-row, .staff-audit-row { padding: 20px 0; border-bottom: 1px solid #d9e3eb; }
.staff-invite-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.staff-invite-heading > div { display: grid; gap: 5px; }
.staff-invite-kind { font-size: 12px; color: #61788a; }
.staff-invite-heading strong { font-size: 26px; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.staff-state { font-size: 12px; color: #366b52; white-space: nowrap; }
.staff-state-pending, .staff-state-expired { color: #986520; }
.staff-state-disabled, .staff-state-revoked { color: #ad4444; }
.staff-invite-meta { font-size: 12px; color: #61788a; }
.staff-row-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.staff-row-actions button { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.staff-admin button svg { width: 18px; height: 18px; }
.staff-admin form > button { display: inline-flex; align-items: center; gap: 8px; }
.staff-invite-row details { margin-top: 14px; font-size: 13px; }
.staff-invite-row summary { cursor: pointer; min-height: 36px; }
.staff-invite-row li { padding: 8px 0; overflow-wrap: anywhere; }
.staff-admin small { display: block; font-size: 12px; color: #61788a; margin-top: 5px; }
.staff-member-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, 1fr); gap: 12px; }
.staff-member-row .staff-row-actions { margin: 0; }
.staff-admin label.staff-checkbox { display: flex; align-items: center; gap: 8px; }
.staff-checkbox input { width: 18px; min-height: 18px; }
.staff-member-search { margin: 12px 0; }
.staff-audit-row { display: grid; gap: 6px; overflow-wrap: anywhere; }
.staff-audit-row span { font-size: 13px; color: #61788a; }
.staff-empty { padding: 24px 0; color: #61788a; }
.staff-copy-fallback { width: 100%; min-height: 70px; font-size: 16px; overflow-wrap: anywhere; }
@media (max-width: 540px) { .dialog.staff-admin { padding: 16px; } .staff-form-grid, .staff-member-row { grid-template-columns: minmax(0, 1fr); } .staff-admin-tabs { gap: 6px; } .staff-admin-tabs button { flex: 1; padding: 10px 6px; font-size: 13px; } }
