/* OMS redesign r8 — shared user management (oms-rd-users.js).
   One look for customer People, factory People & logins, and Settings → Team.
   Prefix .rdum-. Tables are the existing ones (same ids) marked .rdum-tbl. */

/* ── the list ─────────────────────────────────────────────────────────── */
.rd table.rdum-tbl{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:auto}
.rd table.rdum-tbl thead th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--sunk);white-space:nowrap}
.rd table.rdum-tbl tbody td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;background:var(--surface)}
.rd table.rdum-tbl tbody tr:last-child td{border-bottom:0}
.rd table.rdum-tbl tr.rdum-row{cursor:pointer;transition:background .12s}
.rd table.rdum-tbl tr.rdum-row:hover td{background:#F7F8FD}
.rd table.rdum-tbl tr.rdum-row.is-off .rdum-pw{opacity:.55}
.rd table.rdum-tbl th.rdum-th-act,.rd table.rdum-tbl td.rdum-act{width:52px;text-align:right;padding-right:12px}
.rd table.rdum-tbl td.rdum-person{width:40%;min-width:240px}
.rd table.rdum-tbl td.rdum-extra{white-space:normal}

.rd .rdum-pw{display:flex;align-items:center;gap:12px;min-width:0}
.rd .rdum-pt{min-width:0}
.rd .rdum-nm{font-weight:750;color:var(--ink);font-size:13.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.rd .rdum-em{color:var(--muted);font-size:12.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.rd .rdum-you{display:inline-flex;align-items:center;height:18px;padding:0 6px;margin-left:4px;border-radius:5px;background:var(--sunk);border:1px solid var(--line);font-size:10.5px;font-weight:700;color:var(--muted);vertical-align:1px}
.rd .rdum-sub{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.3}

.rdum-av{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;flex:none;color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em;font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif}
.rdum-av.lg{width:46px;height:46px;font-size:15px}
.rdum-av.plus{background:var(--accent-soft,#ECEEFD);color:var(--accent,#3D4EE8);font-size:22px;font-weight:600}

/* role pill + status pill */
.rd .rdum-pill,.rd .rdum-stp{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:700;white-space:nowrap;background:var(--sunk);color:var(--ink-2);border:1px solid var(--line);line-height:1}
.rd .rdum-pill.acc{background:var(--accent-soft);border-color:transparent;color:#2A37B8}
.rd .rdum-pill.own{background:#202944;border-color:transparent;color:#fff}
.rd .rdum-pill.mute{color:var(--muted)}
.rd .rdum-stp{border-color:transparent}
.rd .rdum-stp::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.rd .rdum-stp.ok{background:var(--ok-soft);color:var(--ok)}
.rd .rdum-stp.inv{background:var(--accent-soft);color:#2A37B8}
.rd .rdum-stp.warn{background:var(--warn-soft);color:var(--warn)}
.rd .rdum-stp.off{background:#EEF0F5;color:var(--muted)}
.rd .rdum-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.rd .rdum-flag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:700;background:var(--sunk);border:1px solid var(--line);color:var(--ink-2)}
.rd .rdum-flag.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.rd .rdum-chips{display:flex;gap:6px;flex-wrap:wrap}
.rd .rdum-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--sunk);border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.rd .rdum-chip.acc{background:var(--accent-soft);border-color:transparent;color:#2A37B8}
.rd .rdum-none{color:var(--muted);font-size:12.5px}

.rd .rdum-kebab{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-2);display:inline-grid;place-items:center;cursor:pointer;padding:0}
.rd .rdum-kebab svg{width:18px;height:18px}
.rd .rdum-kebab:hover,.rd .rdum-kebab.on{background:var(--sunk);border-color:var(--line)}
.rd .rdum-kebab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

.rd .rdum-emptyrow td{padding:0 !important;background:var(--surface)}
.rd .rdum-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 16px;color:var(--muted);text-align:center}
.rd .rdum-empty b{color:var(--ink-2);font-size:13.5px}
.rd .rdum-empty-ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.rd .rdum-empty-ic svg{width:22px;height:22px}

/* The old inline add rows: the drawer is the add form now. Hidden, not removed —
   their inputs keep their ids (pendingCustomerUser / closeCustomerModal read them).
   !important only to beat the inline display renderCustomerUsers/renderFactoryUsers set. */
#customer-tab-users .cws-adduser,#factory-tab-users .cws-adduser{display:none !important}
#settings-team #set-sec-addadmin{display:none}
#settings-team .card.set-flush{overflow:visible !important}
#page-settings #admin-users-table.rdum-tbl td{white-space:nowrap}
#page-settings #admin-users-table.rdum-tbl td:nth-child(2){min-width:0}

/* ── row menu ─────────────────────────────────────────────────────────── */
.rdum-menu{position:fixed;z-index:9500;min-width:220px;max-width:280px;background:#fff;border:1px solid var(--line,#E4E7EF);border-radius:12px;box-shadow:0 14px 34px rgba(20,24,60,.16),0 2px 6px rgba(20,24,60,.08);padding:6px;display:flex;flex-direction:column;font-family:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif}
.rdum-menu .rdum-mi{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;font-weight:650;color:var(--ink,#1F2340);cursor:pointer}
.rdum-menu .rdum-mi small{font-size:11.5px;font-weight:500;color:var(--muted,#62678A)}
.rdum-menu .rdum-mi:hover,.rdum-menu .rdum-mi:focus-visible{background:var(--sunk,#F7F8FB);outline:0}
.rdum-menu .rdum-mi.bad{color:var(--bad,#C0283A)}
.rdum-menu .rdum-mi.bad:hover{background:var(--bad-soft,#FDE7EA)}
.rdum-menu .rdum-mi[disabled]{color:var(--muted,#62678A);cursor:default;background:transparent}
.rdum-menu .rdum-mdiv{height:1px;background:var(--line,#E4E7EF);margin:5px 4px}

/* ── drawer ───────────────────────────────────────────────────────────── */
.rdum-ov{position:fixed;inset:0;z-index:9400;background:rgba(20,24,60,0);transition:background .18s;display:flex;justify-content:flex-end}
.rdum-ov.in{background:rgba(20,24,60,.32)}
.rdum-dr{width:min(560px,100vw);height:var(--rd-vh,100vh);max-height:100%;background:var(--bg,#F3F4F8);display:flex;flex-direction:column;box-shadow:-18px 0 40px rgba(20,24,60,.18);transform:translateX(24px);opacity:0;transition:transform .18s ease,opacity .18s ease}
.rdum-ov.in .rdum-dr{transform:none;opacity:1}
.rdum-dh{display:flex;align-items:center;gap:14px;padding:20px 22px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#E4E7EF);flex:none}
.rdum-dht{min-width:0;flex:1}
.rdum-kick{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rdum-dh h3{margin:2px 0 0;font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rdum-dh p{margin:4px 0 0;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rdum-x{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-2);cursor:pointer;flex:none;padding:0}
.rdum-x svg{width:16px;height:16px}
.rdum-x:hover{background:var(--sunk)}
.rdum-db{flex:1;overflow:auto;padding:18px 22px 24px;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain}
.rdum-df{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;background:var(--surface);border-top:1px solid var(--line);flex:none}
.rdum-dmsg{margin-right:auto;font-size:12.5px;color:var(--muted);font-weight:600}
.rdum-dmsg.bad{color:var(--bad)}

.rdum-sec{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.rdum-sec header h4{margin:0;font-size:14px;font-weight:800;color:var(--ink)}
.rdum-sec header p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.rdum-mute{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}

.rdum-fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rdum-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.rdum-f>span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.rdum-f>small{font-size:11.5px;color:var(--muted)}
.rd .rdum-in{height:38px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);padding:0 12px;font:inherit;font-size:13.5px;color:var(--ink);width:100%;min-width:0;box-shadow:none;outline:0;transition:border-color .12s,box-shadow .12s}
.rd .rdum-in:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,78,232,.14)}
.rd .rdum-in[readonly]{background:var(--sunk);color:var(--ink-2);border-color:var(--line);cursor:default}
.rd .rdum-in[readonly]:focus{box-shadow:none;border-color:var(--line)}

/* themed toggle row: label left, switch right */
.rdum-tog{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;position:relative;transition:border-color .12s,background .12s}
.rdum-tog:hover{border-color:var(--line-2)}
.rdum-tog-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.rdum-tog-t b{font-size:13px;font-weight:700;color:var(--ink)}
.rdum-tog-t small{font-size:11.5px;color:var(--muted);line-height:1.35}
.rd .rdum-tog input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.rdum-tog i{position:relative;flex:none;width:36px;height:21px;border-radius:999px;background:#CDD1DE;transition:background .15s}
.rdum-tog i::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(20,24,60,.25);transition:left .15s}
.rdum-tog input:checked+i{background:var(--accent)}
.rdum-tog input:checked+i::after{left:18px}
.rdum-tog input:focus-visible+i{box-shadow:0 0 0 3px rgba(61,78,232,.25)}
.rdum-tog:has(input:checked){border-color:#C9CFFA;background:#FAFBFF}
.rdum-tog.dis{cursor:default}
.rdum-tog.dis i{opacity:.55}

/* Access */
.rdum-full .rdum-tog{border:1.5px solid #202944;background:#F4F5FC;padding:12px 14px}
.rdum-full .rdum-tog-t b{font-size:13.5px}
.rdum-owner{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:10px;background:#202944;color:#fff}
.rdum-owner b{font-size:13.5px}
.rdum-owner span{font-size:12.5px;color:#CBD1DE;line-height:1.45}
.rdum-groups{display:flex;flex-direction:column;gap:14px;padding-top:2px}
.rdum-grp{display:flex;flex-direction:column;gap:8px}
.rdum-gh{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.rdum-lnk{border:0;background:transparent;color:var(--accent);font:inherit;font-size:11.5px;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer;padding:2px 4px;border-radius:5px}
.rdum-lnk:hover{background:var(--accent-soft)}
.rdum-gb{display:grid;grid-template-columns:1fr;gap:6px}
.rdum-gb.cols,.rdum-groups .rdum-gb{grid-template-columns:1fr 1fr}

@media (max-width:900px){
  .rd table.rdum-tbl td.rdum-person{min-width:200px}
  .rdum-dr{width:100vw}
  .rdum-dh{padding:16px}
  .rdum-db{padding:14px 14px 20px}
  .rdum-df{padding:12px 14px}
}
@media (max-width:600px){
  .rdum-fr,.rdum-gb.cols,.rdum-groups .rdum-gb{grid-template-columns:1fr}
}

/* Sub groups in the customer drawer (some companies have hundreds) */
.rdum-sgbar{display:flex;align-items:center;gap:10px}
.rdum-sgbar .rdum-in{flex:1}
.rdum-sgbar .rdum-mute{white-space:nowrap}
.rdum-sglist{max-height:min(420px,calc(var(--rd-vh,100vh) - 360px));overflow:auto;align-content:start;padding:2px}

/* Phone: Person · Status · menu. The role pill moves under the email; sub groups
   live in the drawer. */
.rd .rdum-mrole{display:none;margin-top:6px}
@media (max-width:600px){
  .rd table.rdum-tbl th:is(:nth-child(2)),
  .rd table.rdum-cust th:nth-child(3),
  .rd table.rdum-tbl td.rdum-role,.rd table.rdum-tbl td.rdum-extra{display:none}
  .rd .rdum-mrole{display:block}
  .rd table.rdum-tbl td.rdum-person{min-width:0;width:auto;white-space:normal}
  .rd table.rdum-tbl tbody td,.rd table.rdum-tbl thead th{padding-left:12px;padding-right:8px}
  .rd .rdum-em{max-width:150px}
  .rd .rdum-av{width:30px;height:30px;font-size:11px}
}
@media (max-width:600px){
  .rd table.rdum-tbl td.rdum-st{white-space:normal;min-width:96px}
  .rd table.rdum-tbl th.rdum-th-act,.rd table.rdum-tbl td.rdum-act{width:40px;padding-left:0;padding-right:6px}
  .rd .rdum-em{max-width:128px}
}
