/* Shared design tokens live in RbTokens.css. */

fieldset.rb-logo-upload { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--rb-border); border-radius: var(--rb-radius-md); min-width: 0; margin: 0; }
fieldset.rb-logo-upload legend { font-weight: 600; padding: 0 4px; }
fieldset.rb-logo-upload p { margin: 0; }
.rb-logo-upload-preview { display: block; max-width: 100%; width: auto; height: auto; max-height: 112px; object-fit: contain; justify-self: start; }
.rb-country-selection { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--rb-border); border-radius: var(--rb-radius-md); display: grid; gap: 12px; }
.rb-country-selection legend { padding: 0 6px; font-weight: 600; }
.rb-country-list { display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
.rb-country-list label { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: var(--rb-radius-sm); cursor: pointer; }
.rb-country-list label[hidden] { display: none; }
.rb-country-list label:hover { background: var(--rb-surface-soft); }
.rb-country-list input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 0; }
.rb-payment-methods { display: grid; gap: 10px; }
.rb-payment-methods > p { margin: 0; font-weight: 600; }
.rb-payment-method { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 12px; background: var(--rb-surface-soft); border-radius: var(--rb-radius-md); }

fieldset.rb-brand-color { min-width: 0; margin: 0; padding: 14px 16px; border: 1px solid var(--rb-border); border-radius: var(--rb-radius-md); display: grid; gap: 10px; }
fieldset.rb-brand-color legend { padding: 0 6px; font-weight: 600; }
fieldset.rb-brand-color label { display: flex; align-items: center; gap: 8px; }
fieldset.rb-brand-color input[type="color"] { width: 96px; height: 44px; padding: 4px; cursor: pointer; }
fieldset.rb-brand-color input[type="color"]:disabled { opacity: .45; cursor: default; }

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  font-family: var(--rb-font-sans);
  font-size: 100%;
  background: var(--rb-bg);
  color: var(--rb-text);
}

body {
  font-family: var(--rb-font-sans);
  font-size: var(--rb-font-size-base);
  line-height: 1.5;
  color: var(--rb-text);
  background: var(--rb-bg);
  letter-spacing: 0;
}

.rb-filter,
.rb-filter-pills,
.rb-active-filter-pills {
  display: flex;
  align-items: center;
  gap: 8px;
}

.rb-filter-pills,
.rb-active-filter-pills {
  flex-wrap: wrap;
}

.rb-filter-pill,
.rb-filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  max-width: 100%;
  padding: 0 13px;
  border: 1px solid var(--rb-border, #d9d9e3);
  border-radius: 999px;
  background: var(--rb-surface, #fff);
  color: var(--rb-text, #202123);
  font: inherit;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(16, 24, 40, .05);
  transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.rb-filter-pill:hover,
.rb-filter-chip:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--rb-accent, #10a37f) 28%, var(--rb-border, #d9d9e3));
  box-shadow: 0 14px 30px rgba(16, 24, 40, .08);
}

.rb-filter-pill.is-active,
.rb-filter-pill[aria-pressed="true"],
.rb-filter-pill[data-active="true"],
.rb-filter-chip {
  border-color: var(--rb-text, #202123);
  background: var(--rb-text, #202123);
  color: var(--rb-surface, #fff);
}

.rb-filter-pill small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 12%, transparent);
  font-size: .85em;
  font-weight: 900;
}

.rb-filter-chip button,
.rb-filter-chip .rb-filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0 -4px 0 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.rb-filter-chip i,
.rb-filter-pill i {
  font-size: .95em;
}

.rb-meta-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  min-width: 0;
}

.rb-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rb-muted);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

i.lni {
  margin-bottom: -2px !important;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

::selection {
  color: #fff;
  background: var(--rb-text);
}

:focus-visible {
  outline: 2px solid var(--rb-text);
  outline-offset: 2px;
}

.rb-page {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: var(--rb-space-6);
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--rb-space-5);
  color: var(--rb-text);
}

.rb-page--wide {
  max-width: 1440px;
}

.rb-page--fluid {
  width: 100%;
  max-width: none;
}

.rb-container { width: min(100%, 1280px); margin-inline: auto; padding-inline: 16px; }
.rb-container--public { max-width: 1240px; }
.rb-container--panel { max-width: 1280px; }
.rb-container--form { max-width: 640px; }
.rb-container--prose { max-width: 65ch; }
.rb-surface { background: var(--rb-surface-soft); border-radius: var(--rb-radius-lg); }

.rb-page-header,
.rb-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rb-space-4);
  flex-wrap: wrap;
}

.rb-page-title,
.rb-section-title {
  margin: 0;
  color: var(--rb-text);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.rb-page-title {
  font-size: 1.75rem;
}

.rb-section-title {
  font-size: 1.25rem;
}

.rb-kicker,
.rb-eyebrow {
  color: var(--rb-muted);
  font-size: 0.857em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.rb-muted,
.rb-help,
.rb-caption,
.rb-page-subtitle,
.rb-section-subtitle {
  color: var(--rb-muted);
}

.rb-page-subtitle,
.rb-section-subtitle {
  max-width: 880px;
  margin: var(--rb-space-2) 0 0;
  line-height: 1.6;
}

.rb-stack {
  display: flex;
  flex-direction: column;
  gap: var(--rb-space-4);
}

.rb-stack-sm {
  display: flex;
  flex-direction: column;
  gap: var(--rb-space-3);
}

.rb-data-list {
  display: grid;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rb-prose--plain-text {
  max-width: 72ch;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.65;
}

.rb-hidden {
  display: none;
}

.rb-pad-3 {
  padding: var(--rb-space-3);
}

.rb-pad-4 {
  padding: var(--rb-space-4);
}

.rb-pad-5 {
  padding: var(--rb-space-5);
}

.rb-pad-6 {
  padding: var(--rb-space-6);
}

.rb-mt-1 {
  margin-top: var(--rb-space-1);
}

.rb-mt-2 {
  margin-top: var(--rb-space-2);
}

.rb-mt-3 {
  margin-top: var(--rb-space-3);
}

.rb-mt-4 {
  margin-top: var(--rb-space-4);
}

.rb-mt-5 {
  margin-top: var(--rb-space-5);
}

.rb-mb-0 {
  margin-bottom: 0;
}

.rb-m-0 {
  margin: 0;
}

.rb-text-sm {
  font-size: 0.929em;
}

.rb-text-xs {
  font-size: 0.857em;
}

.rb-text-center {
  text-align: center;
}

.rb-text-lg {
  font-size: 1.286em;
}

.rb-text-xl {
  font-size: 2em;
}

.rb-weight-medium {
  font-weight: 600;
}

.rb-weight-bold {
  font-weight: 600;
}

.rb-surface-soft {
  background: var(--rb-surface-soft) !important;
}

.rb-full {
  width: 100%;
}

.rb-btn-fit {
  width: auto !important;
}

.rb-flex-1 {
  flex: 1;
  min-width: 0;
}

.rb-cluster {
  display: flex;
  align-items: center;
  gap: var(--rb-space-3);
  flex-wrap: wrap;
}

.rb-cluster-sm {
  display: flex;
  align-items: center;
  gap: var(--rb-space-2);
  flex-wrap: wrap;
}

.rb-split {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--rb-space-3);
  flex-wrap: wrap;
}

.rb-sidebar-grid {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: var(--rb-space-4);
}

.rb-grid-full {
  grid-column: 1 / -1;
}

.rb-inline-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.rb-stat-icon {
  flex: 1;
  font-size: 1.714em;
  color: var(--rb-muted);
}

.rb-stat-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
}

.rb-stat-value {
  margin: 0;
  font-size: 2em;
  font-weight: 600;
}

.rb-stat-label {
  margin: 0;
  color: var(--rb-muted);
}

.rb-auth-logo {
  width: auto;
  height: 79px;
  max-width: 280px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.rb-auth-logo-sm {
  width: auto;
  height: auto;
  max-width: 160px;
  max-height: 80px;
  object-fit: contain;
}

.rb-auth-shell {
  width: min(100%, 520px);
  margin: 24px auto;
  padding: 0 14px;
  min-height: calc(100vh - 48px);
  max-height: none;
  overflow: visible;
}

.rb-auth-shell--wide {
  width: min(100%, 1080px);
  min-height: auto;
  overflow: visible;
}

.rb-auth-shell--compact {
  width: min(100%, 760px);
}

.rb-auth-logo-row {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  width: 100%;
}

.rb-auth-journey {
  display: grid;
  gap: var(--rb-space-5);
  padding: clamp(12px, 2vw, 18px);
  min-height: 100%;
  max-height: none;
  overflow: visible;
}

.rb-auth-journey--login {
  gap: var(--rb-space-4);
}

.rb-auth-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: var(--rb-space-4);
  padding: clamp(20px, 4vw, 32px);
  border-radius: 32px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.9), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,0.95), rgba(242,245,247,0.9));
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 28px 60px rgba(15, 23, 42, 0.08);
}

.rb-auth-hero--login {
  grid-template-columns: minmax(0, 1fr);
}

.rb-auth-shell--login-admin {
  width: min(100%, 560px);
}

body.rb-login-shell-active {
  overflow: auto;
}

body.rb-login-shell-active .ui-menu,
body.rb-login-shell-active .header {
  opacity: 0;
  pointer-events: none;
}

body.rb-login-shell-active .container {
  min-height: 100vh;
}

.rb-auth-shell--login-admin .rb-auth-journey--login {
  gap: 16px;
  justify-items: center;
}

.rb-auth-hero-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.rb-auth-brand {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.rb-auth-brand--centered {
  justify-content: center;
  width: 100%;
}

.rb-auth-copy {
  display: grid;
  gap: var(--rb-space-3);
  align-content: start;
}

.rb-auth-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.06);
  color: #111827;
  font-size: 0.786em;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rb-auth-title {
  margin: 0;
  font-size: clamp(2.1em, 5vw, 3.2em);
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.rb-auth-subtitle {
  margin: 0;
  color: #5f6670;
  font-size: 1em;
  line-height: 1.65;
  max-width: 56ch;
}

.rb-auth-shell--login-admin .rb-auth-title {
  font-size: clamp(1.9em, 4vw, 2.6em);
  line-height: 1.08;
}

.rb-auth-shell--login-admin .rb-auth-subtitle {
  max-width: 62ch;
  color: #667085;
}

.rb-auth-progress {
  display: grid;
  align-content: start;
  gap: 10px;
}

.rb-auth-progress-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  background: rgba(255, 255, 255, 0.78);
  color: #5f6670;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.rb-auth-progress-item[data-state="active"] {
  border-color: rgba(17, 24, 39, 0.18);
  background: #111827;
  color: #fff;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.15);
  transform: translateY(-1px);
}

.rb-auth-progress-item[data-state="done"] {
  color: #111827;
  background: rgba(255,255,255,0.92);
}

.rb-auth-progress-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.08);
  font-weight: 900;
}

.rb-auth-progress-item[data-state="active"] .rb-auth-progress-index {
  background: rgba(255,255,255,0.14);
}

.rb-auth-panel {
  display: grid;
  gap: var(--rb-space-4);
}

.rb-auth-panel--split {
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
}

.rb-auth-panel--single {
  grid-template-columns: minmax(0, 1fr);
}

.rb-auth-sidebar {
  display: grid;
  gap: var(--rb-space-3);
  align-content: start;
}

.rb-auth-sidebar-card,
.rb-auth-card,
.rb-auth-section-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 24px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
}

.rb-auth-sidebar-card {
  padding: 20px;
}

.rb-auth-sidebar-card--muted {
  background: linear-gradient(180deg, rgba(247,248,250,0.98), rgba(241,244,246,0.95));
}

.rb-auth-sidebar-title {
  margin: 10px 0 0;
  font-size: 1.4em;
  line-height: 1.15;
}

.rb-auth-sidebar-title--small {
  margin-top: 0;
  font-size: 1.1em;
}

.rb-auth-sidebar-text {
  margin: 8px 0 0;
  color: #5f6670;
  line-height: 1.6;
}

.rb-auth-card {
  padding: clamp(20px, 3vw, 30px);
  display: grid;
  gap: var(--rb-space-4);
  align-content: start;
}

.rb-auth-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 0;
}

.rb-auth-card-header-copy {
  display: grid;
  gap: 6px;
}

.rb-auth-card-eyebrow {
  color: #667085;
  font-size: 0.786em;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rb-auth-card-title {
  margin: 0;
  color: #101828;
  font-size: 1.429em;
  line-height: 1.15;
}

.rb-auth-card-text {
  margin: 0;
  color: #667085;
  line-height: 1.6;
}

.rb-auth-flow-state,
.rb-auth-activation {
  display: grid;
  gap: 12px;
}

.rb-auth-shell [hidden] {
  display: none !important;
}

.rb-auth-section-card--soft {
  padding: 16px 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(247,248,250,0.98), rgba(241,244,246,0.95));
}

.rb-auth-muted-copy {
  margin: 6px 0 0;
  color: #5f6670;
  line-height: 1.6;
}

.rb-status-page {
  display: grid;
  gap: clamp(16px, 2.6vw, 24px);
  min-height: auto;
  overflow: visible;
  padding: clamp(10px, 2vw, 18px);
}

.rb-status-brand {
  display: flex;
  justify-content: center;
  margin-bottom: 2px;
}

.rb-status-hero {
  display: grid;
  align-items: center;
  gap: clamp(16px, 2.4vw, 26px);
  justify-items: center;
  min-height: auto;
  overflow: visible;
  padding: clamp(28px, 4vw, 52px) clamp(18px, 3vw, 40px);
  border-radius: 34px;
  border: 1px solid rgba(36, 58, 64, 0.1);
  background: linear-gradient(180deg, #c9e2db 0%, #bddad2 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.rb-status-page--error .rb-status-hero,
.rb-status-page--maintenance .rb-status-hero {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.rb-status-page--error .rb-status-hero::after,
.rb-status-page--maintenance .rb-status-hero::after {
  background: transparent;
}

.rb-status-hero--construction {
  background: linear-gradient(180deg, #cfe0d8 0%, #c4d8d0 100%);
}

.rb-status-copy {
  display: grid;
  gap: 14px;
  align-content: start;
  justify-items: center;
  margin: 0 auto;
  max-width: 760px;
  text-align: center;
}

.rb-status-code-wrap {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.rb-status-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(19, 36, 44, 0.12);
  color: #314962;
  font-size: 0.92em;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.rb-status-kicker-pill,
.rb-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.32);
  color: #4c5e74;
  font-size: 0.8em;
  font-weight: 600;
}

.rb-status-kicker-pill {
  background: rgba(255, 255, 255, 0.44);
  color: #5f6ca5;
}

.rb-status-hero--construction .rb-status-kicker-pill {
  color: #a06331;
}

.rb-status-chip--soft {
  background: rgba(255, 255, 255, 0.54);
}

.rb-status-title {
  margin: 0;
  color: #5c69a8;
  font-size: clamp(2em, 4.4vw, 3em);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.rb-status-hero--construction .rb-status-title {
  color: #a1602e;
}

.rb-status-text {
  margin: 0;
  max-width: 76ch;
  color: rgba(78, 96, 113, 0.92);
  font-size: 1em;
  line-height: 1.7;
}

.rb-status-hero--construction .rb-status-text {
  color: rgba(118, 96, 74, 0.96);
}

.rb-status-inline,
.rb-status-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.rb-status-actions .btn,
.rb-maintenance-modal-actions .btn {
  min-width: 148px;
}

.rb-status-actions .btn.btn-dark,
.rb-maintenance-actions .btn.btn-dark,
.rb-maintenance-modal-actions .btn.btn-dark {
  background: #111827 !important;
  color: #fff !important;
}

#maintenanceLoginModal #loginBtn {
  background: #111827 !important;
  color: #fff !important;
}

.rb-status-actions .btn:hover,
.rb-maintenance-modal-actions .btn:hover {
  transform: translateY(-1px);
}

.rb-status-actions .btn:not(.btn-dark),
.rb-maintenance-actions .btn:not(.btn-dark),
.rb-maintenance-modal-actions .btn:not(.btn-dark) {
  background: rgba(255, 255, 255, 0.82) !important;
  color: #111827 !important;
  border: 1px solid rgba(17, 24, 39, 0.08);
}

#maintenanceLoginModal #loginBtn:hover {
  background: #1f2937 !important;
}

.rb-status-scene {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 8px 0 4px;
  width: 100%;
}

.rb-status-art {
  width: min(100%, 430px);
  height: auto;
  object-fit: contain;
  filter: grayscale(0.32) saturate(0.58) contrast(0.96) brightness(0.98);
}

.rb-status-art--astronaut {
  transform: translateY(2px);
}

.rb-status-art--construction {
  width: min(100%, 340px);
}

.rb-status-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 auto;
  max-width: 760px;
}

.rb-status-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(53, 78, 86, 0.08);
  background: rgba(255, 255, 255, 0.34);
  box-shadow: none;
}

.rb-status-page--error .rb-status-card,
.rb-status-page--maintenance .rb-status-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.rb-status-card-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.4);
  color: #445466;
  font-size: 0.786em;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rb-status-card-title {
  margin: 0;
  color: #34495e;
  font-size: 1.05em;
  line-height: 1.22;
}

.rb-status-card-copy {
  margin: 0;
  color: rgba(66, 80, 95, 0.9);
  line-height: 1.65;
}

.rb-status-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 18px;
  color: rgba(66, 80, 95, 0.94);
  line-height: 1.65;
}

.rb-maintenance-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(10px);
}

.rb-maintenance-modal-card {
  width: min(100%, 480px);
  display: grid;
  gap: 16px;
  padding: clamp(22px, 4vw, 30px);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 26px 64px rgba(15, 23, 42, 0.2);
}

.rb-maintenance-modal-title {
  margin: 0;
}

.rb-maintenance-modal-copy {
  margin: 0;
  color: #5f6670;
  line-height: 1.65;
}

.rb-maintenance-form {
  display: grid;
  gap: 14px;
}

.rb-maintenance-modal-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.rb-auth-code-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px 16px;
  border-radius: 18px;
  background: #111827;
  color: #fff;
  font-family: var(--rb-font-mono);
  font-size: 1.286em;
  letter-spacing: 0.22em;
  font-weight: 600;
}

.rb-auth-fields {
  display: grid;
  gap: var(--rb-space-4);
}

.rb-auth-fields--tight {
  gap: var(--rb-space-3);
}

.rb-auth-register-skeleton,
.rb-auth-register-skeleton-stack,
.rb-auth-register-skeleton-fields {
  display: grid;
  gap: 12px;
}

.rb-auth-register-skeleton-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rb-auth-register-skeleton .rb-auth-register-skeleton__line--title { width: 34%; }
.rb-auth-register-skeleton .rb-auth-register-skeleton__line--hint { width: 72%; }
.rb-auth-register-skeleton .rb-auth-register-skeleton__line--hint-last { width: 58%; }

.rb-auth-register-skeleton-fields .rb-auth-skeleton-field {
  display: block;
  min-height: 54px;
  border-radius: 18px;
}

.rb-auth-skeleton-field--wide {
  grid-column: 1 / -1;
}

.rb-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rb-space-3);
}

.rb-auth-grid > .rb-field--full {
  grid-column: 1 / -1;
}

.rb-auth-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rb-space-3);
  flex-wrap: wrap;
}

.rb-auth-actions--inline {
  justify-content: flex-start;
}

.rb-auth-footer {
  display: flex;
  justify-content: center;
  color: #5f6670;
}

.rb-auth-footer a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.rb-auth-helper {
  color: #5f6670;
  font-size: 0.857em;
  line-height: 1.5;
}

.rb-auth-status {
  font-size: 0.857em;
  line-height: 1.5;
  color: #5f6670;
}

.rb-auth-status[data-loading="true"] {
  min-height: 16px;
  width: min(220px, 75%);
  border-radius: 999px;
}

.rb-auth-status[data-tone] {
  border-radius: var(--rb-radius-md, 8px);
  background: var(--rb-surface-muted);
  color: var(--rb-text);
}

.rb-auth-inline-feedback {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--rb-radius-md, 8px);
  border: 0;
  background: var(--rb-surface-muted);
  color: var(--rb-text);
  line-height: 1.55;
}

.rb-auth-inline-feedback[hidden],
.rb-auth-inline-feedback:empty {
  display: none !important;
}

.rb-auth-inline-feedback[data-tone="danger"],
.rb-auth-inline-feedback[data-tone="warning"] { font-weight: 600; }

.rb-auth-inline-feedback.is-loading::before,
.rb-auth-button-busy::before,
.rb-auth-modal-busy::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 999px;
  border: 2px solid rgba(17, 24, 39, 0.14);
  border-top-color: currentColor;
  animation: rb-auth-spin 0.8s linear infinite;
}

.rb-auth-button-busy,
.rb-auth-modal-busy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.rb-auth-modal-feedback {
  margin: 0 0 14px;
}

.rb-auth-code-caption {
  margin: 10px 0 0;
  color: #5f6670;
  font-size: 0.857em;
  line-height: 1.55;
}

.rb-auth-code-grid input[aria-invalid="true"] {
  border-color: var(--rb-focus, #171717);
  box-shadow: 0 0 0 2px var(--rb-accent-soft, rgba(23, 23, 23, .08));
}

.rb-auth-trust-copy {
  margin: 0 0 14px;
  color: #5f6670;
  font-size: 0.857em;
  line-height: 1.6;
}

.rb-auth-provider-stack {
  display: grid;
  gap: 10px;
}

.rb-auth-provider-row {
  display: grid;
  gap: 10px;
}

.rb-auth-shell--login-admin .rb-auth-provider-row {
  gap: 12px;
}

.rb-auth-provider-button {
  justify-content: flex-start;
  min-height: 50px;
  border-radius: 16px;
  font-weight: 600;
}

.rb-auth-shell--login-admin .rb-auth-provider-button {
  min-height: 56px;
  padding: 14px 16px;
  border-color: transparent;
  background: #f8fafc;
  box-shadow: none;
}

.rb-auth-provider-button strong {
  flex: 1;
  text-align: left;
}

.rb-auth-provider-button small {
  color: #667085;
  font-weight: 600;
}

.rb-auth-provider-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #8b94a1;
  font-size: 0.786em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rb-auth-provider-divider::before,
.rb-auth-provider-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(17, 24, 39, 0.1);
}

.rb-auth-modal-copy {
  color: #5f6670;
  line-height: 1.6;
  margin: 0 0 14px;
}

.rb-code-input {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: nowrap;
  width: min(100%, 304px);
  margin-inline: auto;
}

.rb-code-input .rb-code-input__digit {
  flex: 1 1 0;
  width: min(44px, 100%);
  min-width: 0;
  min-height: 48px;
  padding: 0;
  text-align: center;
  font-size: 1.143em;
  font-weight: 600;
}

.rb-auth-login-hint {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, #f8fafb, #f3f5f7);
  border: 1px solid rgba(17, 24, 39, 0.08);
}

.rb-auth-login-hint h3,
.rb-auth-login-hint p {
  margin: 0;
}

.rb-auth-login-hint h3 {
  font-size: 1.2em;
}

.rb-auth-login-hint p {
  color: #5f6670;
  line-height: 1.6;
}

@keyframes rb-auth-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.rb-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rb-space-3);
}

.rb-scroll-panel {
  max-height: 520px;
  overflow: auto;
}

.rb-scroll-sm {
  max-height: 280px;
  overflow: auto;
}

.rb-choice-card {
  display: flex;
  flex-direction: column;
  gap: var(--rb-space-2);
  padding: var(--rb-space-2);
  margin: var(--rb-space-1);
  border: 1px solid var(--rb-border-soft);
  border-radius: var(--rb-radius-sm);
  background: var(--rb-surface);
  cursor: pointer;
}

.rb-chip-block {
  padding: 10px 8px;
  border-radius: var(--rb-radius-sm);
  background: var(--rb-surface-soft);
  color: var(--rb-text);
  font-size: 0.786em;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.rb-avatar-placeholder {
  width: 45px;
  height: 45px;
  margin-right: 10px;
  border: 2px solid var(--rb-border-soft);
  border-radius: 999px;
  background: var(--rb-surface-muted);
}

.rb-min-220 {
  min-width: 220px;
}

.rb-min-h-90 {
  min-height: 90px;
}

.rb-min-h-190 {
  min-height: 190px;
}

.rb-icon-inline {
  width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.rb-clickable {
  position: relative;
  cursor: pointer;
}

.rb-center {
  justify-content: center;
}

.rb-row,
.rb-toolbar,
.rb-actions {
  display: flex;
  align-items: center;
  gap: var(--rb-space-3);
  flex-wrap: wrap;
}

.rb-toolbar {
  justify-content: space-between;
}

.rb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: var(--rb-space-4);
  width: 100%;
}

.rb-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rb-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rb-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rb-grid--sidebar {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.rb-card,
.card,
.panel,
.sheet,
.dialog {
  background: var(--rb-surface) !important;
  border: 0 !important;
  border-radius: var(--rb-radius-lg) !important;
  box-shadow: none !important;
  color: var(--rb-text);
}

.dialog { box-shadow: var(--rb-shadow-lg) !important; }

.rb-card {
  padding: var(--rb-space-5);
}

.rb-card--soft,
.card.alt,
.panel.alt {
  background: var(--rb-surface-soft) !important;
}

.rb-card--compact {
  padding: var(--rb-space-4);
}

.rb-page-updated-dialog { width: min(440px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: var(--rb-radius-xl); background: var(--rb-surface); color: var(--rb-text); box-shadow: var(--rb-shadow-lg); font-family: var(--rb-font-sans, 'Plus Jakarta Sans', system-ui, sans-serif); }
.rb-page-updated-dialog::backdrop { background: rgba(23, 23, 23, .42); }
.rb-page-updated-dialog__body { display: grid; gap: 14px; padding: clamp(20px, 5vw, 30px); }
.rb-page-updated-dialog__body h2 { margin: 0; font-size: clamp(20px, 4vw, 25px); line-height: 1.25; font-weight: 600; }
.rb-page-updated-dialog__body p { margin: 0; line-height: 1.55; overflow-wrap: anywhere; }
.rb-page-updated-dialog__body > p:not(.rb-kicker) { color: var(--rb-muted); }
.rb-page-updated-dialog__status:empty { display: none; }
.rb-page-updated-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 6px; }
.rb-page-updated-dialog__actions .rb-btn { min-height: 44px; }
.rb-page-updated-dialog button:focus-visible { outline: 2px solid var(--rb-text); outline-offset: 2px; }
@media (max-width: 480px) { .rb-page-updated-dialog__actions { display: grid; grid-template-columns: 1fr; } .rb-page-updated-dialog__actions .rb-btn { width: 100%; } }
.rb-auth-sso-approve__form { display: grid; gap: 16px; }
.rb-auth-sso-approve__form .rb-field { min-width: 0; }
.rb-auth-sso-approve__form .rb-input { width: 100%; min-width: 0; }
.rb-auth-sso-approve__form .rb-field__hint { margin: -8px 0 0; line-height: 1.5; }
.rb-auth-sso-approve__status { min-height: 1.5em; margin: 0; color: var(--rb-muted); line-height: 1.5; overflow-wrap: anywhere; }
.rb-auth-sso-approve__form .rb-form-actions { margin-top: 0; }
.rb-dialog {
  box-sizing: border-box;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: var(--rb-radius-lg);
  background: var(--rb-surface);
  color: var(--rb-text);
  font-family: var(--rb-font-sans);
  box-shadow: var(--rb-shadow-lg);
}
.rb-dialog::backdrop { background: rgba(23, 23, 23, .42); }
.rb-dialog__title { margin: 0; font-size: 1.4rem; font-weight: 600; line-height: 1.3; }
.rb-dialog__body { margin: 16px 0 0; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.rb-dialog__actions { display: flex; justify-content: end; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.rb-dialog :focus-visible { outline: 2px solid var(--rb-focus, #171717); outline-offset: 2px; }
@media (max-width: 767px) {
  .rb-dialog { padding: 22px; }
  .rb-dialog__actions { flex-direction: column; }
  .rb-dialog__actions .rb-btn { width: 100%; min-height: 44px; }
  .rb-dialog__actions .rb-btn--primary { order: -1; }
}
@media (forced-colors: active) {
  .rb-dialog { border: 1px solid CanvasText; box-shadow: none; }
}
.modal-overlay.rb-dialog-overlay {
  position: fixed;
  inset: 0;
  width: auto;
  height: auto;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(23, 23, 23, .4);
  backdrop-filter: none;
  z-index: 1000010;
}
.modal-box.rb-dialog__panel {
  box-sizing: border-box;
  width: min(520px, 100%);
  max-width: 520px;
  max-height: calc(100dvh - 32px);
  margin: 0;
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: var(--rb-radius-xl, 16px);
  background: var(--rb-surface, #fff);
  color: var(--rb-text, #171717);
  box-shadow: var(--rb-shadow-lg, 0 24px 60px rgba(23, 23, 23, .12));
  font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif);
  animation: none;
}
.rb-dialog .rb-dialog__title {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  color: var(--rb-text, #171717);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.rb-dialog .rb-dialog__message {
  color: var(--rb-muted, #595959);
  font-size: 14px;
  line-height: 1.55;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.rb-dialog .rb-dialog__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  margin-top: 14px;
  padding: 0 12px;
  border: 1px solid var(--rb-border-input, #8a8a8a);
  border-radius: var(--rb-radius-md, 8px);
  font-size: 14px;
  outline-offset: 2px;
}
.rb-dialog .rb-dialog__input:focus { border-color: var(--rb-focus, #171717); }
.rb-dialog .rb-dialog__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.rb-dialog .rb-dialog__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 0;
  border-radius: var(--rb-radius-md, 8px);
  font: 600 14px var(--rb-font-sans, "Plus Jakarta Sans", sans-serif);
  cursor: pointer;
  user-select: none;
}
.rb-dialog .rb-dialog__button:focus-visible { outline: 2px solid var(--rb-focus, #171717); outline-offset: 3px; }
.rb-dialog .rb-dialog__button i { display: inline-flex; align-items: center; justify-content: center; margin-right: 8px; font-size: 13px; line-height: 1; }
.rb-dialog .rb-dialog__code-row {
  display: grid;
  grid-template-columns: repeat(var(--modal-code-length, 6), minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 304px);
  margin: 16px auto 0;
}
.rb-dialog .rb-dialog__code-digit {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  min-height: 48px;
  border: 1px solid var(--rb-border-input, #8a8a8a);
  border-radius: var(--rb-radius-md, 8px);
  background: var(--rb-surface, #fff);
  color: var(--rb-text, #171717);
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  outline-offset: 2px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.rb-dialog .rb-dialog__code-digit:focus { border-color: var(--rb-focus, #171717); box-shadow: 0 0 0 2px var(--rb-accent-soft, rgba(23, 23, 23, .08)); }
.rb-dialog .rb-dialog__error { display: none; margin-top: 8px; color: var(--rb-text, #171717); font-size: 13px; font-weight: 500; }
.rb-dialog .rb-dialog__action-error:not([hidden]) { display: block; padding: 10px 12px; border-radius: var(--rb-radius-sm); background: var(--rb-surface-muted); overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .rb-dialog .rb-dialog__actions { flex-direction: column; }
  .rb-dialog .rb-dialog__actions .rb-dialog__button { width: 100%; }
  .rb-dialog .rb-dialog__actions .rb-btn--primary { order: -1; }
}
@media (forced-colors: active) {
  .modal-box.rb-dialog__panel { border: 1px solid CanvasText; box-shadow: none; }
}
.rb-payment-choice-dialog { width: min(680px, calc(100vw - 32px)); max-width: 680px; }
.rb-payment-choice-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.rb-payment-choice {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 96px;
  padding: 16px;
  border: 0;
  border-radius: var(--rb-radius-lg, 14px);
  background: var(--rb-surface-soft, #f7f7f7);
  color: var(--rb-text, #171717);
  font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif);
  text-align: left;
  cursor: pointer;
}
.rb-payment-choice:hover:not(:disabled) { background: var(--rb-surface-muted, #eee); }
.rb-payment-choice:focus-visible { outline: 2px solid var(--rb-focus, #171717); outline-offset: 2px; }
.rb-payment-choice:disabled { opacity: .55; cursor: not-allowed; }
.rb-payment-choice__icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 18px; }
.rb-payment-choice__body { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.rb-payment-choice__heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.rb-payment-choice__title { font-size: 15px; font-weight: 600; line-height: 1.4; }
.rb-payment-choice__badge { font-size: 11px; }
.rb-payment-choice__description { color: var(--rb-muted, #595959); font-size: 12px; line-height: 1.5; }
.rb-payment-choice__meta { font-size: 12px; font-weight: 600; line-height: 1.45; }
.rb-payment-choice__empty { grid-column: 1 / -1; margin: 0; color: var(--rb-muted, #595959); line-height: 1.55; }
@media (max-width: 767px) { .rb-payment-choice-list { grid-template-columns: minmax(0, 1fr); } }
@media (forced-colors: active) { .rb-payment-choice { border: 1px solid CanvasText; } }
.rb-access-lock { display: grid; gap: 12px; min-width: 0; padding: 24px 0; color: var(--rb-muted, #666); font-size: 14px; line-height: 1.55; }
.rb-empty-page { box-sizing: border-box; display: grid; align-content: start; gap: 12px; width: min(100%, 1280px); min-width: 0; margin: 0 auto; padding: 56px 40px 72px; color: var(--rb-text, #171717); font-family: var(--rb-font-sans, "Plus Jakarta Sans", system-ui, sans-serif); }
.rb-empty-page__eyebrow { margin: 0; color: var(--rb-muted, #595959); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rb-empty-page h1 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -.035em; overflow-wrap: anywhere; }
.rb-empty-page :is(.rb-empty-page__description, .rb-empty-page__hint) { max-width: 65ch; margin: 0; color: var(--rb-muted, #595959); line-height: 1.6; overflow-wrap: anywhere; }
@media (max-width: 1023px) { .rb-empty-page { padding-inline: 24px; } }
@media (max-width: 640px) { .rb-empty-page { padding: 40px 16px 56px; } }
.rb-access-lock h2 { margin: 0; color: var(--rb-text, #171717); font-size: 21px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.rb-access-lock p { margin: 0; max-width: 65ch; }
.rb-access-lock h3 { margin: 14px 0 0; color: var(--rb-text, #171717); font-size: 15px; font-weight: 600; }
.rb-access-lock__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.rb-access-lock__actions .rb-btn, .rb-access-lock__task .rb-btn { min-height: 44px; }
.rb-access-lock__tasks { display: grid; min-width: 0; }
.rb-access-lock__task { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-width: 0; padding: 14px 0; border-bottom: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-access-lock__task > div { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.rb-access-lock__task strong { color: var(--rb-text, #171717); }
.rb-access-lock__task span { font-size: 13px; }
@media (max-width: 680px) { .rb-access-lock__actions, .rb-access-lock__actions .rb-btn { width: 100%; } .rb-access-lock__task { align-items: stretch; flex-direction: column; } .rb-access-lock__task .rb-btn { width: 100%; } }
.rb-card--interactive,
a.rb-card,
a.card {
  text-decoration: none;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.rb-card--interactive:hover,
a.rb-card:hover,
a.card:hover {
  background: var(--rb-surface-soft) !important;
}

.rb-code-panel,
pre,
code {
  font-family: var(--rb-font-mono);
}

.rb-code-panel {
  padding: var(--rb-space-4);
  overflow: auto;
  border-radius: var(--rb-radius-md);
  background: #202123;
  color: #f7f7f8;
  line-height: 1.6;
  font-size: 0.857em;
}

.rb-empty,
.rubion-empty-state {
  padding: var(--rb-space-6) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rb-muted);
  text-align: left;
}

.rb-tabs,
[data-rubion-tabs],
.rubion-tabs {
  display: inline-flex;
  gap: var(--rb-space-1);
  padding: var(--rb-space-1);
  max-width: 100%;
  overflow-x: auto;
  border: 0;
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface-soft);
  scrollbar-width: thin;
}

.rb-tabs .btn,
.rb-tabs button,
[data-rubion-tabs] .btn,
.rubion-tabs .btn {
  min-height: 44px;
  border-radius: var(--rb-radius-sm);
  background: transparent !important;
  flex: 0 0 auto;
}

.rb-tabs .is-active,
.rb-tabs .active,
[data-rubion-tabs] .is-active,
.rubion-tabs .is-active {
  background: var(--rb-surface) !important;
  color: var(--rb-text) !important;
  box-shadow: var(--rb-shadow-sm);
}

.rb-auth-shell--login-admin .rb-auth-card {
  border-radius: 20px;
  border-color: transparent;
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.06);
  background: rgba(255, 255, 255, 0.98);
}

.rb-auth-card--login-slim {
  width: min(100%, 420px);
  margin: 0 auto;
  height: auto;
  min-height: 0;
  align-self: start;
  gap: 14px;
  padding: 24px 22px;
}

.rb-auth-passkey-entry {
  display: grid;
  gap: 10px;
}

.rb-auth-passkey-button {
  min-height: 50px;
  justify-content: center;
  align-items: center;
  padding: 12px 16px;
  border-radius: 16px;
  text-align: center;
  gap: 10px;
}

.rb-auth-passkey-button span,
.rb-auth-passkey-button strong {
  display: block;
  font-weight: 600;
}

.rb-auth-passkey-icon {
  font-size: 1.05em;
  line-height: 1;
}

.rb-auth-shell--login-admin .rb-auth-actions {
  padding-top: 6px;
}

.rb-auth-provider-stack--after-passkey {
  margin-top: 2px;
}

.rb-field {
  display: flex;
  flex-direction: column;
  gap: var(--rb-space-2);
}

.rb-check {
  display: inline-flex;
  align-items: center;
  gap: var(--rb-space-2);
  min-height: 44px;
  color: var(--rb-text);
  font-size: .875rem;
  line-height: 1.5;
  cursor: pointer;
}

.rb-check > input[type="checkbox"] {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--rb-accent);
}

.rb-form {
  display: grid;
  gap: var(--rb-space-6);
  min-width: 0;
}

.rb-form__section {
  display: grid;
  gap: var(--rb-space-4);
  min-width: 0;
}

.rb-form__summary {
  padding: var(--rb-space-4);
  border: 0;
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface-soft);
  color: var(--rb-text);
  line-height: 1.5;
}

.rb-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--rb-space-3);
}

.rb-field__label {
  color: var(--rb-text);
  font-size: .875rem;
  font-weight: 600;
}
.rb-admin-generated-field { display: grid; align-content: start; gap: 6px; min-width: 0; }

.rb-field__hint,
.rb-field__error {
  font-size: .8125rem;
  line-height: 1.5;
}

.rb-field__hint { color: var(--rb-muted); }
.rb-field__error { color: var(--rb-text); }
.rb-auth-required-note { margin: 0; }

.rb-input,
.rb-select,
.rb-textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--rb-border-input);
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface);
  color: var(--rb-text);
  font: inherit;
}

.rb-textarea--code {
  min-height: 120px;
  resize: vertical;
  font-family: var(--rb-font-mono, Consolas, monospace);
}

.rb-input:focus-visible,
.rb-select:focus-visible,
.rb-textarea:focus-visible {
  outline: 2px solid var(--rb-accent);
  outline-offset: 2px;
}

.rb-input[aria-invalid="true"],
.rb-select[aria-invalid="true"],
.rb-textarea[aria-invalid="true"] {
  border-color: var(--rb-text);
}

.rb-input:disabled,
.rb-select:disabled,
.rb-textarea:disabled {
  background: var(--rb-surface-soft);
  color: var(--rb-muted);
  cursor: not-allowed;
}

.rb-notice {
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--rb-radius-md, 10px);
  background: var(--rb-surface-soft, #f5f5f5);
  color: var(--rb-text, #171717);
  line-height: 1.5;
}

.rb-notice[hidden],
.rb-notice:empty { display: none; }
.rb-notice__body { max-width: 72ch; }
.rb-notice__actions { display: flex; flex-wrap: wrap; gap: var(--rb-space-2, 8px); margin-top: var(--rb-space-3, 12px); }

@media (max-width: 640px) {
  .rb-form-actions > :is(button, a) { flex: 1 1 100%; }
}

.rb-field label,
label.rb-label {
  color: var(--rb-muted);
  font-size: 0.857em;
  font-weight: 600;
}

.rb-auth-shell--login-admin .rb-field > span {
  color: #344054;
  font-size: 0.857em;
  font-weight: 600;
}

.rb-auth-helper-text {
  color: #98a2b3;
  font-size: 0.786em;
  line-height: 1.55;
}

.rb-auth-shell--login-admin input {
  min-height: 46px;
  border-color: transparent;
  border-radius: 12px;
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.rb-auth-shell--login-admin input::placeholder {
  color: #98a2b3;
}

.rb-auth-shell--login-admin .rb-auth-footer {
  text-align: center;
  padding-top: 4px;
}

.rb-auth-transition {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(241, 245, 249, 0.58);
  backdrop-filter: blur(18px);
}

.rb-auth-transition[hidden] {
  display: none !important;
}

.rb-auth-transition-card {
  width: min(460px, 100%);
  display: grid;
  gap: 18px;
  justify-items: center;
  padding: 30px 26px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.34);
  box-shadow: none;
  text-align: center;
}

.rb-auth-transition-spinner {
  width: 38px;
  height: 38px;
  margin: 0 auto;
  border-radius: 999px;
  border: 3px solid rgba(17, 24, 39, 0.12);
  border-top-color: #111827;
  animation: rb-auth-spin 0.8s linear infinite;
}

.rb-auth-transition-copy {
  display: grid;
  gap: 10px;
  justify-items: center;
}

.rb-auth-transition-copy strong {
  font-size: clamp(1.28em, 2vw, 1.5em);
  color: #111827;
  letter-spacing: -0.02em;
  animation: rb-auth-transition-rise 420ms ease;
}

.rb-auth-transition-copy p {
  margin: 0;
  color: #4b5563;
  font-size: 1em;
  line-height: 1.65;
}

.rb-auth-transition-copy p.is-animating {
  animation: rb-auth-transition-message 420ms ease;
}

@keyframes rb-auth-transition-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rb-auth-transition-message {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

input,
select,
textarea {
  color: var(--rb-text);
  background: var(--rb-surface);
  border: 1px solid var(--rb-border-input);
  border-radius: var(--rb-radius-md);
  min-height: 44px;
  padding: 9px 12px;
  outline: none;
  transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

textarea {
  min-height: 112px;
  resize: vertical;
  line-height: 1.5;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--rb-text);
  box-shadow: none;
}

input::placeholder,
textarea::placeholder {
  color: var(--rb-subtle);
}

.btn,
button.btn,
a.btn,
.rb-btn,
button.rb-btn,
a.rb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rb-space-2);
  width: auto;
  min-height: 44px;
  min-width: 0;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface);
  color: var(--rb-text);
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.rb-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--rb-radius-sm);
  background: transparent;
  color: var(--rb-text);
  font: inherit;
  cursor: pointer;
}
.rb-icon-button:hover { background: var(--rb-surface-muted); }
.rb-icon-button:disabled { opacity: .48; cursor: not-allowed; }

body .header .actionButtons .btn-notify.rb-icon-button {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--rb-radius-md);
  background: transparent;
  color: var(--rb-text);
}
body .header .actionButtons .btn-notify.rb-icon-button:hover {
  background: var(--rb-surface-soft);
}
body .header .actionButtons .btn-notify.rb-icon-button:focus-visible {
  outline: 2px solid var(--rb-focus);
  outline-offset: 2px;
}
body .header .actionButtons .btn-notify.rb-icon-button .badge {
  position: absolute;
  top: -4px;
  right: -4px;
  box-sizing: border-box;
  min-width: 18px;
  min-height: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--rb-text);
  color: var(--rb-surface);
  font-size: 11px;
  line-height: 1;
}
body.layout-dark .header .actionButtons .btn-notify.rb-icon-button { color: #e7eaf0; }
body.layout-dark .header .actionButtons .btn-notify.rb-icon-button:hover { background: #252a33; }
body.layout-dark .header .actionButtons .btn-notify.rb-icon-button .badge {
  background: #e7eaf0;
  color: #171a21;
}

.header .actionButtons .rb-notification-popover {
  box-sizing: border-box;
  position: absolute;
  z-index: 9999;
  top: calc(100% + 10px);
  right: 0;
  display: none;
  flex-direction: column;
  width: min(380px, calc(100vw - 40px));
  max-height: min(560px, calc(100dvh - 80px));
  overflow: hidden;
  border: 1px solid var(--rb-border-soft);
  border-radius: var(--rb-radius-lg);
  background: var(--rb-surface);
  box-shadow: var(--rb-shadow-lg);
  color: var(--rb-text);
  font-family: var(--rb-font-sans);
}
body.layout-dark .header .actionButtons .rb-notification-popover {
  --rb-surface: #171a21;
  --rb-surface-soft: #20242c;
  --rb-surface-muted: #2c323c;
  --rb-text: #e7eaf0;
  --rb-muted: #acb4c2;
  --rb-border-soft: rgba(255, 255, 255, .12);
  --rb-focus: #e7eaf0;
}

.rb-notification-popover__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex: 0 0 auto;
  padding: 14px;
}

.rb-notification-popover__title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.rb-notification-popover__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rb-notification-popover__header-actions .rb-btn {
  min-height: 44px;
  padding: 8px 10px;
  font-size: 12px;
}
.rb-notification-popover__header-actions .rb-btn:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.rb-notification-popover__list {
  display: grid;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.rb-notification-popover__empty {
  padding: 18px 14px;
  color: var(--rb-muted);
  font-size: 14px;
  line-height: 1.5;
}
.rb-notification-popover__retry {
  align-self: flex-start;
  min-height: 44px;
  margin: 0 14px 14px;
}

.rb-notification-popover__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  padding: 12px 14px;
  border-top: 1px solid var(--rb-border-soft);
  background: var(--rb-surface);
}
.rb-notification-popover__item.unread {
  background: var(--rb-surface-soft);
}
.rb-notification-popover__item .notification-link {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}
.rb-notification-popover__item .notification-link:hover .notification-text {
  text-decoration: underline;
}
.rb-notification-popover__item .notification-main {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  width: 100%;
}
.rb-notification-popover__item :is(.notification-avatar, .notification-icon) {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.rb-notification-popover__item .notification-avatar { object-fit: cover; }
.rb-notification-popover__item .notification-icon {
  background: var(--rb-surface-muted);
  color: var(--rb-text);
}
.rb-notification-popover__item .notification-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.rb-notification-popover__item .notification-text {
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.5;
}
.rb-notification-popover__item.unread .notification-text { font-weight: 600; }
.rb-notification-popover__item .notification-time {
  color: var(--rb-muted);
  font-size: 12px;
  line-height: 1.4;
}
.rb-notification-popover__item .notification-actions {
  display: flex;
  flex: 0 0 44px;
  flex-direction: column;
  gap: 4px;
}
.rb-notification-popover__item .rb-icon-button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: var(--rb-radius-sm);
}
.rb-notification-popover :is(button, a):focus-visible {
  outline: 2px solid var(--rb-focus);
  outline-offset: 2px;
}

.header:where(:has(.rb-profile-popover)) { position: relative; }

body .header .profile.rb-profile-trigger {
  box-sizing: border-box;
  min-height: 44px;
  border-radius: var(--rb-radius-md);
  background: transparent;
  outline: none;
}
body .header .profile.rb-profile-trigger:hover,
body .header .profile.rb-profile-trigger.active {
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface-soft);
}
body .header .profile.rb-profile-trigger:focus-visible {
  outline: 2px solid var(--rb-focus);
  outline-offset: 2px;
}
body .header .profile-dropdown.rb-profile-popover {
  box-sizing: border-box;
  position: absolute;
  z-index: 1001;
  top: calc(100% + 8px);
  right: 12px;
  display: none;
  flex-direction: column;
  gap: 2px;
  width: min(280px, calc(100vw - 24px));
  max-height: calc(100dvh - 80px);
  padding: 8px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--rb-border-soft);
  border-radius: var(--rb-radius-lg);
  background: var(--rb-surface);
  color: var(--rb-text);
  box-shadow: var(--rb-shadow-lg);
  font-family: var(--rb-font-sans);
}
body .header .rb-profile-popover .dropdown-item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--rb-radius-sm);
  background: transparent;
  color: var(--rb-text);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body .header .rb-profile-popover .dropdown-item:hover,
body .header .rb-profile-popover .dropdown-item.red,
body .header .rb-profile-popover .dropdown-item.red:hover {
  background: transparent;
  color: var(--rb-text);
}
body .header .rb-profile-popover .dropdown-item:hover,
body .header .rb-profile-popover .dropdown-item.red:hover {
  background: var(--rb-surface-soft);
}
body .header .rb-profile-popover .dropdown-item:focus-visible,
body .header .rb-profile-popover button:focus-visible {
  outline: 2px solid var(--rb-focus);
  outline-offset: -2px;
}
body .header .rb-profile-popover .profile-language-menu {
  flex-wrap: wrap;
  padding: 0;
}
body .header .rb-profile-popover .profile-language-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--rb-radius-sm);
  background: transparent;
  color: var(--rb-text);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
body .header .rb-profile-popover .profile-language-trigger:hover {
  background: var(--rb-surface-soft);
}
body .header .rb-profile-popover .profile-language-submenu {
  position: static;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  margin: 8px 0 0;
  padding: 4px 0 0;
  border: 0;
  border-top: 1px solid var(--rb-border-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body .header .rb-profile-popover .profile-language-menu:hover .profile-language-submenu {
  display: none;
}
body .header .rb-profile-popover .profile-language-menu.is-open .profile-language-submenu {
  display: flex;
}
body .header .rb-profile-popover .profile-language-option {
  min-height: 44px;
  border-radius: var(--rb-radius-sm);
  background: transparent;
  color: var(--rb-text);
  font-size: 13px;
  font-weight: 500;
}
body .header .rb-profile-popover .profile-language-option:hover,
body .header .rb-profile-popover .profile-language-option.is-active {
  background: var(--rb-surface-soft);
}
body.layout-dark .header .profile.rb-profile-trigger {
  color: #e7eaf0;
}
body.layout-dark .header .profile.rb-profile-trigger:hover,
body.layout-dark .header .profile.rb-profile-trigger.active {
  background: #252a33;
}
body.layout-dark .header .profile-dropdown.rb-profile-popover {
  --rb-surface: #171a21;
  --rb-surface-soft: #20242c;
  --rb-surface-muted: #2c323c;
  --rb-text: #e7eaf0;
  --rb-muted: #acb4c2;
  --rb-border-soft: rgba(255, 255, 255, .12);
  --rb-focus: #e7eaf0;
}

.btn:hover,
.rb-btn:hover {
  background: var(--rb-surface-soft);
  border-color: transparent;
}

.btn.btn-dark,
.btn.primary,
.btn.btn-orange,
.btn.btn-red,
.rb-btn--primary {
  background: var(--rb-text) !important;
  border-color: var(--rb-text) !important;
  color: #fff !important;
}

.btn.btn-dark:hover,
.btn.primary:hover,
.btn.btn-orange:hover,
.btn.btn-red:hover,
.rb-btn--primary:hover {
  background: #000 !important;
  border-color: #000 !important;
}

.btn.btn-blue,
.btn.secondary,
.rb-btn--secondary {
  background: var(--rb-surface-soft) !important;
  border-color: transparent !important;
  color: var(--rb-text) !important;
}

.btn-disabled,
.btn:disabled,
.rb-btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
  pointer-events: none;
}

.rb-icon-btn,
.header-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  border: 1px solid var(--rb-border-soft);
  border-radius: var(--rb-radius-md);
  background: var(--rb-surface);
  color: var(--rb-muted);
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.rb-icon-btn:hover,
.header-icon-btn:hover {
  background: var(--rb-surface-soft);
  color: var(--rb-text);
}

.rb-badge,
.badge,
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--rb-surface-soft);
  color: var(--rb-muted);
  font-size: 0.857em;
  font-weight: 600;
  line-height: 1;
}

.rb-badge.success,
.badge.success,
.pill.success {
  background: var(--rb-surface-soft);
  color: var(--rb-text);
}

.rb-badge.warning,
.badge.warning,
.pill.warning {
  background: var(--rb-surface-soft);
  color: var(--rb-muted);
}

.rb-badge.danger,
.badge.danger,
.pill.danger {
  background: var(--rb-surface-soft);
  color: var(--rb-text);
}

.rb-table-wrap {
  width: 100%;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: var(--rb-surface);
}

table {
  width: 100%;
  border-collapse: collapse;
  color: var(--rb-text);
}

th,
td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--rb-border-soft);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--rb-muted);
  font-size: 0.857em;
  font-weight: 600;
  background: var(--rb-surface-soft);
}

tr:last-child td {
  border-bottom: 0;
}

.rb-table__scroll {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rb-table__scroll--responsive { container-type: inline-size; }

.rb-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  background: transparent;
  box-shadow: none;
}

.rb-table th {
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--rb-border-soft, #ededed);
  background: transparent;
  color: var(--rb-muted, #626262);
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.rb-table td {
  padding: 15px 12px;
  border: 0;
  border-bottom: 1px solid var(--rb-border-soft, #ededed);
  background: transparent;
  color: var(--rb-text, #171717);
  font-size: 14px;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.rb-table tbody tr:hover td { background: var(--rb-surface-soft, #f5f5f5); }
.rb-table__actions { display: flex; flex-wrap: wrap; gap: var(--rb-space-2, 8px); }

@container (max-width: 680px) {
  .rb-table--stacked,
  .rb-table--stacked tbody,
  .rb-table--stacked tr,
  .rb-table--stacked td,
  .rb-table--stacked tbody th[scope="row"] { display: block; width: 100%; }
  .rb-table--stacked thead {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
  .rb-table--stacked tr { padding: 13px 0; border-bottom: 1px solid var(--rb-border-soft, #ededed); }
  .rb-table--stacked td,
  .rb-table--stacked tbody th[scope="row"] {
    display: grid; grid-template-columns: minmax(105px, .65fr) minmax(0, 1fr);
    gap: 10px; padding: 5px 0; border: 0; overflow-wrap: anywhere;
  }
  .rb-table--stacked tbody th[scope="row"] { background: transparent; color: var(--rb-text, #171717); font-size: 14px; }
  .rb-table--stacked td::before,
  .rb-table--stacked tbody th[scope="row"]::before {
    content: attr(data-label); color: var(--rb-muted, #626262);
    font-size: 13px; font-weight: 400;
  }
  .rb-table--stacked td[data-rb-table-action] { display: block; padding-top: 10px; }
  .rb-table--stacked td[data-rb-table-action]::before { display: none; }
  .rb-table--stacked tbody tr:hover td { background: transparent; }
}

.rb-overlay {
  position: fixed;
  inset: 0;
  z-index: 10090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(12px, 3vw, 24px);
  background: rgba(23, 23, 23, .48);
}

.rb-overlay__panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: min(var(--rb-overlay-width, 720px), 100%);
  min-width: 0;
  max-height: calc(100dvh - clamp(24px, 6vw, 48px));
  overflow: hidden;
  border: 0;
  border-radius: var(--rb-radius-xl, 16px);
  background: var(--rb-surface, #fff);
  color: var(--rb-text, #171717);
  box-shadow: var(--rb-shadow-lg, 0 24px 60px rgba(23, 23, 23, .12));
}

.rb-overlay__header,
.rb-overlay__footer { display: flex; align-items: flex-start; gap: var(--rb-space-3, 12px); padding: var(--rb-space-5, 20px) var(--rb-space-6, 24px); }
.rb-overlay__header { justify-content: space-between; }
.rb-overlay__title { margin: 0; font-size: var(--rb-font-size-lg, 1.25rem); font-weight: 600; line-height: 1.3; }
.rb-overlay__description { margin: var(--rb-space-1, 4px) 0 0; color: var(--rb-muted, #595959); font-size: var(--rb-font-size-sm, .875rem); line-height: 1.5; }
.rb-overlay__body { min-height: 0; overflow: auto; padding: 0 var(--rb-space-6, 24px) var(--rb-space-5, 20px); }
.rb-overlay__footer { flex-wrap: wrap; justify-content: flex-end; border-top: 1px solid var(--rb-border-soft, #eee); }

@media (max-width: 600px) {
  .rb-overlay { align-items: flex-end; padding: 0; }
  .rb-overlay__panel { width: 100%; max-height: 100dvh; border-radius: var(--rb-radius-xl, 16px) var(--rb-radius-xl, 16px) 0 0; }
  .rb-overlay__header, .rb-overlay__footer { padding: var(--rb-space-4, 16px); }
  .rb-overlay__body { padding: 0 var(--rb-space-4, 16px) var(--rb-space-4, 16px); }
  .rb-overlay__footer .rb-btn { flex: 1 1 100%; }
}

.rb-skeleton-stack {
  display: flex;
  flex-direction: column;
  gap: var(--rb-space-3);
  min-width: 0;
}

.rb-skeleton {
  display: block;
  width: 100%;
  height: 14px;
  border-radius: 999px;
  background: var(--rb-surface-muted, #eaeaea);
  animation: rbSkeleton 1.6s ease-in-out infinite;
}

.rb-skeleton--line { width: min(280px, 80%); height: 18px; border-radius: 8px; }
.rb-skeleton--short { width: min(180px, 60%); height: 12px; border-radius: 8px; }

@keyframes rbSkeleton {
  50% { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-skeleton { animation: none; }
}

.rb-public-page {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  padding: var(--rb-space-6) 0 var(--rb-space-8);
}

.rb-hero,
.rb-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rb-space-6);
  padding: 80px 0;
}

.rb-hero {
  min-height: min(720px, calc(100vh - 120px));
  align-items: center;
  padding: clamp(28px, 5vw, 56px) 0;
}

.rb-hero h1 {
  max-width: 920px;
  margin: 0;
  color: var(--rb-text);
  font-size: clamp(2rem, calc(3.39vw + .373rem), 3rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.rb-hero p,
.rb-section p {
  color: var(--rb-muted);
  line-height: 1.7;
}

.rb-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: var(--rb-space-4);
}

@media (max-width: 900px) {
  .rb-page {
    padding: var(--rb-space-4);
  }

  .rb-grid--2,
  .rb-grid--3,
  .rb-grid--4,
  .rb-grid--sidebar {
    grid-template-columns: 1fr;
  }

  .rb-toolbar,
  .rb-page-header,
  .rb-section-header {
    align-items: stretch;
  }

  .rb-actions,
  .rb-toolbar > * {
    width: 100%;
  }

  .btn,
  .rb-btn {
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .rb-page,
  .rb-card {
    padding: var(--rb-space-4);
  }

  .rb-page {
    gap: var(--rb-space-4);
  }

  .rb-row,
  .rb-actions {
    align-items: stretch;
  }

  .rb-actions .btn,
  .rb-actions .rb-btn {
    width: 100%;
  }
}

/* Generated compatibility utilities for migrated Design.php inline styles. */
.rb-u-0001 { flex:1; padding:24px; display:flex; flex-direction:column; gap:18px; }
.rb-u-0004 { width:auto; padding:12px 16px; text-decoration:none; }
.rb-u-0008 { margin-top:14px; padding:16px; }
.rb-u-0009 { display:none; }
.rb-u-0010 { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:12px; margin-top:12px; }
.rb-u-0012 { display:grid; grid-template-columns:minmax(260px, 320px) minmax(0, 1fr); gap:16px; }
.rb-u-0013 { display:grid; grid-template-columns:minmax(320px, 380px) minmax(0, 1fr); gap:16px; }
.rb-u-0014 { display:grid; gap:12px; margin-top:16px; }
.rb-u-0015 { min-height:120px; resize:vertical; }
.rb-u-0016 { margin-top:8px; font-size: 0.857em; color:#556170; }
.rb-u-0017 { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.rb-u-0018 { margin-top:16px; gap:8px; flex-wrap:wrap; }
.rb-u-0019 { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.rb-u-0020 { font-size: 0.929em;color:#556170;line-height:1.6; }
.rb-u-0021 { display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;background:#efefef;padding:6px;border-radius:12px; }
.rb-u-0022 { margin: 0; }
.rb-u-0023 { padding: 18px; width: 100%; }
.rb-u-0024 { margin: 6px 0 0 0; }
.rb-u-0025 { margin-top: 8px; color: #556170; }
.rb-u-0026 { padding:16px;text-decoration:none;color:inherit;background:#f8fafc;border:1px solid #e8edf3; }
.rb-u-0027 { font-size: 1.286em;color:#1f2937; }
.rb-u-0028 { font-weight:800; }
.rb-u-0029 { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px; }
.rb-u-0030 { display:flex;align-items:center;gap:8px;padding:0 4px;color:#556170; }
.rb-u-0031 { padding:14px;margin-top:14px;background:#f8fafc; }
.rb-u-0032 { display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;margin-top:16px; }
.rb-u-0033 { display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:560px;overflow:auto;padding-right:4px; }
.rb-u-0034 { display:flex;flex-direction:column;gap:12px; }
.rb-u-0035 { padding:16px;color:#667085; }
.rb-u-0036 { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.rb-u-0058 { width:100%;margin-top:8px; }
.rb-u-0059 { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px; }
.rb-u-0060 { display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:520px;overflow:auto; }
.rb-admin-skrime__ledger { min-width: 0; max-height: 320px; margin-top: var(--rb-space-4); padding: var(--rb-space-4); overflow: auto; background: var(--rb-surface-soft); }
.rb-admin-skrime__history { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--rb-space-3); min-width: 0; margin-top: var(--rb-space-4); }
.rb-u-0067 { font-size: 0.929em;color:#556170;line-height:1.6;max-width:860px;margin-top:8px; }
.rb-u-0068 { height:18px;width:220px;max-width:80%;background:#f2f4f7;border-radius:8px; }
.rb-u-0069 { height:14px;width:160px;max-width:70%;background:#f2f4f7;border-radius:8px;margin-top:10px; }
.rb-u-0070 { padding:16px;background:#f8fafc;margin-top:16px; }
.rb-u-0071 { display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px; }
.rb-u-0072 { width:auto;padding:11px 14px; }
.rb-u-0073 { display:flex;flex-direction:column;gap:8px;margin-top:14px; }
.rb-u-0074 { padding:14px;background:#0f172a;color:#e2e8f0;max-height:320px;overflow:auto;font-family:Consolas, monospace;font-size: 0.857em;line-height:1.6;margin-top:14px; }
.rb-u-0075 { display:flex;justify-content:space-between;gap:10px;align-items:flex-start; }
.rb-u-0076 { font-size: 0.857em;color:#667085;margin-top:6px; }
.rb-u-0077 { font-size: 0.857em;color:#667085;margin-top:8px; }
.rb-u-0078 { padding:14px;color:#667085; }
.rb-u-0079 { padding:14px;color:#b42318; }
.rb-u-0080 { display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf0f5; }
.rb-u-0081 { font-size: 0.857em;color:#667085; }
.rb-u-0082 { color:#667085; }
.rb-u-0083 { color:#b42318; }
.rb-u-0084 { flex:1;padding:24px;display:flex;flex-direction:column;gap:18px; }
.rb-u-0085 { padding:22px;background:#101828;color:#fff;border:0; }
.rb-u-0086 { font-size: 0.857em;font-weight:900;text-transform:uppercase;color:#b7c4d6; }
.rb-u-0087 { margin-top:8px;color:#d0d5dd;line-height:1.55;max-width:860px; }
.rb-u-0088 { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px; }
.rb-u-0089 { padding:18px;text-decoration:none;color:inherit;border:1px solid #e8edf3;background:#fff;display:flex;flex-direction:column;gap:12px;min-height:190px; }
.rb-u-0090 { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.rb-u-0091 { display:inline-flex;width:42px;height:42px;border-radius:8px;align-items:center;justify-content:center;background:#f2f4f7;color:#101828; }
.rb-u-0092 { font-size: 1.429em; }
.rb-u-0093 { font-size: 0.786em;font-weight:900;text-transform:uppercase;color:#175cd3;background:#eef4ff;border-radius:999px;padding:5px 8px; }
.rb-u-0094 { margin:0;font-size: 1.429em; }
.rb-u-0095 { margin-top:8px;color:#556170;line-height:1.5;font-size: 0.929em; }
.rb-u-0096 { margin-top:auto;display:flex;align-items:center;gap:8px;font-weight:900;color:#101828; }
.rb-u-0097 { padding:18px;color:#667085; }
.rb-u-0098 { font-size: 0.929em; color:#666; }
.rb-u-0099 { flex:1; padding:28px; padding-top:0; display:flex; flex-direction:column; gap:18px; min-width:0; }
.rb-u-0100 { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.rb-u-0102 { width:auto;text-decoration:none;display:inline-flex;align-items:center;gap:8px; }
.rb-u-0103 { padding:20px;color:#b42318; }
.rb-u-0104 { padding:22px; }
.rb-u-0105 { height:18px;width:280px;max-width:80%;background:#f2f4f7;border-radius:8px; }
.rb-u-0106 { height:12px;width:180px;max-width:60%;background:#f2f4f7;border-radius:8px;margin-top:12px; }
.rb-u-0109 { width:auto; padding:12px 14px; display:none; }
.rb-u-0113 { width:100%; min-height:90px; }
.rb-u-0219 { display:grid; grid-template-columns:minmax(300px, 380px) minmax(0, 1fr); gap:18px; }
.rb-u-0220 { margin-top:8px;color:#556170;line-height:1.6; }
.rb-u-0221 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:16px; }
.rb-u-0222 { margin-top:14px; }
.rb-u-0223 { padding:22px;flex:0 0 auto; }
.rb-u-0224 { display:flex;flex-direction:column;gap:14px;min-width:0;flex:1 1 auto; }
.rb-u-0225 { display:flex;gap:8px;flex-wrap:wrap;background:#efefef;padding:6px;border-radius:12px; }
.rb-u-0226 { border: 1px solid #cacaca;height: 36px;width: 100%; }
.rb-u-0227 { display: flex;flex-direction: row; }
.rb-u-0228 { display: flex;flex: 1;flex-direction: row-reverse; }
.rb-u-0229 { display: flex; flex-direction: column;margin-top: 10px; }
.rb-u-0230 { display:none; position:absolute; z-index:9999; }
.rb-u-0231 { white-space: nowrap;width: 1%; }
.rb-u-0232 { background: #baedbc;color: #51ce86;font-weight: 700;border-radius: 6px;font-size: 0.786em;flex:0;padding: 5px;text-transform: uppercase; }
.rb-u-0233 { background: #eeeeee;color: #d7d7d7;font-weight: 700;border-radius: 6px;font-size: 0.786em;flex:0;padding: 5px;text-transform: uppercase; }
.rb-u-0234 { background: #ff9f95;color: #ff513f;font-weight: 700;border-radius: 6px;font-size: 0.786em;flex:0;padding: 5px;text-transform: uppercase; }
.rb-u-0235 { background: #b7e2ff;color: #62b9ff;font-weight: 700;border-radius: 6px;font-size: 0.786em;flex:0;padding: 5px;text-transform: uppercase; }
.rb-u-0236 { background: #fdeca4;color: #dfc24d;font-weight: 700;border-radius: 6px;font-size: 0.786em;flex:0;padding: 5px;text-transform: uppercase; }
.rb-u-0237 { display:flex;justify-content: center; }
.rb-u-0238 { font-size: 0.857em; font-weight:700; color:#556170; }
.rb-u-0239 { padding:16px 18px; }
.rb-u-0240 { margin-top:12px;display:none; }
.rb-u-0241 { padding:16px; margin:18px; }
.rb-u-0242 { margin:18px; }
.rb-u-0243 { width:auto; padding:11px 14px; }
.rb-u-0244 { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-top:14px; }
.rb-u-0245 { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.rb-u-0246 { display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.rb-u-0247 { padding:20px; display:flex; flex-direction:column; gap:18px; }
.rb-u-0248 { display:flex; gap:10px; flex-wrap:wrap; align-items:center; background:#f8fafc; border-radius:10px; padding:12px; }
.rb-u-0249 { flex:1; min-width:240px; }
.rb-u-0250 { min-width:180px; }
.rb-u-0251 { display:grid; grid-template-columns:minmax(260px,320px) minmax(0,1fr); gap:18px; }
.rb-u-0252 { width:220px;max-width:70%; }
.rb-u-0253 { display:grid; grid-template-columns:minmax(300px, 360px) minmax(0, 1fr); gap:18px; }
.rb-u-0255 { display:flex; flex-direction:column; gap:10px; margin-top:14px; color:#556170; }
.rb-u-0256 { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px; background:#f6f7f9; }
.rb-u-0257 { width:min(560px, 100%); padding:28px; border-radius:8px; }
.rb-u-0258 { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.rb-u-0259 { width:44px; height:44px; border-radius:8px; background:#101828; color:#fff; display:flex; align-items:center; justify-content:center; }
.rb-u-0260 { margin:0; font-size: 1.714em; }
.rb-u-0261 { color:#667085; font-size: 0.929em; margin-top:4px; }
.rb-u-0262 { display:grid; gap:12px; color:#344054; line-height:1.55; }
.rb-u-0263 { padding:14px; border-radius:8px; background:#f2f4f7; }
.rb-u-0268 { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.admin-payment-modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(16,24,40,.42); }
.admin-payment-modal[hidden] { display:none !important; }
.admin-payment-modal-panel { width:min(720px,100%); max-height:min(760px,calc(100vh - 40px)); overflow:auto; border-radius:8px; background:#fff; color:#101828; box-shadow:0 24px 60px rgba(16,24,40,.18); }
.admin-payment-modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid #edf0f5; }
.admin-payment-modal-body { display:grid; gap:12px; padding:16px; }
.rb-u-0276 { color:#666; max-width:760px; }
.rb-u-0277 { padding:10px 14px; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-weight:700; }
.rb-u-0278 { display:inline-flex; align-items:center; gap:8px; padding:12px 14px; border-radius:12px; background:#111; color:#fff; cursor:pointer; font-weight:700; }
.rb-u-0279 { border:0; height:44px; border-radius:12px; background:#f3f3f3; cursor:pointer; font-weight:700; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 14px; }
.rb-u-0280 { border:0; width:44px; height:44px; border-radius:12px; background:#f3f3f3; cursor:pointer; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.rb-u-0281 { margin: 0 auto; margin-top: 24px; margin-bottom: 24px; display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 460px; }
.rb-u-0282 { height:84px;width:auto;max-width:280px;object-fit:contain;display:block; }
.rb-u-0283 { width: 100%; display: flex; flex-direction: column; gap: 14px; }
.rb-u-0284 { padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.rb-u-0285 { margin: 0 0 6px 0; }
.rb-u-0286 { margin: 0; font-size: 0.929em; color: #666; line-height: 1.5; }
.rb-u-0287 { padding: 10px 12px; border-radius: 6px; background: #f7f7f7; font-size: 0.929em; }
.rb-u-0288 { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.rb-u-0289 { font-size: 0.929em; font-weight: 700; }
.rb-u-0290 { display: flex; gap: 10px; margin: 0; }
.rb-u-0291 { margin: 0; flex: 1; }
.rb-u-0292 { padding: 22px; display: flex; flex-direction: column; gap: 14px; width: 100%; }
.rb-u-0293 { font-weight: 700; font-size: 0.929em; color: #c0392b; background: #fdeaea; border-radius: 6px; padding: 10px 12px; }
.rb-u-0294 { font-size: 0.929em; color: #666; line-height: 1.5; }
.rb-u-0295 { display: flex; justify-content: center; text-align: center; min-height: 72px; align-items: center; font-weight: 800; font-size: 1.143em; }
.rb-u-0296 { font-size: 0.857em; color: #666; text-align: center; }
.rb-u-0297 { margin: 0 auto; margin-top: 20px; margin-bottom: 20px; display: flex; flex-direction: column; justify-content: flex-start; width: min(100%, 385px); }
.rb-u-0298 { display: flex; flex-direction: column; align-items: center; align-content: center; }
.rb-u-0299 { height:79px;width:auto;max-width:280px;object-fit:contain;display:block;margin:0 auto; }
.rb-u-0300 { width: 385px; display: flex; }
.rb-u-0301 { flex: 1; }
.rb-u-0302 { margin-bottom: 15px; }
.rb-u-0303 { margin-left: 5px; margin-bottom: 0px; }
.rb-u-0304 { margin-left: 5px; margin-top: 0px; font-size: 0.857em; font-weight: 400; }
.rb-u-0305 { font-size: 1em; font-weight: 700; }
.rb-u-0306 { margin-top: 5px; display: flex; justify-content: space-between; }
.rb-u-0307 { height: 15px; font-size: 0.857em; width: 100%; display: flex; justify-content: center; align-items: center; cursor: pointer; padding: 12px; background: #f3f3f3; }
.rb-u-0308 { margin: 0 auto; margin-top: 20px; margin-bottom: 20px; display: flex; flex-direction: column; align-items: center; width: min(100%, 460px); max-height: calc(100vh - 40px); overflow-y: auto; padding-right: 4px; box-sizing: border-box; }
.rb-u-0309 { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0 auto; }
.rb-u-0310 { width: 100%; padding: 18px; box-sizing: border-box; box-shadow: none; border-radius: 5px; background: #f8f9fb; }
.rb-u-0311 { font-size: 0.857em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #a1122a; margin-bottom: 4px; }
.rb-u-0312 { width: 100%; padding: 20px; box-sizing: border-box; }
.rb-u-0313 { font-size: 1.286em; font-weight: 800; margin-bottom: 8px; }
.rb-u-0314 { font-size: 0.857em; color: #999; margin-top: 12px; }
.rb-u-0315 { width: 100%; display: flex; gap: 10px; }
.rb-u-0316 { display: none; width: 100%; padding: 20px; box-sizing: border-box; }
.rb-u-0317 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 14px; }
.rb-u-0318 { padding: 12px; border: 1px solid #ececec; border-radius: 12px; background: #fafafa; }
.rb-u-0319 { font-size: 0.857em; color: #666; }
.rb-u-0320 { font-weight: 800; }
.rb-u-0321 { width: 100%; display: none; flex-direction: column; }
.rb-u-0322 { font-size: 0.857em; }
.rb-u-0323 { height: 12px; font-size: 0.857em; width: auto; display: flex; justify-content: center; align-items: center; cursor: pointer; margin: 0; padding: 12px; background: #f3f3f3; }
.rb-u-0324 { font-size: 0.857em; color: #3498db; cursor: pointer; }
.rb-u-0325 { font-size: 1.143em; font-weight: 800; margin-bottom: 6px; }
.rb-u-0326 { font-size: 0.929em; color: #556170; line-height: 1.6; margin-bottom: 12px; }
.rb-u-0327 { width: 100%; border: 1px solid #d9d9d9; border-radius: 12px; padding: 12px 14px; }
.rb-u-0328 { width: 100%; min-height: 120px; border: 1px solid #d9d9d9; border-radius: 12px; padding: 12px 14px; resize: vertical; }
.rb-u-0329 { margin-top: 10px; display: flex; gap: 10px; }
.rb-u-0330 { font-size: 1.143em; font-weight: 800; margin-bottom: 8px; }
.rb-u-0331 { display: flex; flex-direction: column; gap: 10px; }
.rb-u-0332 { margin: 0 auto; display: flex; flex-direction: column; justify-content: center; gap: 18px; width: min(100%, 385px); min-height: calc(100vh - 56px); padding: 28px 0; }
.rb-u-0333 { width:100%; }
.rb-u-0334 { margin-bottom: 34px; justify-content: center; }
.rb-u-0335 { max-width: 160px; max-height: 80px; width: auto; height: auto; }
.rb-u-0336 { width:100%; display:flex; }
.rb-u-0337 { margin-bottom: 15px; display:flex; flex-direction: column; }
.rb-u-0338 { font-size: 2.286em; font-weight: 700; margin: 0; color: #222; }
.rb-u-0339 { font-size: 1.071em; font-weight: 400; margin: 6px 0 0 0; color: #667085; line-height: 1.45; }
.rb-u-0340 { padding: 16px; border-radius: 10px; }
.rb-u-0341 { font-size: 1em;font-weight:800;color:#1d2939;margin-bottom:10px; }
.rb-u-0342 { margin-top:12px;font-size: 0.929em;color:#667085;line-height:1.5; }
.rb-u-0343 { justify-content: flex-end; gap: 10px; }
.rb-u-0344 { width:auto;text-decoration:none; }
.rb-u-0345 { width:auto; }
.rb-u-0346 { width: 100%; display: flex; }
.rb-u-0347 { font-size: 0.929em; color: #555; }
.rb-u-0348 { margin-top: 5px; display: flex; justify-content: space-between; width: 100%; max-width: 385px; margin-left: auto; margin-right: auto; gap: 10px; }
.rb-u-0349 { margin-top: 15px; display:flex; justify-content: center; font-size: 0.857em; margin-bottom: 10px; }
.rb-u-0350 { margin-left: 5px;margin-bottom: 0px; }
.rb-u-0351 { margin-left: 5px;margin-top: 0px; font-size: 0.857em;font-weight: 400; }
.rb-u-0352 { height: 15px;font-size: 0.857em;flex: 1;display: flex;justify-content: center;align-items: center;cursor: pointer;padding: 12px;background: #f3f3f3; }
.rb-u-0353 { margin-top: 10px; display:flex; justify-content: center;font-size: 0.857em;margin-bottom: 10px; }
.rb-u-0354 { width:min(100%,520px);margin:24px auto;padding:0 14px; }
.rb-u-0355 { display:flex;justify-content:center;margin-bottom:24px; }
.rb-u-0356 { height:76px;width:auto;max-width:280px;object-fit:contain; }
.rb-u-0357 { background:#fff;border:1px solid #eaecf0;border-radius:18px;box-shadow:0 18px 55px rgba(15,23,42,.08);padding:28px; }
.rb-u-0358 { width:44px;height:44px;border-radius:14px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;margin-bottom:18px; }
.rb-u-0359 { font-size: 1.643em;color:#344054; }
.rb-u-0360 { margin:0;font-size: 2em;line-height:1.12; }
.rb-u-0361 { margin:12px 0 0;color:#667085;line-height:1.55; }
.rb-u-0362 { display:flex;gap:10px;flex-wrap:wrap;margin-top:22px; }
.rb-u-0363 { display:inline-flex;align-items:center;gap:7px;background:#f2f4f7;border-radius:999px;padding:7px 10px;font-size: 0.857em;font-weight:800;color:#344054; }
.rb-u-0364 { display:flex;gap:10px;flex-wrap:wrap;margin-top:24px; }
.rb-u-0365 { display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#111827;color:#fff;text-decoration:none;padding:11px 14px;font-size: 0.929em;font-weight:800; }
.rb-u-0366 { display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#111827;color:#fff;padding:11px 14px;font-size: 0.929em;font-weight:800;cursor:pointer; }
.rb-u-0367 { display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#f2f4f7;color:#344054;padding:11px 14px;font-size: 0.929em;font-weight:800;cursor:pointer; }
.rb-u-0368 { display:none;z-index:999999; }
.rb-u-0369 { width:min(95vw,420px); }
.rb-u-0370 { margin-top:0; }
.rb-u-0371 { display:flex;flex-direction:column;gap:10px; }
.rb-u-0372 { display:flex;justify-content:flex-end;gap:8px;margin-top:16px; }
.rb-u-0373 { border:0;padding:5px 11px;border-radius:5px;background:#f2f4f7; }
.rb-u-0374 { border:0;padding:5px 11px;border-radius:5px;background:#111827;color:#fff; }
.rb-u-0375 { margin: 0 auto; margin-top: 20px; margin-bottom: 20px; display: flex; flex-direction: column; align-items: center; width: min(100%, 440px); max-height: calc(100vh - 40px); overflow-y: auto; padding-right: 4px; box-sizing: border-box; }
.rb-u-0376 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: min(100%, 440px); margin: 0 auto 10px auto; justify-content: center; }
.rb-u-0377 { margin: 0; padding: 14px 16px; box-shadow: none; border-radius: 5px; width: 100%; box-sizing: border-box; background: #f8f9fb; }
.rb-u-0378 { font-size: 0.786em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #a1122a; margin-bottom: 4px; }
.rb-u-0379 { font-size: 1em; font-weight: 800; margin-bottom: 4px; }
.rb-u-0380 { font-size: 0.857em; color: #556170; line-height: 1.5; }
.rb-u-0381 { padding: 22px; display: flex; flex-direction: column; gap: 16px; width: 100%; box-sizing: border-box; }
.rb-u-0382 { display: flex; flex-direction: column; gap: 6px; }
.rb-u-0383 { font-size: 0.857em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #a1122a; }
.rb-u-0384 { margin: 0; font-size: 0.929em; color: #556170; line-height: 1.5; }
.rb-u-0385 { flex-direction: column; gap: 12px; }
.rb-u-0386 { margin: 0; padding: 18px; box-shadow: none; border-radius: 5px; }
.rb-u-0387 { margin-top: 6px; display: flex; justify-content: space-between; width: 100%; gap: 10px; }
.rb-u-0388 { visibility: hidden;margin-top:-2px;height: 15px;font-size: 0.857em;flex: 1;display: flex;justify-content: center;align-items: center;cursor: pointer;padding: 12px;background: #f3f3f3; }
.rb-u-0389 { margin-top: 14px; display:flex; justify-content: center; font-size: 0.857em; margin-bottom: 10px; }
.rb-u-0390 { display: none; flex-direction: column; gap: 14px; }
.rb-u-0391 { font-size: 0.786em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #a1122a; }
.rb-u-0392 { font-size: 1.286em; font-weight: 800; }
.rb-u-0393 { margin-top: 10px; gap: 10px; display: flex; }
.rb-u-0394 { display: none; width: 100%; box-sizing: border-box; padding: 16px; box-shadow: none; border-radius: 5px; background: #f8f9fb; }
.rb-u-0395 { font-size: 0.786em; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #a1122a; margin-bottom: 6px; }
.rb-u-0396 { font-size: 0.929em; color: #556170; line-height: 1.6; margin-bottom: 10px; }
.rb-u-0397 { font-family: monospace; font-size: 1.143em; font-weight: 800; letter-spacing: 0.08em; padding: 12px 14px; background: #fff; border-radius: 5px; border: 1px solid #e4e8ed; }
.rb-u-0398 { margin-top: 0; display: flex; justify-content: space-between; width: 100%; gap: 10px; }
.rb-u-0399 { visibility: hidden; height: 15px; font-size: 0.857em; flex: 1; display: flex; justify-content: center; align-items: center; cursor: pointer; padding: 12px; background: #f3f3f3; }
.rb-u-0400 { display:flex; gap:12px; align-items:flex-start; }
.rb-u-0401 { font-size: 1.571em; color:#175cd3; padding-top:3px; }
.rb-u-0402 { margin-top:6px; color:#667085; line-height:1.5; }
.rb-u-0403 { flex:1; padding:28px; padding-top:15px; display:flex; flex-direction:column; gap:18px; min-width:0; }
.rb-u-0404 { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.rb-u-0405 { font-size: 0.857em; font-weight:900; color:#667085; text-transform:uppercase; }
.rb-u-0406 { margin-top:7px; color:#667085; font-size: 0.929em; }
.rb-u-0407 { padding:22px; border-radius:8px; }
.rb-u-0408 { margin-top:5px; color:#667085; font-size: 0.929em; }
.rb-u-0409 { width:auto; padding:5px 11px; border-radius:5px; font-weight:900; }
.rb-u-0410 { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:10px; margin-bottom:12px; }
.rb-u-0411 { padding:12px; background:#f8fafc; border-radius:8px; }
.rb-u-0412 { font-size: 0.786em; font-weight:900; text-transform:uppercase; color:#8b94a1; }
.rb-u-0413 { font-size: 1.714em; font-weight:950; margin-top:4px; color:#101828; }
.rb-u-0414 { padding:18px; border-radius:8px; display:flex; flex-direction:column; gap:14px; }
.rb-u-0415 { padding:5px 11px; border-radius:5px; font-weight:900; }
.rb-u-0416 { display:flex; gap:7px; flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; }
.rb-u-0417 { display:flex; align-items:center; gap:8px; flex:1; min-width:260px; background:#fff; border:1px solid #d0d5dd; border-radius:6px; padding:0 11px; }
.rb-u-0418 { width:100%; padding:10px 0; border:0; outline:0; }
.rb-u-0427 { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.rb-u-0428 { display:none; padding:18px; }
.rb-u-0429 { flex-direction: row;flex:1; }
.rb-u-0430 { margin-left: 0;flex: 1; }
.rb-u-0431 { margin-bottom: 8px; }
.rb-u-0432 { margin-top: 8px; display:none; }
.rb-u-0433 { display:flex; }
.rb-u-0434 { margin-bottom: 5px; }
.rb-u-0435 { margin-left:0;height: 12px;font-size: 0.857em;width: auto;display: flex;justify-content: center;align-items: center;cursor: pointer;padding: 12px;background: #e3e3e3; }
.rb-u-0436 { height: 12px;font-size: 0.857em;width: auto;display: flex;justify-content: center;align-items: center;cursor: pointer;padding: 12px; }
.rb-u-0437 { margin: 0;margin-right:8px;font-size: 0.929em; }
.rb-u-0438 { border:0; padding:12px 14px; border-radius:12px; background:#f3f3f3; cursor:pointer; font-weight:700; }
.rb-u-0439 { flex:1;padding:24px;display:flex;flex-direction:column;gap:16px; }
.rb-u-0440 { display:flex;gap:8px;flex-wrap:wrap; }
.rb-u-0441 { width:auto;padding:9px 12px; }
.rb-u-0442 { display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:14px;align-items:start; }
.rb-u-0443 { padding:14px;min-height:560px; }
.rb-u-0444 { font-weight:900;margin-bottom:10px; }
.rb-u-0445 { display:flex;flex-direction:column;gap:8px;max-height:72vh;overflow:auto; }
.rb-u-0446 { height:18px;width:360px;max-width:90%;background:#f2f4f7;border-radius:8px;margin-top:10px; }
.rb-u-0447 { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px; }

@media (max-width: 960px) {
  .rb-auth-hero,
  .rb-auth-panel--split,
  .rb-u-0442,
  .rb-status-hero,
  .rb-status-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .rb-status-scene {
    min-height: 220px;
    order: -1;
  }
}

@media (max-width: 640px) {
  .rb-auth-title {
    font-size: 2.2em;
  }

  .rb-auth-card,
  .rb-auth-sidebar-card,
  .rb-auth-hero,
  .rb-status-hero,
  .rb-status-card {
    border-radius: 22px;
  }

  .rb-auth-grid,
  .rb-form-grid,
  .rb-grid--2,
  .rb-grid--sidebar,
  .rb-u-0410,
  .rb-u-0447 {
    grid-template-columns: minmax(0, 1fr);
  }

  .rb-auth-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .rb-status-page {
    padding: 8px 0;
  }

  .rb-status-code-wrap,
  .rb-status-inline,
  .rb-status-actions,
  .rb-maintenance-modal-actions {
    align-items: stretch;
  }

  .rb-status-actions .btn,
  .rb-maintenance-modal-actions .btn,
  .rb-status-actions .rb-btn,
  .rb-maintenance-modal-actions .rb-btn {
    width: 100%;
    min-width: 0;
  }

  .rb-status-title {
    font-size: clamp(1.9em, 8vw, 2.6em);
  }

  .rb-status-scene {
    min-height: 180px;
    padding: 0;
  }

  .rb-status-art {
    width: min(100%, 280px);
  }

  .rb-maintenance-modal {
    padding: 14px;
  }

  .rb-code-input .rb-code-input__digit {
    max-width: 40px;
  }
}

.rb-provisioning-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 12px 0;
    font-weight: 600;
}
.rb-provisioning-input {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--rb-border, #dbe2ea);
    border-radius: 8px;
    background: var(--rb-surface, #fff);
    color: var(--rb-text, #1f2937);
    font: inherit;
    font-weight: 400;
}
.rb-provisioning-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 16px 0;
    padding: 14px;
    border: 1px solid var(--rb-border, #dbe2ea);
    border-radius: 10px;
    line-height: 1.5;
}
.rb-provisioning-consent input[type="checkbox"] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 3px;
}

/* Reusable starting website layouts for purchased customer templates. */
.rb-website { box-sizing: border-box; width: 100%; min-width: 0; color: var(--rb-text, #171717); background: var(--rb-bg, #fff); font-family: var(--rb-font-sans, "Plus Jakarta Sans", system-ui, sans-serif); }
.rb-website *, .rb-website *::before, .rb-website *::after { box-sizing: border-box; }
.rb-website-header, .rb-website-main, .rb-website-footer { width: min(1240px, calc(100% - 80px)); margin: 0 auto; }
.rb-website-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; border-bottom: 1px solid var(--rb-border-soft, #eee); }
.rb-website-brand { display: flex; align-items: center; gap: 12px; min-width: 0; color: inherit; text-decoration: none; font-weight: 600; font-size: 1rem; overflow-wrap: anywhere; }
.rb-website-logo { display: block; max-width: 160px; max-height: 40px; object-fit: contain; }
.rb-website-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.rb-website-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rb-muted, #595959); text-decoration: none; font-size: .875rem; font-weight: 500; }
.rb-website-nav a:hover, .rb-website-nav a[aria-current="page"] { color: var(--rb-text, #171717); }
.rb-website-nav a[aria-current="page"] { font-weight: 600; text-decoration: underline; text-underline-offset: 8px; }
.rb-website-hero { padding: clamp(56px, 9vw, 112px) 0; max-width: 850px; }
.rb-website-eyebrow { margin: 0; color: var(--rb-muted, #595959); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rb-website-hero h1 { font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; margin: 20px 0; }
.rb-website-lead { font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.65; max-width: 680px; margin-bottom: 28px; color: var(--rb-muted, #595959); }
.rb-website-sections { padding-bottom: 64px; }
.rb-website-link { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; min-width: 0; min-height: 160px; padding: 24px 0; color: inherit; text-decoration: none; border-top: 1px solid var(--rb-border-soft, #eee); }
.rb-website-link h2 { margin: 0; font-size: 1.25rem; font-weight: 600; overflow-wrap: anywhere; }
.rb-website-link span { color: var(--rb-muted, #595959); font-size: .875rem; font-weight: 500; }
.rb-website-link:hover span { color: var(--rb-text, #171717); }
.rb-website a:focus-visible { outline: 2px solid var(--rb-text, #171717); outline-offset: 4px; }
.rb-website-footer { padding: 28px 0; border-top: 1px solid var(--rb-border-soft, #eee); color: var(--rb-muted, #595959); font-size: .875rem; }
@media (max-width: 1023px) { .rb-website-header, .rb-website-main, .rb-website-footer { width: calc(100% - 48px); } }
@media (max-width: 720px) { .rb-website-header { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; padding: 16px 0; } .rb-website-sections { grid-template-columns: 1fr; } .rb-website-link { min-height: 0; gap: 16px; } }
@media (max-width: 640px) { .rb-website-header, .rb-website-main, .rb-website-footer { width: calc(100% - 32px); } }

@media (min-width: 641px) {
  .rb-container { padding-inline: 24px; }
}

@media (min-width: 1024px) {
  .rb-container { padding-inline: 40px; }
  .rb-page { padding: 32px 40px; }
}

@media (max-width: 1023px) {
  .rb-page { padding: 24px; }
}

@media (max-width: 767px) {
  .rb-page-title { font-size: 1.5rem; }
  .rb-hero, .rb-section { padding-block: 48px; }
}

@media (max-width: 640px) {
  .rb-page { padding: 16px; }
}

/* Shared auth surface: the same quiet layout for login, registration and checks. */
.rb-auth-shell {
  width: min(100%, 440px);
  min-height: 0;
  margin: 24px auto;
  padding: 0;
  color: var(--rb-text);
  font-family: var(--rb-font-sans);
}

.rb-auth-shell--compact,
.rb-auth-shell--login-admin {
  width: min(100%, 440px);
}

.rb-auth-shell--wide {
  width: min(100%, 640px);
}

.rb-auth-journey,
.rb-auth-journey--login {
  gap: 24px;
  padding: 0;
}

.rb-auth-hero,
.rb-auth-hero--login {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rb-auth-logo {
  width: auto;
  height: auto;
  max-width: 160px;
  max-height: 56px;
}

.rb-auth-brand a {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
}

.rb-auth-copy {
  gap: 8px;
}

.rb-auth-copy--centered {
  justify-items: center;
  text-align: center;
}

.rb-auth-title,
.rb-auth-shell--login-admin .rb-auth-title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.025em;
  color: var(--rb-text);
}

.rb-auth-subtitle,
.rb-auth-shell--login-admin .rb-auth-subtitle {
  color: var(--rb-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.rb-auth-panel--split {
  grid-template-columns: minmax(0, 1fr);
}

.rb-auth-progress {
  display: flex;
  gap: 8px;
}

.rb-auth-progress-item,
.rb-auth-progress-item[data-state="active"],
.rb-auth-progress-item[data-state="done"] {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 10px 0 0;
  border: 0;
  border-top: 3px solid var(--rb-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: var(--rb-muted);
  font-size: .75rem;
  line-height: 1.35;
}

.rb-auth-progress-item[data-state="active"],
.rb-auth-progress-item[data-state="done"] {
  border-top-color: var(--rb-text);
  color: var(--rb-text);
}

.rb-auth-progress-index,
.rb-auth-progress-item[data-state="active"] .rb-auth-progress-index {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  font-weight: 600;
}

.rb-auth-progress-item > div:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.rb-auth-card,
.rb-auth-shell--login-admin .rb-auth-card,
.rb-auth-section-card,
.rb-auth-section-card--soft {
  border: 0;
  border-radius: 16px;
  background: var(--rb-surface-soft);
  box-shadow: none;
}

.rb-auth-card,
.rb-auth-card--login-slim {
  width: 100%;
  max-width: none;
  padding: 32px;
  gap: 20px;
}

.rb-auth-sidebar-card,
.rb-auth-sidebar-card--muted {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rb-auth-kicker,
.rb-auth-card-eyebrow {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rb-muted);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.rb-auth-sidebar-title {
  margin-top: 8px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
}

.rb-auth-sidebar-text,
.rb-auth-muted-copy,
.rb-auth-card-text {
  color: var(--rb-muted);
  line-height: 1.55;
}

.rb-auth-shell .rb-field > span,
.rb-auth-shell .rb-field > label {
  color: var(--rb-text);
  font-size: .875rem;
  font-weight: 600;
}

.rb-auth-shell .rb-field > .rb-auth-helper-text {
  color: var(--rb-muted);
  font-size: .8125rem;
  font-weight: 400;
}

.rb-auth-password-wrap {
  position: relative;
}

.rb-auth-password-wrap input {
  padding-right: 52px !important;
}

.rb-auth-password-toggle {
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--rb-muted);
  cursor: pointer;
}

.rb-auth-password-toggle:hover {
  background: var(--rb-surface-soft);
  color: var(--rb-text);
}

.rb-auth-password-rules {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--rb-muted);
  font-size: .8125rem;
  line-height: 1.45;
}

.rb-auth-password-rules li[data-met="true"] {
  color: var(--rb-text);
}

.rb-auth-recovery {
  display: grid;
  gap: 16px;
}

.rb-auth-recovery p {
  margin: 0;
  color: var(--rb-muted);
  line-height: 1.55;
}

.rb-auth-recovery-code {
  display: block;
  padding: 16px;
  border-radius: 8px;
  background: #fff;
  color: var(--rb-text);
  font: 600 .875rem/1.5 var(--rb-font-mono);
  overflow-wrap: anywhere;
  user-select: text;
}

.rb-auth-shell .rb-field input,
.rb-auth-shell .rb-field select,
.rb-auth-shell--login-admin input {
  min-height: 48px;
  border: 1px solid var(--rb-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.rb-auth-shell .rb-field input:focus-visible,
.rb-auth-shell .rb-field select:focus-visible,
.rb-auth-shell button:focus-visible,
.rb-auth-shell a:focus-visible {
  outline: 2px solid var(--rb-accent);
  outline-offset: 2px;
}

.rb-auth-shell .btn,
.rb-auth-shell .rb-btn,
.rb-auth-passkey-button,
.rb-auth-provider-button,
.rb-auth-shell--login-admin .rb-auth-provider-button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  font-weight: 600;
}

.rb-auth-shell .btn.btn-dark,
.rb-auth-shell .rb-btn--primary {
  background: var(--rb-accent);
  color: #fff;
}

.rb-auth-passkey-button,
.rb-auth-shell--login-admin .rb-auth-provider-button {
  background: var(--rb-surface-soft);
  color: var(--rb-text);
}

.rb-auth-alternatives-label {
  color: var(--rb-muted);
  font-size: .875rem;
  font-weight: 600;
}

.rb-auth-footer {
  display: grid;
  justify-content: start;
  gap: 12px;
  color: var(--rb-muted);
  font-size: .875rem;
  text-align: left;
}

.rb-auth-text-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rb-text);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.rb-auth-legal {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 28px auto 0;
  color: var(--rb-muted);
  font-size: .8125rem;
}

.rb-auth-legal a {
  color: inherit;
  text-decoration: none;
}

.rb-auth-legal a:hover {
  text-decoration: underline;
}

.rb-auth-transition {
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(8px);
}

.rb-auth-transition-card {
  padding: 24px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}

@media (max-width: 767px) {
  .rb-auth-card,
  .rb-auth-card--login-slim {
    padding: 24px;
  }

  .rb-auth-title,
  .rb-auth-shell--login-admin .rb-auth-title {
    font-size: 1.75rem;
  }

  .rb-auth-actions {
    flex-direction: column;
  }
}

/* System status and maintenance use the same quiet auth surface. */
.rb-status-page--error,
.rb-status-page--maintenance {
  display: grid;
  justify-items: start;
  align-content: center;
  gap: 16px;
  min-height: min(68dvh, 520px);
  padding: 48px 0;
  overflow: visible;
  color: var(--rb-text);
}

.rb-status-page--error .rb-status-code,
.rb-status-page--maintenance .rb-status-code {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rb-muted);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: 0;
}

.rb-status-page--error .rb-status-title,
.rb-status-page--maintenance .rb-status-title {
  max-width: none;
  color: var(--rb-text);
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 600;
  line-height: 1.15;
}

.rb-status-page--error .rb-status-text,
.rb-status-page--maintenance .rb-status-text {
  max-width: 60ch;
  color: var(--rb-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.rb-status-page--error .rb-status-actions,
.rb-status-page--maintenance .rb-status-actions {
  justify-content: flex-start;
  gap: 12px;
  margin-top: 8px;
}

.rb-status-page--error .rb-status-actions .btn,
.rb-status-page--maintenance .rb-status-actions .btn,
.rb-maintenance-modal-actions .btn,
.rb-status-page--error .rb-status-actions .rb-btn,
.rb-status-page--maintenance .rb-status-actions .rb-btn,
.rb-maintenance-modal-actions .rb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  font-weight: 600;
  text-decoration: none;
  transform: none;
  cursor: pointer;
}

.rb-status-page--error .rb-status-actions .btn.btn-dark,
.rb-status-page--maintenance .rb-status-actions .btn.btn-dark,
.rb-maintenance-modal-actions .btn.btn-dark,
.rb-status-page--error .rb-status-actions .rb-btn--primary,
.rb-status-page--maintenance .rb-status-actions .rb-btn--primary,
.rb-maintenance-modal-actions .rb-btn--primary,
#maintenanceLoginModal #loginBtn {
  background: var(--rb-accent) !important;
  color: #fff !important;
}

.rb-status-page--error .rb-status-actions .btn:not(.btn-dark),
.rb-status-page--maintenance .rb-status-actions .btn:not(.btn-dark),
.rb-maintenance-modal-actions .btn:not(.btn-dark),
.rb-status-page--error .rb-status-actions .rb-btn--secondary,
.rb-status-page--maintenance .rb-status-actions .rb-btn--secondary,
.rb-maintenance-modal-actions .rb-btn--secondary {
  background: var(--rb-surface-soft) !important;
  color: var(--rb-text) !important;
  border: 0;
}

.rb-maintenance-modal[hidden] { display: none !important; }

.rb-maintenance-modal {
  background: rgba(0, 0, 0, .35);
  backdrop-filter: none;
}

.rb-maintenance-modal-card {
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .15);
}

.rb-maintenance-modal-copy { color: var(--rb-muted); }

.rb-maintenance-form .rb-field input {
  min-height: 48px;
  border: 1px solid var(--rb-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.rb-auth-sso__code:empty,
.rb-auth-sso__timer:empty,
.rb-auth-sso__state:empty { display: none; }
.rb-auth-sso__state { margin: 0; color: var(--rb-muted); line-height: 1.5; }

.rb-auth-sso__code-content {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.rb-auth-sso__code-label,
.rb-auth-sso__timer {
  margin: 0;
  color: var(--rb-muted);
  line-height: 1.5;
}

.rb-auth-sso__code-value,
.rb-auth-sso__request-value {
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--rb-text);
  font-size: clamp(1.25rem, 5vw, 1.75rem);
  font-weight: 600;
  letter-spacing: .12em;
}
.rb-auth-sso__request-value { font-size: clamp(1rem, 4vw, 1.2rem); letter-spacing: .06em; user-select: all; }

.rb-auth-sso__success { color: var(--rb-text); }
.rb-auth-sso__back { width: 100%; text-align: center; }

.rb-popover {
  position: fixed;
  z-index: 1000008;
  box-sizing: border-box;
  width: min(280px, calc(100vw - 24px));
  max-height: min(420px, calc(100vh - 24px));
  padding: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--rb-border-soft);
  border-radius: 12px;
  background: var(--rb-surface);
  box-shadow: var(--rb-shadow-lg);
}

.rb-popover__group { min-width: 0; margin: 0; padding: 0; border: 0; }
.rb-popover__legend { padding: 8px 10px 6px; color: var(--rb-muted); font-size: .8125rem; font-weight: 600; }
.rb-popover__option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--rb-text);
  font-size: .875rem;
  line-height: 1.4;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.rb-popover__option:hover,
.rb-popover__option:has(input:checked) { background: var(--rb-surface-soft); }
.rb-popover__option:focus-within { outline: 2px solid var(--rb-text); outline-offset: -2px; }
.rb-popover__option input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--rb-text); }

.rb-user-modal-backdrop { position: fixed; inset: 0; z-index: 1000012; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgba(18, 22, 28, .44); }
.rb-user-modal { box-sizing: border-box; display: grid; gap: 20px; width: min(680px, 100%); max-height: min(92vh, 920px); padding: 28px; overflow-y: auto; border: 0; border-radius: 16px; background: var(--rb-surface, #fff); color: var(--rb-text, #171717); box-shadow: 0 24px 80px rgba(18, 22, 28, .18); font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif); }
.rb-user-modal *, .rb-user-modal *::before, .rb-user-modal *::after { box-sizing: border-box; }
.rb-user-modal__header h2 { margin: 7px 0 0; font-size: clamp(21px, 3vw, 27px); line-height: 1.25; font-weight: 600; letter-spacing: -.02em; }
.rb-user-modal__body { min-width: 0; }
.rb-user-modal__fields { display: grid; gap: 14px; }
.rb-user-modal__fields .rb-field { display: grid; gap: 6px; min-width: 0; }
.rb-user-modal__fields .rb-user-detail__row-copy { margin: 0; }
.rb-user-modal__choices { display: grid; max-height: 280px; overflow-y: auto; border-top: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-user-modal__choice { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px 0; border-bottom: 1px solid var(--rb-border-soft, #e9e9e9); cursor: pointer; }
.rb-user-modal__choice input, .rb-user-modal__check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rb-text, #171717); }
.rb-user-modal__choice span { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.rb-user-modal__choice strong { font-size: 14px; line-height: 1.4; font-weight: 600; }
.rb-user-modal__choice small { color: var(--rb-muted, #666); font-size: 12px; line-height: 1.4; }
.rb-user-modal__check { display: flex; align-items: flex-start; gap: 10px; min-height: 32px; font-size: 14px; line-height: 1.45; cursor: pointer; }
.rb-user-modal__products { display: grid; gap: 14px; min-width: 0; padding-top: 18px; border-top: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-user-modal__products h3 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 600; }
.rb-user-modal__product-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 190px); align-items: center; gap: 12px; min-width: 0; padding: 14px 0; border-bottom: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-user-modal__product-choice { display: flex; align-items: flex-start; gap: 10px; min-width: 0; cursor: pointer; }
.rb-user-modal__product-choice input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rb-text, #171717); }
.rb-user-modal__product-choice span { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.rb-user-modal__product-choice strong { font-size: 14px; line-height: 1.4; font-weight: 600; }
.rb-user-modal__product-choice small { color: var(--rb-muted, #666); font-size: 12px; line-height: 1.4; }
.rb-user-modal__product-row .rb-field__label { font-size: 12px; }
.rb-order-detail { display: grid; gap: 24px; min-width: 0; color: var(--rb-text, #171717); font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif); }
.rb-support-context { display: grid; justify-items: start; gap: 7px; min-width: 0; margin-bottom: 24px; padding: 18px 0 0; border-top: 1px solid var(--rb-border-soft, #e9e9e9); color: var(--rb-text, #171717); font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif); }
.rb-support-context__eyebrow { margin: 0; color: var(--rb-muted, #666); font-size: 12px; font-weight: 600; }
.rb-support-context__title { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.rb-support-context__copy { margin: 0; color: var(--rb-muted, #666); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.rb-support-context .rb-btn { min-height: 44px; margin-top: 8px; }
.rb-order-detail__header { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; gap: 14px 24px; min-width: 0; }
.rb-order-detail__header > div { min-width: 0; }
.rb-order-detail__header h3 { margin: 0; font-size: 22px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.rb-order-detail--compact .rb-order-detail__header h3 { font-size: 19px; }
.rb-order-detail__header p { margin: 5px 0 0; color: var(--rb-muted, #666); font-size: 13px; line-height: 1.5; }
.rb-order-detail__statuses { display: flex; flex-wrap: wrap; gap: 4px 14px; max-width: 100%; color: var(--rb-muted, #666); font-size: 13px; line-height: 1.5; }
.rb-order-detail__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 20px; min-width: 0; }
.rb-order-detail__facts > div { display: grid; align-content: start; gap: 5px; min-width: 0; padding: 12px 0; border-bottom: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-order-detail__facts span { color: var(--rb-muted, #666); font-size: 12px; line-height: 1.4; }
.rb-order-detail__facts strong { font-size: 15px; line-height: 1.45; font-weight: 600; overflow-wrap: anywhere; }
.rb-order-detail__section { display: grid; gap: 10px; min-width: 0; }
.rb-order-detail__section h4 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 600; }
.rb-order-detail__list { display: grid; min-width: 0; }
.rb-order-detail__row { display: grid; gap: 5px; min-width: 0; padding: 15px 0; border-bottom: 1px solid var(--rb-border-soft, #e9e9e9); overflow-wrap: anywhere; }
.rb-order-detail__row:first-of-type { border-top: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-order-detail__row > strong { font-size: 14px; line-height: 1.45; font-weight: 600; }
.rb-order-detail__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--rb-muted, #666); font-size: 13px; line-height: 1.5; }
.rb-order-detail__empty { margin: 0; padding: 18px 0; color: var(--rb-muted, #666); font-size: 14px; line-height: 1.5; }
.rb-order-detail__actions { display: flex; justify-content: flex-end; }
.rb-order-detail__actions .rb-btn { min-height: 44px; }
.rb-order-modal { box-sizing: border-box; width: min(880px, 100%); max-height: min(92vh, 900px); padding: 28px; overflow-y: auto; border-radius: 16px; background: var(--rb-surface, #fff); color: var(--rb-text, #171717); box-shadow: 0 24px 80px rgba(18, 22, 28, .18); font-family: var(--rb-font-sans, "Plus Jakarta Sans", sans-serif); }
.rb-order-modal *, .rb-order-modal *::before, .rb-order-modal *::after { box-sizing: border-box; }
.rb-order-modal__header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 22px; }
.rb-order-modal__header h2 { margin: 0; font-size: 22px; line-height: 1.3; font-weight: 600; }
.rb-order-modal__header .rb-btn { flex: 0 0 auto; min-height: 44px; }
@media (max-width: 800px) { .rb-order-detail__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .rb-order-detail__facts { grid-template-columns: minmax(0, 1fr); } .rb-order-detail__actions .rb-btn { width: 100%; } .rb-order-modal { width: 100%; max-height: 94vh; padding: 20px 18px; border-radius: 14px; } }
.rb-user-modal__body input:not([type="checkbox"]):not([type="radio"]), .rb-user-modal__body select, .rb-user-modal__body textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--rb-border, #d8d8d8); border-radius: 8px; background: #fff; color: var(--rb-text, #171717); font: inherit; }
.rb-user-modal__body textarea { min-height: 96px; resize: vertical; }
.rb-user-modal__body input:focus-visible, .rb-user-modal__body select:focus-visible, .rb-user-modal__body textarea:focus-visible { outline: 2px solid var(--rb-focus, #171717); outline-offset: 2px; }
.rb-user-modal__feedback { padding: 12px 14px; border-radius: 8px; background: var(--rb-surface-soft, #f6f6f6); color: var(--rb-text, #171717); font-size: 14px; line-height: 1.5; }
.rb-user-modal__feedback[hidden] { display: none; }
.rb-admin-action-modal { width: min(520px, 100%); }
.rb-admin-action-modal__code { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.rb-admin-action-modal__code .rb-btn { min-height: 44px; }
.rb-staff-group-modal { width: min(760px, 100%); }
.rb-staff-group-modal__groups { display: grid; gap: 10px; min-width: 0; margin: 0; padding: 0; border: 0; }
.rb-staff-group-modal__groups legend { padding: 0; font-size: 17px; line-height: 1.4; font-weight: 600; }
.rb-staff-group-modal__groups p { margin: 0; color: var(--rb-muted, #666); font-size: 14px; line-height: 1.5; }
.rb-staff-group-modal__groups .rb-user-modal__choices { max-height: 320px; }
.rb-user-modal__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding-top: 18px; border-top: 1px solid var(--rb-border-soft, #e9e9e9); }
.rb-user-modal__actions .rb-btn { min-height: 44px; }
@media (max-width: 640px) { .rb-user-modal-backdrop { align-items: flex-end; padding: 8px; } .rb-user-modal { width: 100%; max-height: 94vh; padding: 22px 18px; border-radius: 14px; } .rb-admin-action-modal__code, .rb-user-modal__product-row { grid-template-columns: minmax(0, 1fr); } .rb-admin-action-modal__code .rb-btn { width: 100%; } .rb-user-modal__actions { display: grid; grid-template-columns: 1fr; } .rb-user-modal__actions .rb-btn { width: 100%; } }

@media (max-width: 640px) {
  .rb-status-page--error .rb-status-actions,
  .rb-status-page--maintenance .rb-status-actions,
  .rb-maintenance-modal-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .rb-status-page--error .rb-status-actions .btn,
  .rb-status-page--maintenance .rb-status-actions .btn,
  .rb-maintenance-modal-actions .btn,
  .rb-status-page--error .rb-status-actions .rb-btn,
  .rb-status-page--maintenance .rb-status-actions .rb-btn,
  .rb-maintenance-modal-actions .rb-btn { width: 100%; }
}
