/* RBS Forum R23 — Module polish & hardening after R22.
   Scoped, no changes to PHP/SQL/purchase URLs or backend event handlers. */
body.rbs-modern.rbs-breach.rbs-cyber16 {
  --rbs23-neon:#36f2b8;
  --rbs23-edge:rgba(34,225,168,.32);
  --rbs23-surface:#06201f;
  --rbs23-muted:#b5d0c9;
}
/* Icons in the server dashboard: render SVG as MASK so black assets turn neon. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__metric-icon,
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__symbol {
  position:relative;
  background:#05312b!important;
  border:1px solid rgba(15,240,177,.53)!important;
}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__metric-icon::before,
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__symbol::before {
  content:"";display:block;position:absolute;inset:9px;
  background:#3bffca;
  -webkit-mask:url('../img/rbs-icons-r14/users.svg') center/contain no-repeat;
  mask:url('../img/rbs-icons-r14/users.svg') center/contain no-repeat;
  pointer-events:none;
}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__symbol::before,
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__metric--servers .rbs18-server-dashboard__metric-icon::before {
  -webkit-mask-image:url('../img/rbs-icons-r14/server.svg');
  mask-image:url('../img/rbs-icons-r14/server.svg');
}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs18-server-dashboard__link>span {
  background:var(--rbs23-neon);
  -webkit-mask:url('../img/rbs-icons-r14/chart.svg') center/contain no-repeat;
  mask:url('../img/rbs-icons-r14/chart.svg') center/contain no-repeat;
}

/* No redundant chat collapse control. The chat panel stays open. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs17-chat-card > .rbs17-chat-head .rbs17-chat-collapse {display:none!important;}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs17-chat-card > .rbs17-chat-head .rbs17-chat-rules {margin-left:auto;}

/* Fixed_mess originally used an absolute left:630px action toolbar. */
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .fixed_chat_message.rbs23-fixed-chat-message {
  display:grid!important;grid-template-columns:58px minmax(0,1fr);gap:14px;
  align-items:start;min-width:0;margin:0!important;padding:4px!important;
  border:0!important;border-radius:10px;background:transparent!important;
  overflow:visible!important;color:#eafff5;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message > a {display:block;min-width:0;}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .user_img {
  float:none!important;width:56px!important;height:56px!important;max-width:56px!important;
  object-fit:cover;border-radius:11px;background:#051d23!important;
  border:1px solid #aa57f8;box-shadow:0 0 14px rgba(161,70,255,.27);
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message {
  margin:0!important;padding:0!important;min-width:0;max-width:100%;overflow:visible!important;
  font-size:14px;line-height:1.6;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message .info {
  display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;
  height:auto!important;min-height:36px!important;overflow:visible!important;
  margin:0 0 8px!important;padding:0;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message .info .author {
  position:static!important;float:none!important;max-width:100%;
  font-size:15px;font-weight:800;overflow-wrap:anywhere;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message .info .date {
  position:static!important;float:none!important;margin:0!important;
  width:24px;height:24px;line-height:24px;
  background:rgba(9,67,55,.94)!important;border:1px solid rgba(55,236,173,.25)!important;
  color:#9bffe0!important;font-size:12px;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-pin-actions {
  position:static!important;inset:auto!important;left:auto!important;top:auto!important;
  display:flex!important;gap:7px;align-items:center;justify-content:flex-end;
  margin:0 0 0 auto!important;padding:0!important;flex:0 0 auto;
  flex-wrap:wrap;max-width:100%;order:3;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message .info .author {order:1;}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .message .info .date {order:2;}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-pin-actions .rbs20-fixed-action,
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-pin-actions :is(.fixed_message,.edit_message,.dell_message) {
  position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;
  margin:0!important;min-width:36px!important;width:36px!important;height:36px!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  border-radius:9px;cursor:pointer;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message [id^="message_text_"] {
  padding-top:0!important;overflow-wrap:anywhere;color:#dbf7ed;
}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message [id^="message_text_"] > span {color:#8bffd4!important;}
body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message textarea {margin-top:12px;}
@media (max-width:560px){
  body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message {grid-template-columns:44px minmax(0,1fr);gap:9px;}
  body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-fixed-chat-message .user_img {width:42px!important;height:42px!important;}
  body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-pin-actions {flex-basis:100%;margin-left:0!important;justify-content:flex-start;}
  body.rbs-modern.rbs-breach.rbs-cyber16 #fixed_message .rbs23-pin-actions .rbs20-fixed-action {width:34px!important;height:34px!important;min-width:34px!important;}
}

/* Site stats, all values rendered by original module — no hardcoded counters. */
body.rbs-modern.rbs-breach .rbs23-site-stats {
  border:1px solid var(--rbs23-edge)!important;border-radius:19px!important;
  padding:0 0 18px;min-width:0;
  background:linear-gradient(145deg,#082922,#031b1d)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}
body.rbs-modern.rbs-breach .rbs23-site-stats > .block_head {
  display:flex;align-items:center;gap:11px;
  padding:21px 24px!important;border-bottom:1px solid var(--rbs23-edge);
  color:#f1fff8!important;background:linear-gradient(95deg,#073f31,#092523);
  font-size:20px;font-weight:850;
}
body.rbs-modern.rbs-breach .rbs23-stats-icon {
  display:block;width:28px;height:28px;flex:0 0 28px;background:#3dffc8;
  -webkit-mask:url('../img/rbs-icons-r14/chart.svg') center/contain no-repeat;
  mask:url('../img/rbs-icons-r14/chart.svg') center/contain no-repeat;
}
body.rbs-modern.rbs-breach .rbs23-stats-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  padding:17px 19px 4px;min-width:0;
}
body.rbs-modern.rbs-breach .rbs23-stats-panel {
  min-width:0;border:1px solid rgba(30,202,145,.22);border-radius:14px;
  background:linear-gradient(160deg,rgba(12,56,47,.75),rgba(4,26,30,.8));
  padding:13px 14px;
}
body.rbs-modern.rbs-breach .rbs23-stats-panel h3 {
  margin:0 0 12px;font-size:14px;color:#4cfcca;font-weight:750;
  text-transform:uppercase;letter-spacing:.07em;
}
body.rbs-modern.rbs-breach .rbs23-stat-row {
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 0;border-bottom:1px solid rgba(70,214,176,.15);
}
body.rbs-modern.rbs-breach .rbs23-stat-row:last-child {border-bottom:0;}
body.rbs-modern.rbs-breach .rbs23-stat-row__label {min-width:0;overflow-wrap:anywhere;color:#b9d3cb;font-size:13px;}
body.rbs-modern.rbs-breach .rbs23-stat-row__values {display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto;}
body.rbs-modern.rbs-breach .rbs23-stat-row__values strong {color:#f0fff9;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;}
body.rbs-modern.rbs-breach .rbs23-stat-row__delta,
body.rbs-modern.rbs-breach #site_stats .rbs23-stat-row__delta {position:static!important;margin:0!important;line-height:1.4!important;display:inline-block;color:#ff989d;font-size:11px;font-weight:750;}
body.rbs-modern.rbs-breach .rbs23-stat-row__delta a {color:#ff989d!important;}
body.rbs-modern.rbs-breach .rbs23-site-stats--sidebar .rbs23-stats-grid {grid-template-columns:1fr;}
@media(max-width:880px){body.rbs-modern.rbs-breach .rbs23-stats-grid {grid-template-columns:1fr;}}
@media(min-width:881px) and (max-width:1180px){body.rbs-modern.rbs-breach .rbs23-stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}

/* RCON shop: images are supplied by existing products, chrome unifies them. */
body.rbs-modern.rbs-breach .rbs23-rcon-catalog .rbs23-shop-tile {
  overflow:hidden;padding:13px!important;border-radius:18px!important;
  border:1px solid rgba(36,222,171,.34)!important;
  background:linear-gradient(158deg,#0a302a,#092025)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  transition:border-color .16s ease;
}
body.rbs-modern.rbs-breach .rbs23-rcon-catalog .rbs23-shop-tile:hover {border-color:#3cfdc0!important;}
body.rbs-modern.rbs-breach .rbs23-rcon-catalog .rbs23-shop-tile .image {
  position:relative;height:clamp(185px,17vw,245px);border-radius:13px;
  background-position:center;background-size:cover;border:1px solid rgba(94,232,187,.18);overflow:hidden;
}
body.rbs-modern.rbs-breach .rbs23-shop-tile .image::after {
  content:"";position:absolute;inset:55% 0 0;
  background:linear-gradient(transparent,rgba(2,12,18,.82));pointer-events:none;
}
body.rbs-modern.rbs-breach .rbs23-shop-tile .image .title {
  position:absolute;z-index:1;left:10px;right:10px;top:auto!important;bottom:12px;
  width:auto;max-width:none;height:auto;max-height:50px;line-height:1.35;white-space:normal;
  padding:8px 10px;border-radius:8px;font-size:14px;font-weight:800;
  color:#f3fff9;background:rgba(1,16,23,.83);overflow:hidden;
}
body.rbs-modern.rbs-breach .rbs23-shop-tile .image .price {
  top:10px;right:10px;z-index:2;min-width:64px;padding:7px 11px;border-radius:9px;
  color:#fff!important;background:#7b2942!important;border:1px solid rgba(255,149,181,.4)!important;font-weight:850;
}
body.rbs-modern.rbs-breach .rbs23-shop-tile .actions {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  margin-top:12px;text-align:initial;
}
body.rbs-modern.rbs-breach .rbs23-shop-tile .actions .btn {
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;width:100%!important;
  margin:0!important;border-radius:10px!important;font-weight:760;
  white-space:normal;
}
body.rbs-modern.rbs-breach .rbs23-product-detail {
  border:1px solid rgba(40,211,155,.32)!important;
  border-radius:19px!important;background:linear-gradient(150deg,#06241f,#071c21)!important;
  padding:0 24px 28px!important;color:#d9f3e9;
}
body.rbs-modern.rbs-breach .rbs23-product-detail > .block_head {
  margin:0 -24px 20px;padding:22px 24px!important;
  color:#f2fff8!important;font-weight:850;font-size:18px;
}
body.rbs-modern.rbs-breach .rbs23-product-detail__intro {
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.1fr);gap:22px;
  margin:0 0 22px;align-items:start;
}
body.rbs-modern.rbs-breach .rbs23-product-detail__intro .image {
  display:block!important;max-height:none!important;max-width:100%!important;width:100%;
  border-radius:14px!important;overflow:hidden;border:1px solid rgba(44,207,151,.32)!important;
  background:#071c20;
}
body.rbs-modern.rbs-breach .rbs23-product-detail__intro .image img {
  display:block;width:100%;height:auto;max-width:100%!important;max-height:360px!important;
  margin:0!important;object-fit:contain;object-position:center;border-radius:12px;
}
body.rbs-modern.rbs-breach .rbs23-product-detail__intro .with_code {
  margin:0!important;padding:16px!important;min-width:0;text-align:left;
  border:1px solid rgba(43,195,147,.27);border-radius:13px;
  background:rgba(9,53,43,.5);overflow-wrap:anywhere;color:#d5f5e8;
}
body.rbs-modern.rbs-breach .rbs23-product-detail :is(.form-control,.btn,.noty-block) {border-radius:10px;}
body.rbs-modern.rbs-breach .rbs23-product-detail .form-check {margin:18px 0 14px;}
body.rbs-modern.rbs-breach .rbs23-product-detail #buy-btn {min-height:46px;min-width:175px;}
@media(max-width:800px){
  body.rbs-modern.rbs-breach .rbs23-product-detail__intro {grid-template-columns:minmax(0,1fr);}
  body.rbs-modern.rbs-breach .rbs23-product-detail {padding:0 13px 20px!important;}
  body.rbs-modern.rbs-breach .rbs23-product-detail > .block_head {margin:0 -13px 15px;padding:18px!important;}
}

/* Inventory: all styling scoped; old global rules removed from inventory.tpl. */
body.rbs-modern.rbs-breach .rbs23-inventory {min-width:0;color:#d8f3e7;}
body.rbs-modern.rbs-breach .rbs23-inventory-bar {
  display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;
  padding:17px 20px;margin:0 0 19px;
  background:linear-gradient(130deg,#0b392e,#092128);
  border:1px solid rgba(38,217,158,.39);border-radius:17px;
}
body.rbs-modern.rbs-breach .rbs23-inventory-wallet {display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
body.rbs-modern.rbs-breach .rbs23-inventory-kicker {font-size:11px;letter-spacing:.18em;color:#43f5be;}
body.rbs-modern.rbs-breach .rbs23-inventory-wallet strong {font-size:18px;color:#f0fff9;}
body.rbs-modern.rbs-breach .rbs23-inventory-points {color:#6affcd;font-size:24px;}
body.rbs-modern.rbs-breach .rbs23-inventory-bar :is(.btn-outline-primary,.btn-success) {
  min-height:39px;margin:0;border-radius:10px;background:#0a5d45;border:1px solid #25dca0;color:#e8fff5;
  display:inline-flex;align-items:center;gap:7px;justify-content:center;text-align:center;
}
body.rbs-modern.rbs-breach .rbs23-inventory-items > div {min-width:0;}
body.rbs-modern.rbs-breach .rbs23-inventory-items .trading-item {
  background:linear-gradient(155deg,#0b3229,#091f28)!important;
  border:1px solid rgba(32,218,152,.3);border-radius:14px!important;
  overflow:hidden;box-shadow:none!important;min-height:225px;transition:border-color .18s ease;
}
body.rbs-modern.rbs-breach .rbs23-inventory-items .trading-item:hover,
body.rbs-modern.rbs-breach .rbs23-inventory-items .trading-item.active {border-color:#58ffc5!important;}
body.rbs-modern.rbs-breach .rbs23-inventory-items .trading-item .card-header {
  color:#edfff6;white-space:normal;overflow-wrap:anywhere;font-weight:800;
  background:rgba(7,47,37,.92);border-bottom:1px solid rgba(39,216,151,.2);
}
body.rbs-modern.rbs-breach .rbs23-inventory-items .trading-item .card-body {min-height:145px;}
body.rbs-modern.rbs-breach .rbs23-exchanger .modal-content {
  background:#09241f!important;color:#f0fff8;border:1px solid rgba(60,238,181,.36);
}
body.rbs-modern.rbs-breach .rbs23-exchanger .modal-header {background:#0c3a2d!important;color:#eafff6;border-bottom:1px solid rgba(51,218,164,.3);}
body.rbs-modern.rbs-breach .rbs23-exchanger .form-control {background:#0d2428;color:white;border-color:#1a806a;}
body.rbs-modern.rbs-breach .rbs23-exchanger .text-success {color:#71ffd1!important;}

/* Marketplace: preserve existing data-product IDs and button listeners. */
body.rbs-modern.rbs-breach .rbs23-market {
  min-width:0;padding:4px 0 18px;color:#e8fff6;
}
body.rbs-modern.rbs-breach .rbs23-market > .table,
body.rbs-modern.rbs-breach .rbs23-market > .product {
  display:grid!important;
  grid-template-columns:68px minmax(145px,1.65fr) minmax(65px,.55fr) minmax(70px,.65fr) minmax(70px,.65fr) 64px;
  gap:10px;align-items:center;
  width:100%;max-width:100%;margin:0 0 10px;padding:12px 14px!important;
  border-radius:13px;border:1px solid rgba(37,209,154,.22);
}
body.rbs-modern.rbs-breach .rbs23-market > .table {
  background:rgba(13,62,46,.84);border-color:rgba(42,218,162,.37);
  font-size:12px;font-weight:750;color:#b8e9d8;
}
body.rbs-modern.rbs-breach .rbs23-market > .product {
  background:linear-gradient(150deg,#0b2e2c,#081d24);
  min-height:88px;height:auto;font-size:14px;
  transition:border-color .15s ease;box-shadow:none!important;
}
body.rbs-modern.rbs-breach .rbs23-market > .product:hover {border-color:rgba(73,255,189,.77);}
body.rbs-modern.rbs-breach .rbs23-market > :is(.table,.product) > * {
  min-width:0;width:auto!important;margin:0!important;
  display:flex;align-items:center;justify-content:flex-start;
  overflow-wrap:anywhere;
}
body.rbs-modern.rbs-breach .rbs23-market > .product .view img {
  display:block;width:54px;height:54px;object-fit:cover;border:1px solid rgba(46,227,161,.28);border-radius:10px;
}
body.rbs-modern.rbs-breach .rbs23-market > .product .name {color:#f0fff9;font-weight:800;display:block;}
body.rbs-modern.rbs-breach .rbs23-market > .product .price {color:#74ffcb;font-weight:850;}
body.rbs-modern.rbs-breach .rbs23-market > .product .market {color:#a9cdc2;}
body.rbs-modern.rbs-breach .rbs23-market > :is(.table,.product) .add {display:flex;justify-content:center;}
body.rbs-modern.rbs-breach .rbs23-market .product-buy-trading {
  width:42px!important;height:42px!important;padding:10px!important;border:1px solid rgba(46,213,166,.38);border-radius:10px;
  background:rgba(10,70,59,.75)!important;color:#a4ffe0;
}
body.rbs-modern.rbs-breach .rbs23-market .product-buy-trading svg {width:20px;height:20px;color:#7bfcca!important;}
@media(max-width:700px){
  body.rbs-modern.rbs-breach .rbs23-market > .table {display:none!important;}
  body.rbs-modern.rbs-breach .rbs23-market > .product {
    grid-template-columns:62px minmax(0,1fr) 64px;
    grid-template-areas:"view name add" "view price add" "view availability market";
    gap:6px 10px;min-height:100px;padding:12px!important;
  }
  body.rbs-modern.rbs-breach .rbs23-market > .product .view {grid-area:view;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .name {grid-area:name;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .price {grid-area:price;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .availability {grid-area:availability;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .market {grid-area:market;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .add {grid-area:add;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .view img {width:58px;height:58px;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .name {font-size:14px;}
  body.rbs-modern.rbs-breach .rbs23-market > .product .price::before {content:'Цена: ';font-weight:500;color:#9bd9c6;margin-right:4px;}
}

/* Account menu: accessible, unclipped and on-brand. */
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs-account-menu {
  min-width:min(285px,calc(100vw - 22px));max-height:min(72vh,720px);
  overflow-y:auto;overscroll-behavior:contain;
  border:1px solid rgba(52,225,173,.38);border-radius:0 0 15px 15px;
  background:#091f22;box-shadow:0 18px 38px rgba(0,0,0,.44);
}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs-account-menu a {
  display:flex;align-items:center;gap:10px;
  min-height:43px;padding:10px 14px;color:#d0f2e4;
}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs-account-menu a:hover,
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs-account-menu a:focus-visible {background:#104638;color:#f2fff9;}
body.rbs-modern.rbs-breach.rbs-cyber16 .rbs-account-menu .rbs-user-menu-label {
  padding:11px 14px 5px;font-size:10px;letter-spacing:.13em;color:#82aa9e;
}

@media (prefers-reduced-motion:reduce){
  body.rbs-modern.rbs-breach .rbs23-rcon-catalog *,
  body.rbs-modern.rbs-breach .rbs23-inventory *,
  body.rbs-modern.rbs-breach .rbs23-market * {transition:none!important;animation:none!important;}
}
