.rb-platform {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
}

.rb-platform .admin-platform-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 5px;
  width: min(720px, 100%);
  padding: 4px;
  border: 1px solid #223a4c;
  border-radius: 10px;
  background: #0b1620;
}

.rb-platform .admin-platform-nav button {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #9eb2c2;
  font-size: 12px;
  font-weight: 700;
}

.rb-platform .admin-platform-nav button:hover {
  border-color: #31566f;
  color: #e9f7ff;
}

.rb-platform .admin-platform-nav button.active {
  border-color: #d12070;
  background: rgba(209, 32, 112, .16);
  color: #fff;
}

.rb-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(145px, 210px) minmax(145px, 190px) auto auto;
  gap: 7px;
  align-items: center;
  width: 100%;
}

.rb-toolbar input,
.rb-toolbar select,
.rb-form-grid input,
.rb-form-grid select,
.rb-form-grid textarea {
  width: 100%;
  border: 1px solid #29485d;
  height: 38px;
  border-radius: 7px;
  background: #0d1924;
  color: #edf8ff;
  padding: 7px 10px;
  font-size: 12px;
}

.rb-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 7px;
}

.rb-item-card {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 5px 8px;
  align-items: stretch;
  border: 1px solid #29485d;
  border-radius: 9px;
  background: #0e1924;
  padding: 7px 9px;
}

.rb-item-card:hover { border-color: #3b657f; }
.rb-item-card.is-selected {
  border-color: #d12070;
  background: linear-gradient(135deg, rgba(209, 32, 112, .12), #0e1924 55%);
}

.rb-item-select {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  padding-top: 2px;
}

.rb-item-select input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #d12070;
}

.rb-item-select .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rb-item-summary,
.rb-item-actions { grid-column: 2; }

.rb-item-card h3,
.rb-item-card p {
  margin: 2px 0;
}

.rb-item-card h3 { font-size: 14px; line-height: 1.15; }
.rb-item-card p {
  display: -webkit-box;
  overflow: hidden;
  color: #c2d0da;
  font-size: 11px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rb-item-card > div > span,
.rb-item-card small {
  color: #9fb2c2;
}

.rb-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  transition: opacity .15s ease;
}

.rb-platform.has-selection .rb-item-actions { opacity: .42; }
.rb-platform.has-selection .rb-item-card:hover .rb-item-actions,
.rb-platform.has-selection .rb-item-card.is-selected .rb-item-actions { opacity: .72; }

.rb-item-actions button,
.rb-toolbar button,
.rb-dialog button {
  min-height: 29px;
  padding: 4px 8px;
  border: 1px solid #31566f;
  border-radius: 6px;
  background: #10202d;
  color: #d9edf8;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
}

.rb-item-actions button:hover,
.rb-toolbar button:hover,
.rb-dialog button:hover {
  border-color: #5b91ae;
  background: #152b3b;
}

.rb-item-actions .primary-btn,
.rb-dialog .primary-btn {
  border-color: #d12070;
  background: #c91f69;
  color: #fff;
}

.rb-item-actions .primary-btn {
  margin-left: 0;
}

.rb-item-actions button {
  min-height: 25px;
  padding: 3px 6px;
  border-radius: 5px;
  font-size: 10px;
}

.rb-card-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-height: 18px;
}

.rb-created-at { display: block; margin-top: 2px; }

.rb-selection-bar {
  position: sticky;
  bottom: 8px;
  z-index: 12;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid #d12070;
  border-radius: 9px;
  background: rgba(10, 22, 32, .96);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .38);
  backdrop-filter: blur(8px);
}

.rb-selection-bar.is-active { display: flex; }
.rb-selection-bar > div { display: flex; flex-wrap: wrap; gap: 5px; }
.rb-selection-bar button {
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid #31566f;
  border-radius: 6px;
  background: #10202d;
  color: #d9edf8;
  font-size: 11px;
  font-weight: 700;
}
.rb-selection-bar .primary-btn { border-color: #d12070; background: #c91f69; color: #fff; }

.rb-dialog-layer:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(2, 8, 14, .78);
}

.rb-dialog {
  width: min(790px, 96vw);
  max-height: 94vh;
  overflow: auto;
  border: 1px solid #c9236c;
  border-radius: 11px;
  background: #0c1723;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}

.rb-dialog header,
.rb-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid #24394a;
}

.rb-dialog footer {
  justify-content: flex-end;
  border-top: 1px solid #24394a;
  border-bottom: 0;
}

.rb-dialog h2 {
  margin: 1px 0 0;
  font-size: 18px;
}

.rb-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 9px;
  padding: 8px 10px;
}

.rb-form-grid label {
  display: grid;
  gap: 2px;
  font-size: 11px;
}

.rb-dialog .rb-form-grid input,
.rb-dialog .rb-form-grid select {
  height: 33px;
  padding: 5px 8px;
}

.rb-form-grid textarea {
  height: auto;
  min-height: 46px;
  padding: 5px 8px;
  resize: vertical;
}

.rb-wide {
  grid-column: 1 / -1;
}

.rb-choice-body {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.rb-choice-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rb-choice-actions button {
  min-height: 44px;
}

.rb-standard-picker input[type="search"] {
  width: 100%;
  border: 1px solid #2d5067;
  border-radius: 9px;
  background: #0d1924;
  color: #edf8ff;
  padding: 11px 13px;
}

.rb-standard-results {
  display: grid;
  gap: 8px;
  max-height: 52vh;
  overflow: auto;
}

.rb-standard-results button {
  display: grid;
  gap: 4px;
  padding: 9px 11px;
  border: 1px solid #29485d;
  border-radius: 9px;
  background: #101f2c;
  color: #edf8ff;
  text-align: left;
}

.rb-standard-results button:hover { border-color: #d12070; }
.rb-standard-results span { color: #9fb2c2; font-size: 12px; }
.rb-standard-preview h3 { margin: 0 0 8px; }
.rb-standard-preview ul { margin: 0; padding-left: 20px; }

.rb-target-dialog { width: min(460px, 94vw); }
.rb-target-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.rb-target-body p { margin: 0; color: #b8cad6; font-size: 12px; }
.rb-target-body label { display: grid; gap: 5px; }
.rb-target-fields { display: grid; gap: 8px; }
.rb-target-body label > span { color: #9fb2c2; font-size: 11px; font-weight: 700; }
.rb-target-body select {
  width: 100%;
  height: 38px;
  border: 1px solid #31566f;
  border-radius: 7px;
  background: #0d1924;
  color: #edf8ff;
  padding: 6px 9px;
}
.rb-target-empty {
  margin: 0;
  padding: 14px 16px;
  color: #c9d7df;
  font-size: 12px;
}

.rb-multi-dialog { width: min(680px, 96vw); }
.rb-multi-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 9px 10px;
}
.rb-multi-body fieldset {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 8px;
  border: 1px solid #29485d;
  border-radius: 8px;
}
.rb-multi-body fieldset:first-of-type { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rb-multi-body .rb-multi-assignments {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 220px;
  overflow: auto;
}
.rb-multi-assignments label {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(130px, .8fr);
}
.rb-multi-assignments label > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rb-multi-assignments input {
  width: 100%;
  min-width: 0;
  height: 30px;
  border: 1px solid #31566f;
  border-radius: 6px;
  background: #0d1924;
  color: #edf8ff;
  padding: 4px 7px;
}
.rb-multi-body legend { padding: 0 4px; font-size: 11px; font-weight: 800; }
.rb-multi-body label { display: flex; align-items: center; gap: 6px; font-size: 11px; }
.rb-multi-body label:has(select) { display: grid; gap: 3px; }
.rb-multi-body select {
  width: 100%;
  height: 33px;
  border: 1px solid #31566f;
  border-radius: 6px;
  background: #0d1924;
  color: #edf8ff;
  padding: 4px 7px;
}
.rb-multi-body input { accent-color: #d12070; }
.rb-multi-warning {
  grid-column: 1 / -1;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid #8a6928;
  border-radius: 6px;
  background: rgba(138, 105, 40, .15);
  color: #ffe2a2;
  font-size: 11px;
}

.rb-code-summary,
.rb-code-field > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
}

.rb-code-summary span,
.rb-code-field label {
  border: 1px solid #29485d;
  border-radius: 6px;
  padding: 3px 5px;
}

.rb-code-field {
  border: 0;
  padding: 0;
}

.rb-code-field legend {
  margin-bottom: 3px;
  font-weight: 700;
  font-size: 12px;
}

.rb-code-field label {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 4px;
  min-height: 27px;
  font-size: 10px;
  line-height: 1.15;
}

.rb-code-field input {
  width: auto;
  accent-color: #d12070;
}

.admin-inline-status[data-status="error"] { color: #ff8d99; }
.admin-inline-status[data-status="success"] { color: #78e1a6; }

@media (max-width: 900px) {
  .rb-platform .admin-platform-nav { grid-template-columns: repeat(2, 1fr); }
  .rb-toolbar,
  .rb-form-grid,
  .rb-choice-actions,
  .rb-code-summary,
  .rb-code-field > div { grid-template-columns: 1fr; }
  .rb-wide { grid-column: auto; }
  .rb-selection-bar { align-items: stretch; flex-direction: column; }
}

@media (max-width: 1180px) {
  .rb-toolbar { grid-template-columns: minmax(180px, 1fr) minmax(140px, 1fr); }
  .rb-list { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
}

.rb-card-sizes { display: flex; flex-wrap: wrap; gap: 2px 10px; margin: 4px 0; color: #c2d0da; font-size: 11px; }
.rb-card-sizes span { display: inline-flex; gap: 4px; white-space: nowrap; }
.rb-card-codes { display: block; margin: 2px 0; color: #8ed7f4; }
.rb-sizes { padding: 12px; border: 1px solid #28526b; border-radius: 10px; }
.rb-size-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(110px,1fr) auto auto auto; gap: 8px; align-items: end; margin-bottom: 8px; }
.rb-size-row label { min-width: 0; }
.rb-size-row button { min-height: 38px; }
@media (max-width: 760px) {
  .rb-toolbar { grid-template-columns: 1fr; }
  .rb-list { grid-template-columns: 1fr; }
  .rb-multi-body,
  .rb-multi-body fieldset:first-of-type { grid-template-columns: 1fr; }
  .rb-size-row { grid-template-columns: 1fr 1fr; }
  .rb-size-row button { min-height: 34px; }
}
