/* 限定账号列表、菜单与右侧抽屉，避免既有表格和弹窗样式串入。 */
.accounts-workspace { display:grid; gap:18px; color:#1e293b; min-width:0; }
.accounts-workspace button,.accounts-drawer button,.accounts-menu button { min-height:36px; padding:8px 14px; margin:0; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; color:#475569; background:#fff; cursor:pointer; }
.accounts-workspace button.primary,.accounts-drawer button.primary { background:#2563eb; border-color:#2563eb; color:#fff; }
.accounts-workspace button:disabled,.accounts-drawer button:disabled,.accounts-menu button:disabled { opacity:.5; cursor:not-allowed; }
.accounts-workspace button:focus-visible,.accounts-drawer button:focus-visible,.accounts-menu button:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.accounts-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.accounts-counts { display:flex; flex-wrap:wrap; gap:6px; }
.accounts-counts button { display:flex; gap:8px; border-color:transparent; background:transparent; }
.accounts-counts button strong { font-weight:600; }
.accounts-counts button[aria-pressed="true"] { color:#2563eb; background:#eff6ff; }
.accounts-list-card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; min-width:0; padding:20px; }
.accounts-filters { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.accounts-filters label { min-width:0; margin:0; }
.accounts-search { flex:1; min-width:200px!important; max-width:420px; }
.accounts-filters input,.accounts-filters select { width:100%; min-height:40px; border:1px solid #e2e8f0; background:#fff; border-radius:8px; padding:9px 12px; font-size:13px; }
.accounts-filters select { min-width:140px; }
.accounts-list-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 14px; }
.accounts-list-heading h2 { margin:0; font-size:15px; }
.accounts-list-heading>span { color:#94a3b8; font-size:12px; }
.accounts-table-scroll { overflow-x:auto; max-width:100%; }
.accounts-workspace .accounts-table { width:100%; min-width:750px; border-collapse:collapse; font-size:13px; }
.accounts-workspace .accounts-table th { background:#f8fafc; color:#64748b; font-weight:500; text-align:left; padding:13px 14px; white-space:nowrap; border:0; }
.accounts-workspace .accounts-table td { padding:14px; border:0; border-bottom:1px solid #f1f5f9; border-radius:0; line-height:1.6; text-align:left; }
.accounts-workspace .accounts-table tbody tr { border-radius:0; background:#fff; }
.accounts-workspace .accounts-table tbody tr:nth-child(even) { background:#f8fafc; }
.accounts-workspace .accounts-table tbody tr:hover { background:#eff6ff; }
.accounts-workspace .accounts-table td>strong { font-size:14px; }
.accounts-current { display:block; color:#94a3b8; font-size:11px; }
.accounts-account { color:#64748b; }
.accounts-role-tag { display:inline-block; background:#eff6ff; color:#2563eb; padding:4px 9px; border-radius:6px; font-size:12px; }
.accounts-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:6px; font-size:12px; }
.accounts-status::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.accounts-status.is-active { color:#15803d; background:#f0fdf4; }
.accounts-status.is-disabled { color:#64748b; background:#f1f5f9; }
.accounts-exec-yes { color:#334155; }.accounts-exec-no { color:#94a3b8; }
.accounts-row-actions { display:flex; gap:8px; white-space:nowrap; }
.accounts-row-actions button { border:0; background:transparent; color:#2563eb; padding:5px 3px; }
.accounts-row-actions button:last-child { color:#64748b; }
.accounts-empty { display:grid; justify-items:center; gap:8px; padding:38px 12px; }
.accounts-empty strong { font-size:14px; }.accounts-empty p { margin:0; color:#94a3b8; font-size:12px; }
.accounts-feedback { min-height:18px; margin:0; font-size:13px; color:#15803d; }
.accounts-menu { position:fixed; z-index:1000; min-width:150px; padding:6px; border:1px solid #e2e8f0; border-radius:10px; background:#fff; box-shadow:0 8px 25px #0f172a18; }
.accounts-menu[hidden] { display:none!important; }
.accounts-menu button { display:block; width:100%; border:0; text-align:left; }
.accounts-menu button:hover:not(:disabled) { background:#f8fafc; }
.accounts-menu button.danger { color:var(--danger, #dc2626); background:#fff; border-top:1px solid #f1f5f9; border-radius:0 0 6px 6px; }
.accounts-menu button.danger:hover:not(:disabled) { background:#fef2f2; }
#modal.account-delete-modal { max-width:560px; }
#modal.account-delete-modal #modalActions button { flex:0 0 auto; min-height:40px; }
.accounts-drawer { position:fixed; inset:0 0 0 auto; margin:0; padding:0; width:min(520px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; border:0; border-left:1px solid #e2e8f0; border-radius:0; background:#fff; box-shadow:-8px 0 30px #0f172a18; color:#1e293b; overflow:hidden; }
.accounts-drawer::backdrop { background:#0f172a55; }
.accounts-drawer-shell { display:flex; flex-direction:column; height:100%; min-height:0; }
.accounts-drawer-shell>header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:24px; border-bottom:1px solid #e2e8f0; background:#fff; }
.accounts-drawer h2 { font-size:20px; margin:0 0 7px; }.accounts-drawer header p { color:#94a3b8; font-size:12px; margin:0; }
.accounts-drawer header button { font-size:22px; border:0; padding:0 8px; }
.accounts-drawer-body { flex:1; min-height:0; overflow-y:auto; display:grid; align-content:start; gap:20px; padding:24px; margin:0; }
.accounts-drawer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.accounts-field { display:grid; gap:8px; margin:0; min-width:0; color:#334155; }
.accounts-field>span { font-size:13px; font-weight:500; }
.accounts-field input,.accounts-field select { width:100%; min-width:0; height:42px; min-height:42px; padding:9px 12px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; background:#fff; }
.accounts-field input:focus,.accounts-field select:focus,.accounts-filters input:focus,.accounts-filters select:focus { outline:2px solid #bfdbfe; outline-offset:0; border-color:#2563eb; }
.accounts-field input[aria-invalid="true"] { border-color:#dc2626; }
.accounts-field :disabled { background:#f8fafc; color:#94a3b8; }
.accounts-role-scope { padding:14px; border-radius:10px; background:#f8fafc; font-size:13px; }
.accounts-role-scope strong { font-weight:600; }.accounts-role-scope p { font-size:12px; line-height:1.8; color:#64748b; margin:7px 0; }
.accounts-drawer .accounts-link { color:#2563eb; padding:4px 0; min-height:30px; border:0; background:transparent; }
.accounts-note,.accounts-drawer-intro { font-size:12px; line-height:1.8; color:#64748b; margin:0; }
.accounts-salary { border-top:1px solid #e2e8f0; padding-top:14px; }
.accounts-salary summary { font-size:13px; color:#64748b; cursor:pointer; padding:6px 0; }.accounts-salary .accounts-field { margin-top:12px; }
.accounts-form-error,.accounts-inline-error { color:#dc2626; font-size:12px; line-height:1.6; margin:0; }
.accounts-form-error:empty { display:none; }
.accounts-drawer-shell>footer { display:flex; justify-content:flex-end; gap:12px; padding:18px 24px; border-top:1px solid #e2e8f0; background:#fff; }
.accounts-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) {
  .accounts-toolbar { flex-wrap:wrap; }.accounts-toolbar button { padding:8px 10px; }
  .accounts-list-card { padding:16px; }.accounts-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .accounts-search { grid-column:1/-1; min-width:0!important; max-width:none; }.accounts-filters select { min-width:0; }
  .accounts-filters>button { grid-column:1/-1; }
  .accounts-drawer-shell>header,.accounts-drawer-body { padding:20px; }.accounts-drawer-grid { grid-template-columns:1fr; }
  .accounts-drawer-shell>footer { padding:16px 20px; }.accounts-drawer-shell>footer button { flex:1; }
}
