/* Compact, progressive Requests tables shared by Admin and standard User only. */
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) { font-size:12px; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) thead th { height:auto; padding:6px 8px; font-size:10px; line-height:1.2; white-space:nowrap; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) tbody tr { height:42px; min-height:42px; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) tbody td { height:42px; min-height:42px; padding:0 8px; font-size:11px; line-height:1.25; vertical-align:middle; white-space:nowrap; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) tbody td strong,
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) tbody :is(.request-status-pill,.request-type-pill,.request-notes-button) { font-size:11px; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) .request-message-cell > span { display:block; max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) .request-notes-button { min-height:30px; padding:5px 9px; }
#adminRequests #adminRequestsTableWrap,
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTableWrap { max-height:calc(100vh - 310px); overflow:auto; scrollbar-width:thin; }
:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap)::-webkit-scrollbar { width:12px; height:12px; }
:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap)::-webkit-scrollbar-thumb { border:3px solid transparent; border-radius:999px; background:#c5d0dc; background-clip:content-box; }
html[data-theme="dark"] :is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap)::-webkit-scrollbar-thumb { background-color:#3a4658; }

#adminRequests .request-user-identity { min-width:0; gap:6px; }
#adminRequests .request-user-identity .request-id-cell { color:#635bff !important; font-weight:650; }
#adminRequests .request-user-identity strong { color:#0a2540 !important; font-weight:550; }
html[data-theme="dark"] #adminRequests .request-user-identity .request-id-cell { color:#9b94ff !important; }
html[data-theme="dark"] #adminRequests .request-user-identity strong { color:#e7edf7 !important; }

:is(#adminRequests #adminRequestsTable, #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable) { width:100%; table-layout:fixed; }
#adminRequests #adminRequestsTable { min-width:1710px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable { min-width:1410px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(1) { width:128px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(2) { width:230px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(3) { width:100px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(4) { width:110px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(5) { width:120px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(6) { width:275px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(7) { width:365px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(8) { width:86px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(9) { width:130px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(10) { width:140px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(11) { width:132px; }
#adminRequests #adminRequestsTable :is(th,td):nth-child(12) { width:72px; }
#adminRequests .request-task-button { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:5px 9px; border:1px solid #d8d5ff; border-radius:6px; background:#f3f1ff; color:#5145cd; font:inherit; font-size:11px; font-weight:600; white-space:nowrap; box-shadow:none; cursor:pointer; }
#adminRequests .request-task-button:hover:not(:disabled) { border-color:#635bff; background:#ebe8ff; }
#adminRequests .request-task-button:focus-visible { outline:2px solid #635bff; outline-offset:2px; }
#adminRequests .request-task-button:disabled { opacity:.6; cursor:wait; }
html[data-theme="dark"] #adminRequests .request-task-button { border-color:#454078; background:#242344; color:#c8c3ff; }
html[data-theme="dark"] #adminRequests .request-task-button:hover:not(:disabled) { border-color:#8b82ff; background:#302b58; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(1) { width:105px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(2) { width:88px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(3) { width:100px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(4) { width:110px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(5) { width:auto; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(6) { width:365px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(7) { width:66px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(8) { width:130px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(9) { width:154px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable :is(th,td):nth-child(10) { width:50px; }
:is(#adminRequests,#userRequestsView) .request-documentation-cell { min-width:365px; max-width:365px; overflow:hidden; white-space:nowrap; }
:is(#adminRequests,#userRequestsView) .request-documents-cell { display:flex; min-width:0; align-items:center; gap:6px; overflow:hidden; white-space:nowrap; }
:is(#adminRequests,#userRequestsView) .request-documents-cell > strong { max-width:96px; min-width:0; flex:0 1 96px; overflow:hidden; color:#0a2540; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
:is(#adminRequests,#userRequestsView) .request-document-links { display:flex; min-width:0; max-width:112px; flex:0 1 112px; flex-wrap:nowrap; gap:4px; overflow:hidden; }
:is(#adminRequests,#userRequestsView) .request-document-link,
:is(#adminRequests,#userRequestsView) .request-document-pending,
:is(#adminRequests,#userRequestsView) .request-document-sent,
:is(#adminRequests,#userRequestsView) .request-document-rejected,
:is(#adminRequests,#userRequestsView) .request-document-rejection-history { display:inline-flex; min-width:0; max-width:112px; overflow:hidden; color:#635bff; font-size:10px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
:is(#adminRequests,#userRequestsView) .request-document-link { display:block; min-width:0; max-width:108px; overflow:hidden; text-overflow:ellipsis; }
#adminRequests .request-document-links { max-width:150px; flex-basis:150px; }
#adminRequests .request-document-item { display:inline-flex; min-width:0; max-width:72px; flex:0 0 72px; align-items:center; gap:3px; }
#adminRequests .request-document-item .request-document-link { min-width:0; max-width:none; flex:1 1 auto; }
#adminRequests .request-document-delete { width:20px; min-width:20px; height:20px; min-height:20px; display:grid; place-items:center; margin:0; padding:0; border:1px solid transparent; border-radius:5px; background:transparent; color:#8792a2; font:inherit; font-size:15px; font-weight:500; line-height:1; box-shadow:none; transform:none; cursor:pointer; }
#adminRequests .request-document-delete:hover { border-color:#f4b4ae; background:#fff5f3; color:#b42318; box-shadow:none; transform:none; }
#adminRequests .request-document-delete:focus-visible { outline:0; border-color:#df1b12; box-shadow:0 0 0 3px rgba(223,27,18,.13); }
:is(#adminRequests,#userRequestsView) :is(.request-document-pending,.request-document-sent) { color:#697386; }
#userRequestsView .request-document-rejected { max-width:210px; color:#b42318; }
#adminRequests .request-document-rejection-history { color:#b54708; }
.request-document-rejection-button { display:inline-flex; min-height:24px; flex:0 0 auto; align-items:center; justify-content:center; margin:0; padding:4px 8px; border:1px solid #f4b4ae; border-radius:6px; background:#fff5f3; color:#b42318; font:inherit; font-size:10px; font-weight:650; line-height:1.2; white-space:nowrap; box-shadow:none; transform:none; cursor:pointer; }
.request-document-rejection-button:hover { border-color:#ee8d84; background:#ffeceb; color:#9f1f14; box-shadow:none; transform:none; }
.request-document-rejection-button:focus-visible { outline:0; border-color:#df1b12; box-shadow:0 0 0 3px rgba(223,27,18,.13); }
#userRequestsView .request-document-upload { display:flex; min-width:0; flex:1 1 auto; flex-wrap:nowrap; align-items:center; gap:4px; overflow:hidden; }
#userRequestsView .request-document-upload label { position:relative; display:inline-flex; min-height:27px; align-items:center; padding:5px 8px; border:1px solid #635bff; border-radius:6px; background:#635bff; color:#fff; cursor:pointer; }
#userRequestsView .request-document-upload label[hidden] { display:none !important; }
#userRequestsView .request-document-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
#userRequestsView .request-document-file-name { min-width:0; max-width:150px; overflow:hidden; color:#3c4257; font-size:10px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
#userRequestsView .request-document-file-name[hidden] { display:none !important; }
#userRequestsView .request-document-upload small { min-width:0; color:#b42318; font-size:10px; }
#adminRequestDocumentField > small { color:#697386; font-size:11px; font-weight:500; }
#adminRequestDocumentField > input { width:100%; min-height:42px; padding:0 12px; border:1px solid #d8dee9; border-radius:8px; background:#fff; color:#0a2540; font:inherit; }
html[data-theme="dark"] :is(#adminRequests,#userRequestsView) .request-documents-cell > strong { color:#e7edf7; }
html[data-theme="dark"] :is(#adminRequests,#userRequestsView) .request-document-link { color:#a7a1ff; }
html[data-theme="dark"] :is(#adminRequests,#userRequestsView) :is(.request-document-pending,.request-document-sent) { color:#9daac0; }
html[data-theme="dark"] #userRequestsView .request-document-rejected { color:#fda29b; }
html[data-theme="dark"] #adminRequests .request-document-rejection-history { color:#fdb022; }
html[data-theme="dark"] #adminRequests .request-document-delete { color:#8fa0b7; }
html[data-theme="dark"] #adminRequests .request-document-delete:hover { border-color:#713a3a; background:#2b191d; color:#fda29b; }
html[data-theme="dark"] .request-document-rejection-button { border-color:#713a3a; background:#2b191d; color:#fda29b; }
html[data-theme="dark"] .request-document-rejection-button:hover { border-color:#a6504d; background:#3b2023; color:#fecaca; }
html[data-theme="dark"] #userRequestsView .request-document-upload label { border-color:#7c73ff; background:#7c73ff; color:#fff; }
html[data-theme="dark"] #userRequestsView .request-document-file-name { color:#dbe4f0; }
html[data-theme="dark"] #adminRequestDocumentField > input { border-color:#334155; background:#0d1727; color:#e8edf6; }

:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) { z-index:340; padding:20px; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-dialog { box-sizing:border-box; width:min(540px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); display:grid; grid-template-rows:auto minmax(0,1fr); gap:0; padding:0; overflow:hidden; border:1px solid #e6e8ee; border-radius:14px; background:#fff; color:#3c4257; box-shadow:0 28px 80px rgba(15,23,42,.22),0 8px 24px rgba(50,50,93,.12); }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-top { display:block; padding:18px 20px 16px; border-bottom:1px solid #e6e8ee; background:#fff; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-copy { display:grid; gap:4px; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-copy strong { color:#0a2540; font-size:18px; font-weight:700; line-height:1.25; letter-spacing:-.015em; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-copy p { margin:0; color:#697386; font-size:13px; font-weight:500; line-height:1.45; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .admin-request-modal-form { box-sizing:border-box; min-width:0; min-height:0; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:18px 20px 0; overflow:auto; background:#fff; }
#adminRequestRejectModal .admin-request-modal-form > input[type="hidden"] { display:none; }
#adminRequestRejectModal .admin-request-modal-form label { min-width:0; display:grid; gap:7px; margin:0; color:#697386; font-size:12px; font-weight:650; line-height:1.3; }
#adminRequestRejectModal textarea { box-sizing:border-box; width:100%; min-width:0; min-height:120px; margin:0; padding:11px 12px; border:1px solid #d8dee9; border-radius:8px; background:#fff; color:#0a2540; font:inherit; font-size:13px; font-weight:500; line-height:1.45; resize:vertical; box-shadow:0 1px 2px rgba(15,23,42,.04); }
#adminRequestRejectModal textarea::placeholder { color:#8792a2; opacity:1; }
#adminRequestRejectModal textarea:focus { outline:0; border-color:#635bff; box-shadow:0 0 0 3px rgba(99,91,255,.14); }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-modal-actions { box-sizing:border-box; width:calc(100% + 40px); min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:9px; margin:0 -20px; padding:14px 20px; border-top:1px solid #e6e8ee; background:#f6f9fc; }
#adminRequestRejectModal .trader-payment-modal-actions .muted { min-width:0; flex:1 1 auto; margin:0 auto 0 0; color:#b42318; font-size:12px; font-weight:600; line-height:1.35; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-modal-actions button { box-sizing:border-box; min-width:0; min-height:36px; margin:0; padding:8px 13px; border-radius:6px; font-size:13px; font-weight:650; line-height:1.2; white-space:nowrap; box-shadow:none; transform:none; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-cancel { border:1px solid #dfe3ea; background:#fff; color:#3c4257; }
:is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-cancel:hover { border-color:#c9d0db; background:#f6f8fa; color:#1f2937; box-shadow:none; transform:none; }
#adminRequestRejectModal .admin-request-reject-submit { border:1px solid #df1b12; background:#df1b12; color:#fff; }
#adminRequestRejectModal .admin-request-reject-submit:hover { border-color:#c9140c; background:#c9140c; color:#fff; box-shadow:none; transform:none; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-dialog,
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-top,
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .admin-request-modal-form { border-color:#263244; background:#101827; color:#e7edf7; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-copy strong { color:#f4f7fb; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-copy p { color:#9daac0; }
html[data-theme="dark"] #adminRequestRejectModal .admin-request-modal-form label { color:#9daac0; }
html[data-theme="dark"] #adminRequestRejectModal textarea { border-color:#334155; background:#0d1727; color:#e8edf6; box-shadow:none; }
html[data-theme="dark"] #adminRequestRejectModal textarea::placeholder { color:#738399; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-modal-actions { border-color:#263244; background:#0d1523; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-cancel { border-color:#334155; background:#182335; color:#d9e3ef; }
html[data-theme="dark"] :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-cancel:hover { border-color:#475569; background:#223047; color:#fff; }
@media(max-width:560px) {
  :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) { padding:12px; }
  :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .confirm-top { padding:16px; }
  :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .admin-request-modal-form { padding:16px 16px 0; }
  :is(#adminRequestRejectModal,#adminRequestTaskLinkModal) .trader-payment-modal-actions { width:calc(100% + 32px); margin:0 -16px; padding:12px 16px; flex-wrap:wrap; }
  #adminRequestRejectModal .trader-payment-modal-actions .muted { flex-basis:100%; }
}

#adminConfirmModal.open { z-index:370 !important; pointer-events:auto; }
.request-rejection-reason-modal { z-index:350; padding:20px; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
.request-rejection-reason-dialog { box-sizing:border-box; width:min(520px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:0; overflow:hidden; border:1px solid #e6e8ee; border-radius:14px; background:#fff; color:#3c4257; box-shadow:0 28px 80px rgba(15,23,42,.22),0 8px 24px rgba(50,50,93,.12); }
.request-rejection-reason-head { min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr) 32px; align-items:start; gap:12px; padding:18px 20px 16px; border-bottom:1px solid #e6e8ee; background:#fff; }
.request-rejection-reason-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid #f4b4ae; border-radius:9px; background:#fff5f3; color:#b42318; font-size:16px; font-weight:750; }
.request-rejection-reason-head > div { min-width:0; display:grid; gap:4px; }
.request-rejection-reason-head strong { color:#0a2540; font-size:18px; font-weight:700; line-height:1.25; letter-spacing:-.015em; }
.request-rejection-reason-head p { margin:0; overflow:hidden; color:#697386; font-size:12px; font-weight:500; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.request-rejection-reason-close-icon { width:32px; min-width:32px; height:32px; min-height:32px; display:grid; place-items:center; margin:0; padding:0; border:1px solid #dfe3ea; border-radius:7px; background:#fff; color:#697386; font-size:21px; font-weight:400; line-height:1; box-shadow:none; transform:none; }
.request-rejection-reason-close-icon:hover { border-color:#c9d0db; background:#f6f8fa; color:#3c4257; box-shadow:none; transform:none; }
.request-rejection-reason-body { min-width:0; padding:18px 20px 20px; overflow:auto; background:#fff; }
.request-rejection-reason-body > span { display:block; margin-bottom:7px; color:#697386; font-size:11px; font-weight:650; line-height:1.3; }
.request-rejection-reason-body > p { min-height:76px; margin:0; padding:12px 14px; border:1px solid #dfe3ea; border-radius:8px; background:#f6f9fc; color:#3c4257; font-size:13px; font-weight:500; line-height:1.55; overflow-wrap:anywhere; white-space:pre-wrap; }
.request-rejection-reason-actions { display:flex; justify-content:flex-end; padding:13px 20px; border-top:1px solid #e6e8ee; background:#f6f9fc; }
.request-rejection-reason-actions button { min-height:36px; margin:0; padding:8px 14px; border:1px solid #635bff; border-radius:6px; background:#635bff; color:#fff; font:inherit; font-size:13px; font-weight:650; line-height:1.2; box-shadow:none; transform:none; }
.request-rejection-reason-actions button:hover { border-color:#574cff; background:#574cff; color:#fff; box-shadow:none; transform:none; }
html[data-theme="dark"] .request-rejection-reason-dialog,
html[data-theme="dark"] .request-rejection-reason-head,
html[data-theme="dark"] .request-rejection-reason-body { border-color:#263244; background:#101827; color:#e7edf7; }
html[data-theme="dark"] .request-rejection-reason-head strong { color:#f4f7fb; }
html[data-theme="dark"] .request-rejection-reason-head p,
html[data-theme="dark"] .request-rejection-reason-body > span { color:#9daac0; }
html[data-theme="dark"] .request-rejection-reason-icon { border-color:#713a3a; background:#2b191d; color:#fda29b; }
html[data-theme="dark"] .request-rejection-reason-close-icon { border-color:#334155; background:#182335; color:#9daac0; }
html[data-theme="dark"] .request-rejection-reason-close-icon:hover { border-color:#475569; background:#223047; color:#fff; }
html[data-theme="dark"] .request-rejection-reason-body > p { border-color:#334155; background:#0d1727; color:#e8edf6; }
html[data-theme="dark"] .request-rejection-reason-actions { border-color:#263244; background:#0d1523; }
@media(max-width:560px) {
  .request-rejection-reason-modal { padding:12px; }
  .request-rejection-reason-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .request-rejection-reason-head { grid-template-columns:32px minmax(0,1fr) 32px; gap:10px; padding:16px; }
  .request-rejection-reason-icon { width:32px; height:32px; }
  .request-rejection-reason-body { padding:16px; }
  .request-rejection-reason-actions { padding:12px 16px; }
}

#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable tbody tr { height:34px; min-height:34px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable tbody td { height:34px; min-height:34px; padding-top:2px; padding-bottom:2px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable td.request-documentation-cell { padding-right:12px; padding-left:10px; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable td.request-notes-cell { padding-right:14px; padding-left:8px; text-align:center; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable td.request-state-cell { padding-right:8px; padding-left:12px; }
#userRequestsView .request-notes-cell-inner { display:flex; align-items:center; justify-content:center; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-notes-button { min-width:48px; min-height:26px; margin:0; padding:4px 7px; border-radius:6px; line-height:1; }
#userRequestsView .request-documents-cell { min-height:28px; gap:7px; }
#userRequestsView .request-document-upload { height:28px; flex:0 0 auto; align-items:center; justify-content:flex-start; margin:0; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-preview.request-message-open { width:100%; max-width:none; min-height:28px; display:grid; grid-template-columns:minmax(0,1fr) 22px; align-items:center; gap:4px; margin:0; padding:0; overflow:hidden; border:0; background:transparent; color:inherit; font:inherit; font-size:11px; line-height:1.25; text-align:left; box-shadow:none; transform:none; cursor:pointer; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open > svg { width:15px; height:15px; fill:none; stroke:#635bff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open:hover > span { color:#4f46e5; }
#userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open:focus-visible { outline:0; border-radius:5px; box-shadow:0 0 0 3px rgba(99,91,255,.16); }
#userRequestsView .request-document-upload label { box-sizing:border-box; min-width:62px; max-width:130px; height:26px; min-height:26px; justify-content:center; margin:0; padding:4px 9px; line-height:1; }
#userRequestsView .request-document-upload label > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#userRequestsView .request-document-upload small:empty { display:none; }
#userRequestsView .request-document-upload small:not(:empty) { max-width:150px; flex:0 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html[data-theme="dark"] #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open > svg { stroke:#9b94ff; }
html[data-theme="dark"] #userRequestsView .data-card:not(.trader-requests-card) #userRequestsTable .request-message-open:hover > span { color:#b7b3ff; }

.user-request-message-modal { z-index:345; padding:20px; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
.user-request-message-dialog { box-sizing:border-box; width:min(620px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; border:1px solid #e6e8ee; border-radius:14px; background:#fff; color:#3c4257; box-shadow:0 28px 80px rgba(15,23,42,.22),0 8px 24px rgba(50,50,93,.12); }
.user-request-message-head { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 32px; align-items:start; gap:12px; padding:18px 20px 16px; border-bottom:1px solid #e6e8ee; }
.user-request-message-head > div { min-width:0; display:grid; gap:4px; }
.user-request-message-head strong { color:#0a2540; font-size:18px; font-weight:700; line-height:1.25; }
.user-request-message-head p { margin:0; overflow:hidden; color:#697386; font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.user-request-message-close { width:32px; min-width:32px; height:32px; min-height:32px; display:grid; place-items:center; margin:0; padding:0; border:1px solid #dfe3ea; border-radius:7px; background:#fff; color:#697386; font-size:21px; font-weight:400; line-height:1; box-shadow:none; transform:none; }
.user-request-message-close:hover { border-color:#c9d0db; background:#f6f8fa; color:#3c4257; box-shadow:none; transform:none; }
.user-request-message-body { min-width:0; padding:18px 20px 20px; overflow:auto; }
.user-request-message-body > span { display:block; margin-bottom:7px; color:#697386; font-size:11px; font-weight:650; }
.user-request-message-body > p { margin:0; padding:13px 14px; border:1px solid #dfe3ea; border-radius:8px; background:#f6f9fc; color:#3c4257; font-size:13px; font-weight:500; line-height:1.55; overflow-wrap:anywhere; white-space:pre-wrap; }
.user-request-message-actions { display:flex; justify-content:flex-end; padding:13px 20px; border-top:1px solid #e6e8ee; background:#f6f9fc; }
.user-request-message-actions button { min-height:36px; margin:0; padding:8px 14px; border:1px solid #635bff; border-radius:6px; background:#635bff; color:#fff; font:inherit; font-size:13px; font-weight:650; box-shadow:none; transform:none; }
html[data-theme="dark"] .user-request-message-dialog { border-color:#263244; background:#101827; color:#e7edf7; }
html[data-theme="dark"] .user-request-message-head { border-color:#263244; }
html[data-theme="dark"] .user-request-message-head strong { color:#f4f7fb; }
html[data-theme="dark"] .user-request-message-head p,
html[data-theme="dark"] .user-request-message-body > span { color:#9daac0; }
html[data-theme="dark"] .user-request-message-close { border-color:#334155; background:#182335; color:#9daac0; }
html[data-theme="dark"] .user-request-message-body > p { border-color:#334155; background:#0d1727; color:#e8edf6; }
html[data-theme="dark"] .user-request-message-actions { border-color:#263244; background:#0d1523; }
@media(max-width:560px) {
  .user-request-message-modal { padding:12px; }
  .user-request-message-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .user-request-message-head,
  .user-request-message-body { padding:16px; }
  .user-request-message-actions { padding:12px 16px; }
}

#adminRequests.panel .admin-request-filters,
#userRequestsView .user-request-filterbar { display:flex; flex-flow:row nowrap; align-items:center; gap:7px; padding:10px 12px; overflow-x:auto; scrollbar-width:thin; white-space:nowrap; }
#adminRequests.panel .admin-request-filters > input[type="search"],
#userRequestsView .user-request-filterbar > input[type="search"] { width:auto; min-width:190px; height:32px; min-height:32px; flex:1.35 1 220px; margin:0; padding:6px 9px; border-radius:6px; font-size:11px; line-height:1.2; }
:is(#adminRequests.panel .admin-request-filters, #userRequestsView .user-request-filterbar) > .wuim-searchable-select { width:auto; min-width:132px; flex:1 1 150px; margin:0; }
:is(#adminRequests.panel .admin-request-filters, #userRequestsView .user-request-filterbar) > .wuim-searchable-select > .wss-trigger { width:100%; min-width:0; height:32px; min-height:32px; padding:6px 9px; border-radius:6px; font-size:11px; line-height:1.2; }
:is(#adminRequests.panel .admin-request-filters, #userRequestsView .user-request-filterbar) > select { width:145px; min-width:132px; height:32px; min-height:32px; flex:1 1 150px; margin:0; padding:5px 8px; border-radius:6px; font-size:11px; }
.request-filter-date-range { min-width:270px; display:grid; flex:1.3 0 270px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
:is(#adminRequests, #userRequestsView) .request-filter-date-range > label { position:relative; display:block; min-width:0; margin:0; color:inherit; font-size:0; line-height:0; }
:is(#adminRequests, #userRequestsView) .request-filter-date-range > label > span { position:absolute; z-index:1; top:50%; left:9px; color:var(--sbt-muted,#697386); font-size:9px; font-weight:700; line-height:1; transform:translateY(-50%); pointer-events:none; }
:is(#adminRequests, #userRequestsView) .request-filter-date-range input,
#adminRequests.panel .admin-request-filters .request-filter-date-range input { width:100%; min-width:0; height:32px; min-height:32px; margin:0; padding:6px 7px 6px 43px; border:1px solid #dfe3ea !important; border-radius:6px; background:#fff !important; font-size:10px; line-height:1.2; box-shadow:none !important; }
html[data-theme="dark"] :is(#adminRequests, #userRequestsView) .request-filter-date-range > label > span { color:#9daac0; }
html[data-theme="dark"] :is(#adminRequests, #userRequestsView) .request-filter-date-range input,
html[data-theme="dark"] #adminRequests.panel .admin-request-filters .request-filter-date-range input { border-color:#2b394e !important; background:#0d1727 !important; color:#e8edf6; color-scheme:dark; }
#adminRequests.panel .admin-request-filter-meta,
#userRequestsView .user-request-filter-meta { min-width:max-content; display:flex; flex:0 0 auto; grid-column:auto; align-items:center; justify-content:flex-end; gap:7px; font-size:11px; }
#adminRequests.panel .admin-request-filter-meta .filter-result { margin-left:0; }
.request-filter-error { color:#dc2626; font-size:10px; line-height:1.2; white-space:nowrap; }
#adminRequests.panel .admin-request-filters > .admin-tasks-clear,
#adminRequests.panel .admin-request-filters .filter-result,
#userRequestsView .user-request-filterbar > .chip-button,
#userRequestsView .user-request-filterbar .filter-result { width:auto; min-width:0; height:32px; min-height:32px; flex:0 0 auto; align-self:center; margin:0; padding:6px 9px; border-radius:6px; font-size:12px; line-height:1.2; white-space:nowrap; }
:is(#adminRequests.panel .admin-request-filters, #userRequestsView .user-request-filterbar)::-webkit-scrollbar { height:7px; }
:is(#adminRequests.panel .admin-request-filters, #userRequestsView .user-request-filterbar)::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(100,116,139,.38); }

#adminRequests #adminRequestsTable td.admin-request-action-cell { width:72px; min-width:72px; text-align:center; }
#userRequestsView #userRequestsTable td.user-request-action-cell { width:52px; min-width:52px; text-align:center; }
:is(#adminRequests .admin-request-action-proxies, #userRequestsView .user-request-action-proxies) { display:none !important; }
:is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle) { display:inline-grid; width:30px; min-width:30px; height:30px; min-height:30px; place-items:center; margin:0; padding:0; border:1px solid #d8e2eb; border-radius:8px; background:#fff; color:#64748b; box-shadow:none; transform:none; }
:is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle):hover,
:is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle)[aria-expanded="true"] { border-color:#9b95ff; background:#f4f3ff; color:#635bff; box-shadow:none; transform:none; }
:is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle):focus-visible { outline:0; border-color:#635bff; box-shadow:0 0 0 3px rgba(99,91,255,.16); }
:is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle) svg { width:17px; height:17px; fill:currentColor; }
:is(#adminRequestRowMenu, #userRequestRowMenu) { position:fixed; z-index:331; display:grid; width:224px; padding:6px; border:1px solid #e3e7ee; border-radius:10px; background:#fff; box-shadow:0 16px 36px rgba(50,50,93,.16),0 4px 10px rgba(0,0,0,.07); }
:is(#adminRequestRowMenu, #userRequestRowMenu)[hidden] { display:none !important; }
:is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"] { display:grid; width:100%; min-height:40px; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:10px; padding:8px 10px; border:0; border-radius:7px; background:transparent; color:#263247; font-size:12px; font-weight:650; text-align:left; box-shadow:none; transform:none; }
:is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"]:hover,
:is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"]:focus-visible { outline:0; background:#f6f9fc; box-shadow:none; transform:none; }
:is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"]:disabled { opacity:.5; cursor:not-allowed; }
:is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"] svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.request-row-menu-separator { height:1px; margin:5px 8px; padding:0; border:0; background:#e6e8ee; }
#adminRequestRowMenu .request-row-delete-action { color:#d92d20; }
html[data-theme="dark"] :is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle) { border-color:#2f3b4a; background:#182335; color:#9aa8ba; }
html[data-theme="dark"] :is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle):hover,
html[data-theme="dark"] :is(#adminRequests .admin-request-menu-toggle, #userRequestsView .user-request-row-menu-toggle)[aria-expanded="true"] { border-color:#8179ff; background:#292653; color:#b7b3ff; }
html[data-theme="dark"] :is(#adminRequestRowMenu, #userRequestRowMenu) { border-color:#30415b; background:#182335; box-shadow:0 14px 32px rgba(0,0,0,.35); }
html[data-theme="dark"] :is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"] { color:#d9e3ef; }
html[data-theme="dark"] :is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"]:hover,
html[data-theme="dark"] :is(#adminRequestRowMenu, #userRequestRowMenu) [role="menuitem"]:focus-visible { background:#223047; }
html[data-theme="dark"] #adminRequestRowMenu .request-row-delete-action { color:#ff8585; }
html[data-theme="dark"] .request-row-menu-separator { background:#34465f; }

:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more) { position:sticky; left:50%; display:block; min-height:30px; margin:8px 0; padding:6px 10px; border:1px solid #e2e6ed; border-radius:7px; background:#fff; color:#51596b; font:inherit; font-size:11px; font-weight:700; line-height:1.2; box-shadow:none; transform:translateX(-50%); }
:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more):hover { border-color:#cfd5de; background:#f6f8fa; color:#3c4257; box-shadow:none; transform:translateX(-50%); }
:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more):focus-visible { outline:0; border-color:#635bff; box-shadow:0 0 0 3px rgba(99,91,255,.16); }
:is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more)[hidden] { display:none; }
html[data-theme="dark"] :is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more) { border-color:#2b394e; background:#142032; color:#d9e3ef; }
html[data-theme="dark"] :is(#adminRequests #adminRequestsTableWrap, #userRequestsView #userRequestsTableWrap) > :is(.admin-progressive-load-more, .session-progressive-load-more):hover { border-color:#3a4a62; background:#18263a; color:#fff; }
/* Trader uses the same single-row filters as Admin; keep the card intrinsic. */
body.workspace-trader #userRequestsView:not(.uhm-mobile){align-content:start;align-items:start}
body.workspace-trader #userRequestsView:not(.uhm-mobile) .trader-requests-card{align-self:start;height:auto;min-height:0}
body.workspace-trader #userRequestsView:not(.uhm-mobile) .data-card-head{gap:16px;flex-wrap:wrap}
body.workspace-trader #userRequestsView:not(.uhm-mobile) .topbar-meta{display:flex;flex-wrap:wrap;gap:8px}
body.workspace-trader #userRequestsView:not(.uhm-mobile) #userRequestsTableWrap{max-height:65vh}

/* Admin > Solicitudes: link a request to a task. Reuses the reject-modal shell (shared rules above);
   only the search, task list and primary button are specific. Every button sets its own :hover so the
   global admin gradient never applies. */
#adminRequestTaskLinkModal { z-index:340; padding:20px; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); }
#adminRequestTaskLinkModal .trader-payment-dialog { width:min(560px,calc(100vw - 40px)); }
#adminRequestTaskLinkModal .admin-request-modal-form { gap:12px; }
#adminRequestTaskLinkModal .admin-request-task-link-search { box-sizing:border-box; width:100%; min-height:38px; margin:0; padding:9px 12px; border:1px solid #d8dee9; border-radius:8px; background:#fff; color:#0a2540; font-family:inherit; font-size:13px; font-weight:500; line-height:1.4; box-shadow:none; }
#adminRequestTaskLinkModal .admin-request-task-link-search::placeholder { color:#8792a2; opacity:1; }
#adminRequestTaskLinkModal .admin-request-task-link-search:focus { outline:0; border-color:#635bff; }
#adminRequestTaskLinkModal .admin-request-task-link-list { display:grid; align-content:start; gap:8px; min-height:120px; max-height:min(320px,45dvh); overflow:auto; }
#adminRequestTaskLinkModal .admin-request-task-link-option { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin:0; padding:10px 12px; border:1px solid #e6e8ee; border-radius:8px; background:#fff; color:#3c4257; font-family:inherit; font-size:13px; font-weight:400; line-height:1.35; cursor:pointer; }
#adminRequestTaskLinkModal .admin-request-task-link-option:hover { border-color:#c9d0db; background:#f6f8fa; }
#adminRequestTaskLinkModal .admin-request-task-link-option.is-selected { border-color:#635bff; background:#f7f6ff; }
#adminRequestTaskLinkModal .admin-request-task-link-option input { width:16px !important; height:16px !important; min-height:0; margin:0; accent-color:#635bff; }
#adminRequestTaskLinkModal .admin-request-task-link-option span { display:grid; gap:2px; min-width:0; }
#adminRequestTaskLinkModal .admin-request-task-link-option strong { overflow:hidden; color:#0a2540; font-size:13px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
#adminRequestTaskLinkModal .admin-request-task-link-option small { overflow:hidden; color:#697386; font-size:12px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
#adminRequestTaskLinkModal .admin-request-task-link-option em { color:#5749c6; font-size:12px; font-style:normal; font-weight:600; white-space:nowrap; }
#adminRequestTaskLinkModal .admin-request-task-link-empty { margin:0; padding:24px 12px; color:#697386; font-size:13px; font-weight:400; line-height:1.5; text-align:center; }
#adminRequestTaskLinkModal .admin-request-task-link-status { flex:1 1 auto; min-width:0; margin:0 auto 0 0; color:#697386; font-size:12px; font-weight:500; line-height:1.35; }
#adminRequestTaskLinkModal .admin-request-task-link-status.is-error { color:#b42318; font-weight:600; }
#adminRequestTaskLinkModal .admin-request-task-link-submit { border:1px solid #635bff; background:#635bff; color:#fff; }
#adminRequestTaskLinkModal .admin-request-task-link-submit:hover:not(:disabled) { border-color:#574cff; background:#574cff; color:#fff; box-shadow:none; transform:none; }
#adminRequestTaskLinkModal .admin-request-task-link-submit:disabled { border-color:#635bff; background:#635bff; color:#fff; opacity:.5; cursor:not-allowed; box-shadow:none; transform:none; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-search { border-color:#334155; background:#0d1727; color:#e8edf6; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-search::placeholder { color:#738399; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-option { border-color:#263244; background:#0d1727; color:#d9e3ef; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-option:hover { border-color:#334155; background:#182335; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-option.is-selected { border-color:#7566ff; background:#171a33; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-option strong { color:#f4f7fb; }
html[data-theme="dark"] #adminRequestTaskLinkModal :is(.admin-request-task-link-option small,.admin-request-task-link-empty,.admin-request-task-link-status) { color:#9daac0; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-option em { color:#c6beff; }
html[data-theme="dark"] #adminRequestTaskLinkModal .admin-request-task-link-status.is-error { color:#fda29b; }
@media(max-width:560px) { #adminRequestTaskLinkModal { padding:12px; } #adminRequestTaskLinkModal .trader-payment-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); } }

.request-wallet-cell { overflow:hidden; text-overflow:ellipsis; }
