.user-history .panel{margin-block:20px}
.user-history-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-block:24px 18px}
.user-history-tabs button{display:flex;align-items:center;gap:10px}
.user-history-tabs .count-badge{background:var(--surface-muted,#eaf0fb);color:var(--ink,#19375c)}
.user-history-filter{display:flex;align-items:end;gap:12px;margin-block:18px}
.user-history-filter .field{flex:1;margin:0;min-width:0}
.user-history-filter .form-error{margin:0}
.user-history-filter .form-error:empty{display:none}
.user-history .table-wrap{overflow-x:auto}
.user-history table th{white-space:nowrap}
.user-history table td{vertical-align:top}
.user-history .history-device{min-width:190px;max-width:310px;white-space:normal;overflow-wrap:anywhere}
.user-history .history-values{min-width:190px;max-width:330px}
.history-values dl{margin:0;display:grid;gap:10px}
.history-values dl>div{display:grid;gap:3px}
.history-values dt{font-size:11px;color:var(--muted,#7e8da5)}
.history-values dd{margin:0;font-size:12px;white-space:normal;overflow-wrap:anywhere}
.user-history .history-address{min-width:130px;max-width:280px;white-space:normal;overflow-wrap:normal}
.user-history .history-row-actions{display:flex;flex-wrap:wrap;gap:8px}
.history-row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:180px;max-width:320px}
.balance-dialog .dialog-head{padding:14px 24px}
.balance-dialog .dialog-head h2{font-size:20px}
.balance-dialog .dialog-body{padding-block:14px}
.balance-dialog .field{gap:6px;margin-bottom:10px}
.balance-dialog .field textarea{height:64px;min-height:64px;resize:vertical}
.balance-dialog .dialog-actions{padding-top:12px}
.balance-dialog .dialog-actions>[data-action="refresh-user-balance"]{margin-inline-end:auto}
.balance-dialog .dialog-actions>[data-action="refresh-balance-cancellation"]{margin-inline-end:auto}
.user-history .balance-editor-summary{max-width:540px;margin-block:0 18px}
.balance-cancelled-row td:nth-child(3) strong{color:var(--muted);text-decoration:line-through}
.balance-editor-user{display:grid;gap:4px;margin:0 0 9px;overflow-wrap:anywhere;font-size:13px}
.balance-editor-user span{color:var(--muted);font-size:12px}
.balance-editor-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.balance-editor-summary>div{border:1px solid var(--line);border-radius:12px;padding:9px;background:var(--subtle)}
.balance-editor-summary dt{color:var(--muted);font-size:12px;margin-bottom:5px}
.balance-editor-summary dd{margin:0;font-size:16px;font-weight:650;overflow-wrap:anywhere}
.balance-editor-hint{margin:-6px 0 10px;color:var(--muted);font-size:11px}
.balance-editor-operations{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--subtle)}
.balance-editor-operations button{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.balance-editor-operations button span{font-size:19px;line-height:1}
.balance-editor-operations button[aria-pressed=true]{border-color:var(--line);background:var(--surface);color:var(--blue);box-shadow:0 2px 6px #172a4910}
.balance-editor-operations button[data-id=debit][aria-pressed=true]{color:#c43f50}
.balance-editor-operations button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.balance-editor-operations button:disabled{cursor:default;opacity:.65}
.balance-dialog .balance-submit-debit{background:#c43f50;border-color:#c43f50;color:#fff}
.balance-dialog .balance-submit-debit:hover{background:#ac3141;border-color:#ac3141}
[data-form="balance-cancellation"] .balance-editor-preview{margin-bottom:12px}
[data-form="balance-cancellation"] [type="submit"]{background:#c43f50;border-color:#c43f50;color:#fff}
[data-form="balance-cancellation"] [type="submit"]:hover{background:#ac3141;border-color:#ac3141}
.balance-editor-preview-error{grid-column:1/-1;align-self:center;color:var(--muted);font-size:12px;line-height:1.6}
.balance-editor-status{margin:10px 0 0;color:#b47610;font-size:12px}
.balance-editor-preview{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--subtle);font-size:12px;min-height:74px}
.balance-editor-preview>div{display:grid;gap:5px;min-width:0}
.balance-editor-preview span{font-size:11px;color:var(--muted)}
.balance-editor-preview strong{overflow-wrap:anywhere}
.balance-editor-preview .balance-editor-delta{grid-column:1/-1;text-align:end;font-size:14px;padding-top:6px;border-top:1px solid var(--line)}
[data-form="user-balance"] textarea{resize:vertical;min-height:70px}
.balance-editor-hold{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--subtle);font-size:13px;cursor:pointer}
.balance-editor-hold input{inline-size:17px;block-size:17px;min-height:0;accent-color:var(--blue);margin:0;flex:none}
.balance-dialog[open]{display:flex;flex-direction:column}
.balance-dialog .dialog-head{flex-shrink:0}
.balance-dialog .dialog-body{overflow:auto;overscroll-behavior:contain}
.balance-editor-hold[hidden],.balance-editor-hold-fields[hidden]{display:none}
.balance-editor-hold-fields .field{margin-bottom:8px}
.balance-editor-hold-fields .dialog-note{font-size:11px;line-height:1.5;margin:0 0 12px}
.balance-editor-preview .balance-editor-release{grid-column:1/-1}
[data-form="user-balance"] input:read-only,[data-form="user-balance"] textarea:read-only{opacity:.75}
.permission-dialog{width:620px;max-width:calc(100vw - 32px)}
.permission-dialog .dialog-body{padding-block:16px}
.permission-dialog .balance-editor-user{margin-bottom:9px}
.permission-note{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.permission-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.permission-dialog .permission-search{margin:0 0 7px}
.permission-search input{padding-block:10px}
.permission-results{font-size:11px;color:var(--muted);margin-bottom:7px}
.permission-list{height:152px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:var(--surface);scrollbar-gutter:stable}
.permission-choice{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;min-width:0;border-bottom:1px solid var(--line)}
.permission-choice:last-child{border-bottom:0}
.permission-choice.is-permitted{background:var(--subtle)}
.permission-choice:focus-within{outline:2px solid var(--blue);outline-offset:-2px}
.permission-choice input{flex:none;inline-size:17px;block-size:17px;accent-color:var(--blue);margin:0}
.permission-choice span{display:grid;gap:4px;min-width:0;flex:1}
.permission-choice strong{font-size:13px;overflow-wrap:anywhere}
.permission-choice small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.permission-choice>.icon{flex:none;color:var(--blue)}
.permission-empty{color:var(--muted);font-size:13px;text-align:center;padding:28px 16px}
.permission-summary{margin:10px 0 12px;color:var(--muted);font-size:12px}
.permission-dialog .permission-reason{margin-bottom:0}
.permission-reason textarea{resize:vertical;min-height:58px}
.permission-dialog .dialog-actions>[data-action="refresh-user-permissions"]{margin-inline-end:auto}
@media(max-width:640px){.permission-dialog .dialog-body{padding-inline:16px}.permission-tabs .button{font-size:12px;padding:8px 10px}.permission-choice{padding:9px 10px}}
@media(max-width:640px){.user-history-filter{flex-wrap:wrap}.user-history-filter .field{flex-basis:100%}.user-history-tabs{gap:7px}.user-history-tabs button{padding:10px;font-size:12px}}

.permission-choice:not(.is-permitted)>.icon{visibility:hidden}

/* Compact actions belong only to rows in the user directory. */
body[data-workspace=admin] .user-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;inline-size:max-content;max-inline-size:100%;margin-inline-start:auto}
body[data-workspace=admin] .user-row-actions .user-action{display:inline-flex;align-items:center;justify-content:center;flex:none;inline-size:32px;block-size:32px;min-inline-size:32px;min-block-size:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);box-shadow:none}
body[data-workspace=admin] .user-row-actions .user-action .icon{width:17px;height:17px}
body[data-workspace=admin] .user-row-actions .user-action:hover{background:var(--accent);color:var(--blue);border-color:var(--blue)}
body[data-workspace=admin] .user-row-actions .user-action:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
body[data-workspace=admin] .user-row-actions .user-action.is-block{color:#bd3650;background:#c43f5009}
body[data-workspace=admin] .user-row-actions .user-action.is-enable{color:#16836a;background:#16836a09}
body[data-workspace=admin] .user-row-actions .user-action.is-block:hover{background:#c43f5017;border-color:#bd3650}
body[data-workspace=admin] .user-row-actions .user-action.is-enable:hover{background:#16836a17;border-color:#16836a}
html[data-theme=dark] body[data-workspace=admin] .user-row-actions .user-action.is-block{color:#ff8497}
html[data-theme=dark] body[data-workspace=admin] .user-row-actions .user-action.is-enable{color:#62d8b0}
@media(max-width:999px){
  body[data-workspace=admin] .user-row-actions{gap:8px}
  body[data-workspace=admin] .user-row-actions .user-action{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;min-height:44px;border-radius:11px}
  body[data-workspace=admin] .user-row-actions .user-action .icon{width:19px;height:19px}
}
@media(max-width:600px){
  body[data-workspace=admin] .user-row-actions{justify-content:flex-start;margin-inline-start:0}
  body[data-workspace=admin] .table-wrap[data-mobile-layout=cards][data-mobile-page=users] td:last-child{padding-top:10px;border-top:1px solid var(--line)}
}

/* Manual server search keeps the directory and global balances independent. */
body[data-workspace=admin] .users-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
body[data-workspace=admin] .users-search-form .rate-search{margin:0;min-width:0}
body[data-workspace=admin] .users-search-form .button{min-height:44px}
body[data-workspace=admin] .users-search-form .form-error{grid-column:1/-1;margin:0}
@media(max-width:640px){body[data-workspace=admin] .users-search-form{padding:16px;gap:8px}}

/* Server sorting includes accounts outside the current 200-row directory. */
body[data-workspace=admin] .users-activity-toolbar{display:flex;padding:16px 20px 0}
body[data-workspace=admin] .users-activity-modes{display:flex;gap:4px;max-width:100%;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--subtle)}
body[data-workspace=admin] .users-activity-mode{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:600 12px/1.4 Manrope,Arial,sans-serif;text-align:center;cursor:pointer}
body[data-workspace=admin] .users-activity-mode small{font:inherit;color:inherit}
body[data-workspace=admin] .users-activity-mode:hover{background:var(--accent);color:var(--blue)}
body[data-workspace=admin] .users-activity-mode[aria-pressed=true]{background:var(--blue);color:#fff}
body[data-workspace=admin] .users-activity-mode:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:640px){body[data-workspace=admin] .users-activity-toolbar{padding:16px 16px 0}body[data-workspace=admin] .users-activity-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}body[data-workspace=admin] .users-activity-mode{flex-direction:column;gap:2px;padding:8px 5px}}
body[data-workspace=admin] .users-search-form{grid-template-columns:minmax(0,1fr) auto minmax(170px,220px);align-items:stretch}body[data-workspace=admin] .users-sort{justify-content:center}body[data-workspace=admin] .users-search-form .form-error:empty{display:none}@media(max-width:640px){body[data-workspace=admin] .users-search-form{grid-template-columns:minmax(0,1fr) auto}body[data-workspace=admin] .users-sort{grid-column:1/-1}}
