#rs-customer-core {
  max-width: 950px;
  margin: 40px auto;
  padding: 28px;
  color: #fff;
  background: #021008;
  border: 4px solid #ffd700;
  border-radius: 22px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1.5;
}

#rs-customer-core h2 {
  color: #ffd700;
  font-size: 38px;
}

#rs-customer-core label {
  display: block;
  margin-top: 22px;
  font-weight: 700;
}

#rs-customer-core input,
#rs-customer-core select,
#rs-customer-core textarea,
#rs-customer-core button {
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  margin-top: 8px;
  padding: 14px;
  color: #fff;
  background: #000;
  border: 3px solid #ffd700;
  border-radius: 14px;
  font-size: 22px;
}

#rs-customer-core button {
  color: #ffd700;
  font-weight: 800;
  cursor: pointer;
}

#rs-customer-core button:focus,
#rs-customer-core input:focus,
#rs-customer-core select:focus {
  outline: 6px solid #fff;
  outline-offset: 3px;
}

.rs-hidden {
  display: none !important;
}

.rs-status {
  margin: 20px 0;
  padding: 18px;
  border: 3px solid #fff;
  border-radius: 14px;
}

.rs-assistant {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
}

.rs-assistant-face {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  flex: 0 0 84px;
  color: #021008;
  background: #ffd700;
  border: 4px solid #fff;
  border-radius: 50%;
  font-size: 42px;
}

.rs-assistant[data-state="working"] .rs-assistant-face {
  animation: rsPulse 1.2s infinite;
}

.rs-assistant[data-state="success"] .rs-assistant-face {
  background: #48e078;
}

.rs-assistant[data-state="error"] .rs-assistant-face {
  background: #ff6767;
}

@keyframes rsPulse {
  50% { transform: scale(1.1); }
}

.rs-trip {
  margin-top: 16px;
  padding: 16px;
  border: 2px solid #ffd700;
  border-radius: 12px;
}

@media (max-width: 700px) {
  #rs-customer-core {
    margin: 12px;
    padding: 18px;
    font-size: 21px;
  }
}

[hidden] { display: none !important; }
input[type="checkbox"] { width: 28px; min-height: 28px; }
button:disabled { opacity: .65; cursor: wait; }
.skip-link { display: inline-block; padding: 16px; color: #ffd84d; }

#rs-customer-core input, #rs-customer-core select { min-width: 0; max-width: 100%; }
#rs-customer-core input[type="checkbox"] { width: 28px; min-height: 28px; padding: 0; }
body.senior #rs-customer-core, body.senior #rs-customer-core input, body.senior #rs-customer-core select, body.senior #rs-customer-core button { font-size: 28px; }


#rs-customer-core a { color: #ffd84d; overflow-wrap: anywhere; }
#rs-customer-core nav { display: flex; gap: 12px; flex-wrap: wrap; }
#rs-customer-core nav a { display: inline-flex; align-items: center; min-height: 48px; }
#rs-customer-core .rs-trip { overflow-wrap: anywhere; }
#rs-customer-core a.action { display: block; color: #021008; background: #ffd84d; }
#rs-customer-core h3 { overflow-wrap: anywhere; }
#rs-message { min-height: 3em; border-left: 4px solid #ffd700; padding-left: 12px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; scroll-behavior: auto !important; } }
@media (max-width: 500px) { #rs-customer-core { margin: 8px 0; padding: 14px; } }

/* Long generated sandbox IDs must wrap inside the narrow mobile console. */
#rs-square-sandbox {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

#rs-square-result {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
