.admin-dialog { width: min(920px, calc(100vw - 28px)); max-width: 920px; }
#preview-mail-messages { display: grid; gap: 12px; margin-top: 14px; }
#preview-mail-messages input { display: block; width: 100%; margin: 8px 0; }
#preview-mail-messages p { overflow-wrap: anywhere; }
.admin-dialog .account-members, #admin-signups { display: grid; gap: 12px; }
.admin-legacy-invite { margin: 22px 0; }
.admin-legacy-invite summary { cursor: pointer; font-size: 13px; }
.access-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; margin-top: 22px; }
.access-nav button { border: 0; background: transparent; color: #6940a0; cursor: pointer; font: inherit; font-size: 13px; padding: 6px 0; }
#access-form { display: grid; gap: 14px; }
#access-form .field, #access-form p { margin: 0; }
#access-form[hidden], .access-nav[hidden] { display: none; }
.access-show { display: flex; align-items: center; gap: 7px; font-size: 13px; color: #5d5765; }
.access-show input { width: 16px; height: 16px; }
.access-message { background: #edf5f1; color: #335849; padding: 12px; border-radius: 8px; font-size: 13px; line-height: 1.7; }
#account-email-form { display: grid; gap: 12px; margin: 12px 0; }
#admin-signups p { overflow-wrap: anywhere; }
#admin-signups select { display: block; width: 100%; margin-top: 8px; }
.admin-dialog .upload-form { gap: 16px; }
.admin-notice { padding: 12px 16px; background: #f2edf8; border-radius: 10px; color: #4f4462; font-size: 13px; line-height: 1.65; }
.admin-dialog .invite-form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: end; }
.admin-dialog .invite-form > button { grid-column: 1 / -1; justify-self: start; }
.admin-dialog #invite-result { margin: 14px 0; padding: 16px; background: #f6f4f0; border-radius: 10px; }
.admin-dialog #invite-result input { width: 100%; margin: 8px 0; }
.admin-dialog #invite-result small { display: block; margin-top: 8px; }
.admin-member { padding: 18px; border: 1px solid #e4dfe8; border-radius: 12px; background: #fff; min-width: 0; }
.admin-member-heading { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.admin-member-heading small, .admin-history small { display: block; color: #6c6874; margin-top: 5px; }
.admin-status { flex-shrink: 0; background: #f2edf8; color: #584373; padding: 5px 9px; border-radius: 6px; font-size: 12px; }
.admin-member-meta { font-size: 12px; color: #6c6874; line-height: 1.6; }
.admin-permissions { border: 0; padding: 0; margin: 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-permissions legend { font-size: 13px; margin-bottom: 12px; }
.admin-permissions label { display: flex; gap: 8px; align-items: center; font-size: 13px; cursor: pointer; }
.admin-permissions input { width: 17px; height: 17px; accent-color: #6940a0; }
.admin-member-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-member-actions button { font-size: 12px; }
.admin-history { margin-top: 24px; font-size: 13px; }
.admin-history summary { cursor: pointer; }
.admin-history ol { padding-left: 22px; }
.admin-history li { padding: 10px 0; border-bottom: 1px solid #ede9f0; line-height: 1.7; }
.admin-history span { display: block; font-size: 12px; color: #6c6874; }
@media (max-width: 600px) {
  .admin-dialog .invite-form, .admin-permissions { grid-template-columns: 1fr; }
  .admin-member { padding: 13px; }
  .admin-member-actions button { min-height: 36px; }
}
#environment-badge { font-size: 11px; white-space: nowrap; color: #6940a0; background: #f0eaf7; padding: 5px 9px; border-radius: 6px; }
.environment-notice { margin: 0; padding: 10px 28px; color: #62566f; background: #f5f1f8; font-size: 12px; line-height: 1.6; }

/* Compact staff management; keep other dialogs at their existing size. */
#admin-dialog { width: min(1120px, calc(100vw - 32px)); max-width: 1120px; max-height: 90vh; font-size: 13px; }
#admin-dialog > .upload-form { padding: 20px 24px; gap: 12px; }
#admin-dialog h2 { font-size: 20px; margin: 0; }
#admin-dialog h3 { font-size: 14px; margin: 0 0 10px; }
#admin-dialog p, #admin-dialog label, #admin-dialog input, #admin-dialog select, #admin-dialog button, #admin-dialog summary { font-size: 12px; line-height: 1.5; }
#admin-dialog .dialog-description { margin: 0 0 8px; font-size: 12px; }
#admin-dialog .dialog-close { font-size: 24px; }
#admin-dialog input:not([type=checkbox]), #admin-dialog select { min-height: 32px; padding: 6px 8px; border: 1px solid #dcd6e4; border-radius: 6px; background: #fff; color: #343348; font-family: inherit; box-sizing: border-box; }
#admin-dialog button:not(.dialog-close) { min-height: 30px; padding: 5px 10px; border-radius: 6px; white-space: nowrap; }
#admin-dialog button:disabled { opacity: .45; cursor: default; }
#admin-dialog .admin-notice { padding: 8px 12px; margin: 0; font-size: 12px; }
#admin-dialog #admin-summary { color: #665874; }
#admin-dialog .admin-tabs { display: flex; gap: 4px; border-bottom: 1px solid #e3dce9; margin-bottom: 2px; }
#admin-dialog .admin-tabs button { background: transparent; border: 0; color: #6c6176; border-radius: 6px 6px 0 0; padding: 8px 16px; font-size: 13px; }
#admin-dialog .admin-tabs button[aria-selected=true] { color: #5a3586; background: #f1eaf8; box-shadow: inset 0 -2px #8055aa; }
#admin-dialog .admin-tabs span { font-size: 11px; margin-left: 5px; }
#admin-dialog [hidden] { display: none !important; }
#admin-dialog .staff-add { margin: 0 0 12px; border: 1px solid #e3dce9; border-radius: 8px; padding: 10px 12px; background: #faf8fc; }
#admin-dialog .staff-add summary { color: #6940a0; cursor: pointer; font-weight: 600; }
#admin-dialog .staff-new-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; margin: 12px 0 8px; }
#admin-dialog .staff-new-form label, #admin-dialog .staff-toolbar label { display: grid; gap: 4px; color: #6b6372; }
#admin-dialog .staff-toolbar { display: grid; grid-template-columns: minmax(160px,1fr) 180px 140px auto; gap: 10px; align-items: end; margin-bottom: 8px; }
#admin-dialog .account-members { display: block; overflow-x: auto; border: 1px solid #e5dfea; border-radius: 8px; }
#admin-dialog .staff-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
#admin-dialog .staff-table th, #admin-dialog .staff-table td { padding: 5px 10px; border-bottom: 1px solid #eeeaf2; vertical-align: middle; }
#admin-dialog .staff-table thead th { background: #f5f2f8; color: #71657e; font-size: 11px; font-weight: 600; white-space: nowrap; }
#admin-dialog .staff-table th[scope=row] { min-width: 94px; font-size: 13px; font-weight: 600; }
#admin-dialog .staff-table tbody tr:last-child > * { border-bottom: 0; }
#admin-dialog .staff-table tr[data-staff]:hover { background: #fcfaff; }
#admin-dialog .staff-team-edit { display: flex; align-items: center; gap: 5px; }
#admin-dialog .staff-team-edit select { min-width: 160px; width: 170px; }
#admin-dialog .staff-row-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
#admin-dialog .staff-delete { color: #9b4949; padding: 4px 5px; }
#admin-dialog .staff-delete-confirm { padding: 8px 0; font-size: 11px; line-height: 1.6; }
#admin-dialog .staff-delete-confirm p { margin: 0 0 5px; }
#admin-dialog .staff-login { max-width: 140px; overflow-wrap: anywhere; color: #6c6475; }
#admin-dialog .admin-status { font-size: 11px; padding: 3px 6px; }
#admin-dialog .staff-account-detail { padding: 6px 8px 10px; background: #faf8fc; }
#admin-dialog .admin-member-meta { font-size: 11px; margin: 0 0 8px; }
#admin-dialog .admin-permissions { display: flex; gap: 12px 20px; flex-wrap: wrap; margin: 8px 0 12px; }
#admin-dialog .admin-permissions legend { font-size: 11px; margin-bottom: 7px; }
#admin-dialog .admin-permissions label { font-size: 12px; gap: 6px; }
#admin-dialog .admin-permissions input { width: 15px; height: 15px; }
#admin-dialog .staff-help { margin-top: 9px; }
#admin-dialog .staff-empty { padding: 20px; text-align: center; }
#admin-dialog .admin-member { padding: 12px; border-radius: 8px; }
#admin-dialog .admin-legacy-invite { margin: 16px 0 0; }
#admin-dialog .admin-legacy-invite > p { margin-top: 8px; }
#admin-dialog .admin-history { margin: 0; padding-left: 20px; }
#admin-dialog .admin-history li { padding: 8px 0; font-size: 12px; }
@media (max-width: 700px) {
  #admin-dialog { width: calc(100vw - 16px); }
  #admin-dialog > .upload-form { padding: 16px 12px; }
  #admin-dialog .staff-toolbar { grid-template-columns: 1fr 1fr; gap: 8px; }
  #admin-dialog .staff-toolbar .staff-search-label { grid-column: 1 / -1; }
  #admin-dialog .staff-new-form { grid-template-columns: 1fr; }
  #admin-dialog .staff-table { min-width: 760px; }
  #admin-dialog .admin-tabs button { padding: 8px 10px; }
}
