/* RBS R28 / Punishment Center. Scope limited to banlist, mutlist and their modals.
 * Existing sources of truth, payments, server filters, and Bootstrap remain intact. */

body.rbs-modern.rbs-breach .rbs28-punishment-page,
body.rbs-modern.rbs-breach .rbs28-sidebar { min-width:0; }
body.rbs-modern.rbs-breach .rbs28-center {
  overflow:hidden;border:1px solid rgba(0,218,161,.35);border-radius:18px;
  background:linear-gradient(155deg,rgba(2,27,27,.98),rgba(2,17,25,.985));
  box-shadow:0 18px 42px rgba(0,0,0,.26);
}
body.rbs-modern.rbs-breach .rbs28-heading {min-height:104px!important;}
body.rbs-modern.rbs-breach .rbs28-version {
  margin-left:auto;flex:0 0 auto;align-self:center;z-index:1;
  color:#a5f7d5;font-weight:750;font-size:11px;letter-spacing:.10em;
  border:1px solid rgba(45,213,153,.34);border-radius:999px;
  background:rgba(0,45,37,.52);padding:8px 11px;
}
body.rbs-modern.rbs-breach .rbs28-tabs {
  display:flex;gap:7px;align-items:center;padding:14px 24px 4px;flex-wrap:wrap;
}
body.rbs-modern.rbs-breach .rbs28-tabs > a {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;gap:7px;padding:8px 14px;border:1px solid rgba(29,178,145,.25);
  color:#b4d7d0;border-radius:10px;background:rgba(6,35,39,.72);
  text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;
}
body.rbs-modern.rbs-breach .rbs28-tabs > a.is-active,
body.rbs-modern.rbs-breach .rbs28-tabs > a[aria-current="page"] {
  color:#ecfff7;border-color:#05d89f;background:rgba(0,101,77,.44);
  box-shadow:inset 0 -2px 0 #28edb0;
}
body.rbs-modern.rbs-breach .rbs28-tabs > a:hover {color:#fff;border-color:#2df3bc;}
body.rbs-modern.rbs-breach .rbs28-tabs > a:focus-visible {outline:2px solid #afffe0;outline-offset:2px;}
body.rbs-modern.rbs-breach .rbs28-metrics {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  padding:18px 24px 17px;
}
body.rbs-modern.rbs-breach .rbs28-metric {
  display:flex;flex-direction:column;gap:4px;min-width:0;
  border:1px solid rgba(37,159,132,.25);background:linear-gradient(125deg,#072b27,#0a2429);
  border-radius:12px;padding:12px 14px;
}
body.rbs-modern.rbs-breach .rbs28-metric > span {
  color:#a6c8c0;font-size:12px;font-weight:600;
}
body.rbs-modern.rbs-breach .rbs28-metric > strong {
  font-size:23px;line-height:1.12;color:#f0fff8;font-weight:820;font-variant-numeric:tabular-nums;
}
body.rbs-modern.rbs-breach .rbs28-metric:nth-child(2) > strong {color:#79eac1;}
body.rbs-modern.rbs-breach .rbs28-controls {padding:0 24px;min-width:0;}
body.rbs-modern.rbs-breach .rbs28-controls .rbs28-search {
  margin:0 0 12px!important;width:100%;max-width:100%;min-width:0;
  border-color:rgba(39,225,165,.42);border-radius:12px;background:#031e20;
}
body.rbs-modern.rbs-breach .rbs28-controls .rbs28-search > input.form-control {
  height:auto;min-height:50px!important;border:0!important;padding:12px 16px 12px 47px;
  background:transparent!important;color:#e9fff6;font-size:14px;
}
body.rbs-modern.rbs-breach .rbs28-controls .rbs28-search > i.fa-search {
  top:50%!important;left:17px!important;transform:translateY(-50%);
  color:transparent;cursor:pointer;font-size:0!important;width:18px;height:18px;
  background:#63e4cb;
  mask:url('../img/rbs-icons-r14/search.svg') center/contain no-repeat;
  -webkit-mask:url('../img/rbs-icons-r14/search.svg') center/contain no-repeat;
}
body.rbs-modern.rbs-breach .rbs28-controls .rbs28-search > i.fa-search::before {content:none!important;}
body.rbs-modern.rbs-breach .rbs28-filters {display:flex;flex-wrap:wrap;gap:10px;}
body.rbs-modern.rbs-breach .rbs28-select {display:block;margin:0;min-width:165px;flex:1 1 165px;}
body.rbs-modern.rbs-breach .rbs28-select select.form-control {
  width:100%;height:43px;min-height:43px;padding:8px 30px 8px 12px;
  background:#0b302b;color:#e5fff3;border:1px solid rgba(22,206,148,.35);
  border-radius:10px;font-weight:600;font-size:13px;
}
body.rbs-modern.rbs-breach .rbs28-select select option {background:#08241f;color:#f3fff8;}
body.rbs-modern.rbs-breach .rbs28-filter-hint {
  margin:9px 0 0!important;font-size:11px;color:#8fb3ad;line-height:1.5;
}
body.rbs-modern.rbs-breach .rbs28-table-wrap {
  margin:16px 24px 0!important;width:calc(100% - 48px);max-width:calc(100% - 48px)!important;
  border:1px solid rgba(17,174,136,.30)!important;border-radius:12px;
  overflow-x:auto!important;overflow-y:visible;
}
body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table {
  margin:0!important;width:100%!important;table-layout:fixed;min-width:850px!important;
  border-collapse:separate;border-spacing:0;
}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table.rbs28-table {min-width:1000px!important;}
body.rbs-modern.rbs-breach .rbs28-table > thead th {
  padding:13px 12px!important;text-transform:none!important;letter-spacing:.01em;
  background:#063d32!important;color:#f0fff9!important;
  border:0!important;border-right:1px solid rgba(36,162,133,.20)!important;
  font-size:12px;font-weight:780;vertical-align:middle;
}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(1) {width:18%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(2) {width:25%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(3) {width:12%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(4) {width:15%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(5) {width:13%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(6) {width:17%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(1) {width:17%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(2) {width:20%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(3) {width:11%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(4) {width:11%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(5) {width:14%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(6) {width:13%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(7) {width:14%;}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td {
  color:#deeee9!important;padding:13px 12px!important;line-height:1.48!important;
  background:#041e21!important;font-size:13px!important;vertical-align:middle;
  border:0!important;border-right:1px solid rgba(22,120,101,.23)!important;
  border-bottom:1px solid rgba(22,120,101,.23)!important;
  overflow-wrap:anywhere;white-space:normal!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry:nth-child(4n+3) > td {
  background:#0c282d!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry:hover > td,
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry:focus-visible > td {
  background:#0b423c!important;
}
body.rbs-modern.rbs-breach .rbs28-player {font-weight:780;color:#f4fff9;}
body.rbs-modern.rbs-breach .rbs28-reason {color:#cee4dd;}
body.rbs-modern.rbs-breach .rbs28-type {
  display:inline-block;padding:4px 8px;border-radius:7px;font-size:12px;
  border:1px solid rgba(100,184,255,.22);background:rgba(75,143,200,.08);
  color:#9cdaff;
}
body.rbs-modern.rbs-breach .rbs28-state {
  display:inline-flex;max-width:100%;align-items:center;justify-content:center;
  padding:5px 9px;border-radius:8px;white-space:normal;
  font-size:11.5px;font-weight:800;line-height:1.25;text-align:center;
  border:1px solid rgba(156,186,196,.3);background:rgba(128,150,161,.13);color:#bdcfd2;
}
body.rbs-modern.rbs-breach .rbs28-state[data-rbs28-state="active"] {
  color:#ffa8b3;background:rgba(188,48,75,.16);border-color:rgba(255,121,146,.42);
}
body.rbs-modern.rbs-breach .rbs28-state[data-rbs28-state="released"],
body.rbs-modern.rbs-breach .rbs28-state[data-rbs28-state="inactive"] {
  color:#87f1c6;background:rgba(24,157,117,.12);border-color:rgba(47,221,168,.28);
}
body.rbs-modern.rbs-breach .rbs28-state[data-rbs28-state="expired"] {
  color:#ffcb82;background:rgba(194,122,36,.13);border-color:rgba(244,186,105,.30);
}
body.rbs-modern.rbs-breach .rbs28-duration {
  display:inline-block;border:1px solid rgba(123,168,163,.24);background:rgba(105,137,133,.12);
  color:#e4f8ed;padding:4px 8px;border-radius:7px;font-size:12px;line-height:1.4;
}
body.rbs-modern.rbs-breach .rbs28-price {
  display:block;width:max-content;max-width:100%;margin-top:7px;
  border:1px solid rgba(111,176,234,.3);border-radius:7px;
  background:rgba(23,79,127,.12);color:#9dd1ff!important;
  font-size:11px!important;font-weight:650;padding:5px 7px;line-height:1.35;
  white-space:normal!important;text-decoration:none!important;overflow-wrap:anywhere;
}
body.rbs-modern.rbs-breach .rbs28-price:hover {border-color:rgba(151,211,255,.76);background:rgba(26,101,158,.28);}
body.rbs-modern.rbs-breach .rbs28-price.rbs28-purchase-inactive,
body.rbs-modern.rbs-breach .rbs28-details-modal .rbs28-payment-action.rbs28-purchase-inactive {display:none!important;}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry.rbs28-filtered {display:none!important;}
/* Original placeholders place modal HTML in a companion table row; the portaled
   modal is moved to <body> before Bootstrap opens it. Hide the empty row. */
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.hidden-tr {display:none!important;}
body.rbs-modern.rbs-breach .rbs28-result-footer {
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  margin:0 24px;padding:12px 2px 18px;color:#bad8ca;font-size:12px;
}
body.rbs-modern.rbs-breach .rbs28-note {color:#86aaa2;}
body.rbs-modern.rbs-breach .rbs28-no-results {
  border:1px dashed rgba(35,221,163,.28);border-radius:10px;
  margin:0 24px 20px;padding:18px;color:#afddca;text-align:center;
}
body.rbs-modern.rbs-breach .rbs28-no-results[hidden] {display:none!important;}
body.rbs-modern.rbs-breach .rbs28-sidebar .rbs28-side-card {
  border:1px solid rgba(14,177,139,.24);background:linear-gradient(155deg,#071d22,#0c2627);
  border-radius:16px;overflow:hidden;
}
body.rbs-modern.rbs-breach .rbs28-help {padding-bottom:17px;}
body.rbs-modern.rbs-breach .rbs28-help p {display:flex;gap:10px;align-items:center;margin:8px 16px;color:#d8ede5;font-size:12.5px;}
body.rbs-modern.rbs-breach .rbs28-dot {width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#9fa9b6;}
body.rbs-modern.rbs-breach .rbs28-dot--active {background:#f58b9b;}
body.rbs-modern.rbs-breach .rbs28-dot--released {background:#57e6b0;}
body.rbs-modern.rbs-breach .rbs28-dot--expired {background:#f5b96a;}
body.rbs-modern.rbs-breach .rbs28-help small {display:block;margin:11px 16px;color:#a4c6b8;line-height:1.6;font-size:11px;}
body.rbs-modern.rbs-breach .rbs28-appeal-link {display:block;white-space:normal!important;margin:12px 16px 4px;text-align:center;font-size:12px;}

/* Portaled Bootstrap details windows — apply R28 layout even when outside the table. */
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-dialog {
  width:min(880px,calc(100vw - 24px));max-width:calc(100vw - 24px);
  margin:clamp(10px,3vh,28px) auto!important;
}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-content {
  background:linear-gradient(160deg,#122831,#091820)!important;
  border:1px solid rgba(34,201,162,.35);border-radius:16px;
  box-shadow:0 28px 85px rgba(0,0,0,.59);overflow:hidden;
}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-header {
  position:relative;padding:19px 60px 17px 23px!important;
  background:linear-gradient(90deg,#083b35,#0b2530)!important;
  border-bottom:1px solid rgba(31,190,159,.25);
}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-title {color:#f0fff8;font-size:19px;}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body {
  padding:18px 21px 22px;max-height:calc(100dvh - 110px);
  overflow:auto;scrollbar-width:thin;scrollbar-color:#287763 #0b2026;
}
body.rbs-modern.rbs-breach .rbs28-modal-summary {
  display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
  padding:12px 14px;margin-bottom:15px;border:1px solid rgba(38,182,148,.20);
  border-radius:10px;background:rgba(3,44,40,.55);
}
body.rbs-modern.rbs-breach .rbs28-modal-summary__label {color:#bde9d5;font-size:12px;font-weight:650;}
body.rbs-modern.rbs-breach .rbs28-modal-summary__hint {color:#91b4aa;font-size:11px;margin-left:auto;}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body .table-responsive {border-radius:11px;}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body td {color:#dcf2e9;}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body td b {color:#d8f8ed;}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-header .close {
  position:absolute;right:13px;top:13px;opacity:1;color:#e7fff2;
  border:1px solid rgba(136,229,204,.25);border-radius:9px;
  width:38px;height:38px;background:rgba(92,165,148,.10);text-shadow:none;
}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-header .close:hover {background:rgba(92,165,148,.25);}
body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body .btn {max-width:100%;white-space:normal;}
@media (max-width:991.98px) {
  body.rbs-modern.rbs-breach .rbs28-metrics {gap:8px;padding:13px 16px;}
  body.rbs-modern.rbs-breach .rbs28-controls {padding:0 16px;}
  body.rbs-modern.rbs-breach .rbs28-table-wrap {margin:12px 16px 0!important;width:calc(100% - 32px);max-width:calc(100% - 32px)!important;}
  body.rbs-modern.rbs-breach .rbs28-tabs {padding:12px 16px 4px;}
  body.rbs-modern.rbs-breach .rbs28-result-footer {margin:0 16px;}
}
@media (max-width:767.98px) {
  body.rbs-modern.rbs-breach .rbs28-version {display:none;}
  body.rbs-modern.rbs-breach .rbs28-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.rbs-modern.rbs-breach .rbs28-metric {padding:10px 12px;}
  body.rbs-modern.rbs-breach .rbs28-metric > strong {font-size:21px;}
  body.rbs-modern.rbs-breach .rbs28-tabs > a {flex:1 1 90px;padding:8px 9px;font-size:12px;}
  body.rbs-modern.rbs-breach .rbs28-table-wrap {
    border:none!important;margin:12px 12px 0!important;width:calc(100% - 24px);
    max-width:calc(100% - 24px)!important;overflow:visible!important;background:transparent;
  }
  body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table {
    min-width:0!important;width:100%!important;display:block!important;
  }
  body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table > tbody {display:block!important;}
  body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table > thead {display:none!important;}
  body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry {
    display:block!important;width:100%;min-width:0;margin:0 0 12px;padding:10px 11px!important;
    border:1px solid rgba(21,191,150,.35);border-radius:13px;
    background:linear-gradient(140deg,#08272b,#061d24)!important;box-shadow:0 8px 20px rgba(0,0,0,.13);
  }
  body.rbs-modern.rbs-breach .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry.rbs28-filtered {display:none!important;}
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td {
    display:grid!important;grid-template-columns:minmax(78px,35%) minmax(0,1fr)!important;
    padding:8px 4px!important;gap:8px!important;min-height:0;max-width:none!important;width:100%!important;
    background:transparent!important;border:0!important;
    border-bottom:1px solid rgba(32,140,116,.19)!important;
    overflow-wrap:anywhere;align-items:start;
  }
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td::before {
    display:block;color:#8cbab2;font-size:11px;line-height:1.4;
    content:attr(data-rbs-label);padding-top:3px;
  }
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td:first-child {
    box-shadow:none!important;color:#f3fff8;font-size:14px!important;
  }
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td:last-child {border-bottom:0!important;}
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry:nth-child(4n+3) > td,
  body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry:hover > td {background:transparent!important;}
  body.rbs-modern.rbs-breach .rbs28-price {margin-top:5px;}
  body.rbs-modern.rbs-breach .rbs28-details-modal .modal-dialog {width:calc(100vw - 16px);max-width:calc(100vw - 16px);margin:8px auto!important;}
  body.rbs-modern.rbs-breach .rbs28-details-modal .modal-body {padding:13px 11px;}
  body.rbs-modern.rbs-breach .rbs28-modal-summary__hint {flex-basis:100%;}
  body.rbs-modern.rbs-breach .rbs28-result-footer {margin:0 12px;padding-top:5px;}
  body.rbs-modern.rbs-breach .rbs28-filter-hint {font-size:10.5px;}
}
@media (prefers-reduced-motion:reduce) {
  body.rbs-modern.rbs-breach .rbs28-punishment-page *,
  body.rbs-modern.rbs-breach .rbs28-details-modal * {animation:none!important;transition:none!important;}
}


/* ============================================================
   RBS R28.3 — table readability and responsive punishment cards
   Scoped to the two punishment listing pages only.
   ============================================================ */
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-controls {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(195px, 0.44fr);
  gap:10px 14px;
  align-items:start;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-controls .rbs28-search {
  margin:0!important;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-filters {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:10px;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-select {
  min-width:0;
  width:100%;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-select select.form-control,
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-search > input.form-control {
  min-height:48px!important;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-filter-hint {
  grid-column:1 / -1;
  margin:0 0 2px!important;
}
body.rbs-modern.rbs-breach .rbs18-mute-page.rbs28-punishment-page .rbs28-controls {
  grid-template-columns:minmax(0,1fr) minmax(305px,0.75fr);
}

/* Desktop: reserve actual space for dates and admin avatars/names. */
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-table-wrap {
  scrollbar-width:thin;
  scrollbar-color:#14785f #071b1a;
  -webkit-overflow-scrolling:touch;
}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table.rbs28-table {
  min-width:0!important;
  table-layout:fixed!important;
}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table.rbs28-table {
  min-width:0!important;
  table-layout:fixed!important;
}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(1) {width:17%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(2) {width:20%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(3) {width:13%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(4) {width:15%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(5) {width:15%;}
body.rbs-modern.rbs-breach .rbs-ban-table.rbs28-table-wrap > table thead th:nth-child(6) {width:20%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(1) {width:15%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(2) {width:17%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(3) {width:10%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(4) {width:12%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(5) {width:13%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(6) {width:15%;}
body.rbs-modern.rbs-breach .rbs-mute-table.rbs28-table-wrap > table thead th:nth-child(7) {width:18%;}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td {
  padding:12px 13px!important;
  vertical-align:middle!important;
  line-height:1.5!important;
  overflow:visible!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td[data-rbs-label="Админ"] {
  min-width:0;
  overflow-wrap:anywhere!important;
  word-break:normal;
  padding-right:16px!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td[data-rbs-label="Админ"] a {
  display:inline-flex!important;
  max-width:100%;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  white-space:normal!important;
  overflow-wrap:anywhere;
  vertical-align:middle;
  color:#99eddb!important;
  text-decoration:none!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td[data-rbs-label="Админ"] img {
  width:34px!important;
  height:34px!important;
  flex:0 0 34px;
  object-fit:cover;
  border-radius:50%;
  margin:0!important;
}
body.rbs-modern.rbs-breach .rbs28-table > tbody > tr.rbs28-entry > td[data-rbs-label="Окончание"] {
  font-variant-numeric:tabular-nums;
  overflow-wrap:normal!important;
}
body.rbs-modern.rbs-breach .rbs29-date {
  display:inline-flex;
  flex-direction:column;
  gap:1px;
  max-width:100%;
  color:#e6f8f1;
}
body.rbs-modern.rbs-breach .rbs29-date__day {white-space:nowrap;font-weight:700;font-size:12.5px;}
body.rbs-modern.rbs-breach .rbs29-date__time {white-space:nowrap;color:#8ed9c4;font-size:11.5px;}
body.rbs-modern.rbs-breach .rbs28-price {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  border-radius:9px;
  padding:7px 10px;
  width:max-content;
  max-width:100%;
  font-size:11px!important;
  font-weight:750;
  white-space:nowrap!important;
  overflow-wrap:normal;
  line-height:1.35;
  cursor:pointer;
}
/* JS confirms active status before revealing a payable action.
   If JS is disabled or the record is ambiguous, never advertise a payment. */
body.rbs-modern.rbs-breach .rbs29-payment-pending,
body.rbs-modern.rbs-breach .rbs28-price.rbs28-purchase-inactive,
body.rbs-modern.rbs-breach .rbs28-details-modal .rbs28-payment-action.rbs28-purchase-inactive {
  display:none!important;
}
body.rbs-modern.rbs-breach .rbs29-review-note {
  display:block;
  margin-top:7px;
  color:#d8be83;
  font-size:10.5px;
  line-height:1.45;
  max-width:180px;
}
body.rbs-modern.rbs-breach .rbs29-review-note[hidden] {display:none!important;}
body.rbs-modern.rbs-breach .rbs28-entry .rbs28-state[data-rbs28-state="unknown"] {
  font-size:11px;white-space:nowrap;
  border-color:rgba(243,193,113,.35);
  color:#eacb90;
  background:rgba(174,124,40,.12);
}
body.rbs-modern.rbs-breach .rbs28-entry .rbs28-state[data-rbs28-state="inactive"] {
  color:#a8c9c4;
  background:rgba(107,148,142,.11);
}
body.rbs-modern.rbs-breach .rbs28-details-modal .rbs28-payment-action {
  white-space:normal!important;
}


/* ================================================================
   RBS R28.4 / precise-width layout (replaces old viewport breakpoints)
   The main pane is 9/12 of the page. A 1600px monitor can therefore
   display a 900px banlist: viewport media queries are not sufficient.
   This module observes the width of its own card using CSS containers.
   No database, payment, navigation, or Bootstrap handlers are changed.
   ================================================================ */
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-center {
  container: rbs28-list / inline-size;
}
/* Consistent spacing without enormous search and heading blocks. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-punishment-page .rbs28-heading {
  min-height:86px!important;
  padding:18px 22px!important;
  gap:13px;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs18-page-head__copy strong {
  font-size:clamp(19px, 1.8vw, 24px);
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs18-page-head__copy small {
  letter-spacing:.08em;
  line-height:1.45;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-tabs {padding:15px 20px 0;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-metrics {padding:14px 20px 14px;gap:9px;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-metric {padding:11px 13px;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-metric > strong {font-size:clamp(20px,1.9vw,25px);}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-controls {padding:0 20px;}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-punishment-page .rbs28-controls .rbs28-search {
  margin:0!important;width:100%;max-width:none!important;min-width:0;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-filter-hint {color:#9bbdb5;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-table-wrap {
  margin:13px 20px 0!important;width:calc(100% - 40px);max-width:calc(100% - 40px)!important;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-result-footer {margin:0 20px;}
/* Clean visual hierarchy in both wide tables and cards. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-punishment-page .rbs28-table > tbody > tr.rbs28-entry > td {
  font-size:13px!important;
  line-height:1.45!important;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-player {font-size:14px;letter-spacing:.005em;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-price {
  background:rgba(30,97,117,.22)!important;
  border-color:rgba(75,164,197,.40);
  color:#b3e4ff!important;
  font-size:11px!important;
  white-space:normal!important;
  text-align:center;
  max-width:100%;
  overflow-wrap:break-word;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-price:hover {
  background:rgba(27,129,149,.25)!important;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-table td[data-rbs-label="Админ"] a {
  max-width:100%;min-width:0;white-space:normal!important;
  overflow-wrap:anywhere;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-table td[data-rbs-label="Админ"] img {
  width:30px!important;height:30px!important;flex:0 0 30px;
  border-radius:9px!important;object-fit:cover;
}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-state {flex-shrink:0;}
body.rbs-modern.rbs-breach .rbs28-punishment-page .rbs28-table > tbody > tr.rbs28-entry:focus-visible {
  outline:2px solid #51f5c9!important;outline-offset:-2px;
}
/* Never let old global/mobile rules display a nested companion modal row. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-table-wrap .rbs28-table > tbody > tr.hidden-tr {
  display:none!important;
}

/* The key repair: measure the actual card, not browser window width. */
@container rbs28-list (max-width: 1130px) {
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap {
    border:0!important;background:transparent!important;
    overflow:visible!important;
    margin-top:10px!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table {
    display:block!important;min-width:0!important;width:100%!important;
    max-width:100%!important;border:0!important;table-layout:auto!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > thead {display:none!important;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody {
    display:flex!important;flex-direction:column;gap:11px;min-width:0;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);
    grid-template-areas:"player reason state" "duration end admin";
    gap:12px 18px;
    width:100%!important;min-width:0!important;
    margin:0!important;padding:14px 16px!important;
    border:1px solid rgba(33,187,148,.30)!important;
    border-left:3px solid rgba(35,172,147,.72)!important;
    border-radius:13px!important;
    background:linear-gradient(110deg,#082b2d,#061e25)!important;
    box-shadow:0 3px 16px rgba(0,0,0,.14);
    overflow:visible!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry:nth-child(4n+3) {
    background:linear-gradient(110deg,#0b3032,#08212a)!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry.danger {
    border-left-color:#f08398!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry.success {
    border-left-color:#30dbab!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry.rbs28-filtered {
    display:none!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry:hover {
    background:linear-gradient(110deg,#0d3835,#0b2930)!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry > td {
    display:flex!important;flex-direction:column;justify-content:flex-start;align-items:flex-start;
    gap:5px!important;min-width:0!important;width:auto!important;max-width:100%!important;
    min-height:0!important;padding:0!important;margin:0!important;
    border:0!important;box-shadow:none!important;
    background:transparent!important;
    overflow-wrap:anywhere;word-break:normal;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry > td::before {
    display:block!important;content:attr(data-rbs-label)!important;
    color:#83b9a9;font-size:10px;line-height:1.3;letter-spacing:.08em;
    font-weight:750;text-transform:uppercase;padding:0;margin:0;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(1) {grid-area:player;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(2) {grid-area:reason;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(3) {grid-area:state;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(4) {grid-area:duration;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(5) {grid-area:end;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-ban-table .rbs28-entry > td:nth-child(6) {grid-area:admin;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry {
    grid-template-columns:minmax(0,1fr) minmax(0,1.16fr) minmax(0,.83fr) minmax(0,1fr)!important;
    grid-template-areas:"player reason state type" "duration end admin admin"!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(1) {grid-area:player;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(2) {grid-area:reason;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(3) {grid-area:type;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(4) {grid-area:state;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(5) {grid-area:duration;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(6) {grid-area:end;}
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry > td:nth-child(7) {grid-area:admin;}
  /* The table-wide six-column layout must not be applied to compact cards. */
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.hidden-tr {display:none!important;}
}
@container rbs28-list (max-width: 850px) {
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-controls,
  body.rbs-modern.rbs-breach .rbs18-mute-page .rbs28-center .rbs28-controls {
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px;
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-filters {
    grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@container rbs28-list (max-width: 600px) {
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-heading {
    padding:15px 16px!important;min-height:75px!important;
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-tabs {padding:10px 12px 0;gap:6px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-tabs > a {
    flex:1 1 auto;padding:8px 7px;font-size:11px;
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-metrics {padding:12px;gap:8px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-metric {padding:9px 11px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-metric > strong {font-size:21px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-controls {padding:0 12px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-table-wrap {
    margin:12px 12px 0!important;width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry {
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important;
    grid-template-areas:"player state" "reason reason" "duration end" "admin admin"!important;
    gap:12px 10px;padding:13px 13px!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs-mute-table .rbs28-entry {
    grid-template-areas:"player state" "reason reason" "type duration" "end end" "admin admin"!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs28-center .rbs28-table-wrap > table.rbs28-table > tbody > tr.rbs28-entry > td {
    display:flex!important;min-width:0!important;
    grid-template-columns:none!important;gap:5px!important;
    padding:0!important;background:transparent!important;
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-result-footer {
    margin:0 12px;gap:5px;line-height:1.5;
  }
  body.rbs-modern.rbs-breach .rbs28-center .rbs29-date__day {font-size:12px;}
  body.rbs-modern.rbs-breach .rbs28-center .rbs28-price {margin-top:3px!important;}
}
@media (prefers-reduced-motion:reduce) {
  body.rbs-modern.rbs-breach .rbs28-punishment-page * {transition:none!important;animation:none!important;}
}

/* R28.4 collision guard: R18 was using :nth-child(4n+3) with more
   specificity than the card rules. A card owns its background; cells do not. */
@container rbs28-list (max-width: 1130px) {
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-listing-block.rbs28-center
  .rbs-mobile-cards.rbs28-table-wrap > table.table.rbs28-table
  > tbody > tr.rbs28-entry[data-toggle="modal"] > td,
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-listing-block.rbs28-center
  .rbs-mobile-cards.rbs28-table-wrap > table.table.rbs28-table
  > tbody > tr.rbs28-entry:nth-child(4n+3)[data-toggle="modal"] > td {
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
  }
  body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-listing-block.rbs28-center
  .rbs-mobile-cards.rbs28-table-wrap > table.table.rbs28-table
  > tbody > tr.rbs28-entry[data-toggle="modal"]::after {
    content:none!important;
    display:none!important;
  }
}
