.jhi-rp-selector {
  /* Janus Henderson brand palette */
  --brand-main: #393d47;          /* slate grey */
  --brand-dark: #304147;          /* dark slate grey */
  --brand-secondary: #f7b57f;     /* tangerine 50 */
  --brand-accent: #f06c00;        /* tangerine */
  --brand-accent-hover: #f49140;  /* tangerine 75 */
  --brand-link: #12749a;          /* cerulean */
  --color-background: #f7f8f9;     /* porcelain */
  --color-surface: #ffffff;
  --color-surface-alt: #ebebec;   /* slate grey 10 */
  --color-surface-accent: #d9e9ef;/* cerulean 15 */
  --color-text-primary: #393d47;  /* slate grey */
  --color-text-secondary: #6b6e75;/* slate grey 75 */
  --color-text-muted: #6b6e75;    /* slate grey 75 — see wizard.css note */
  --color-text-disabled: #b2bbc2; /* slate grey 50 */
  --color-border: #d7d8da;        /* slate grey 20 */

  font-family: "OpenSans", system-ui, sans-serif;
  background: var(--color-background);
  color: var(--color-text-primary);
  overflow: hidden;
}

.jhi-rp-selector .hero {
  min-height: 160px;
  padding: 24px 32px 40px;
  background: linear-gradient(135deg, #393d47 0%, #304147 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.jhi-rp-selector .hero-logo {
  height: 32px;
  margin-bottom: 8px;
  filter: brightness(0) invert(1);
}

.jhi-rp-selector .hero-title {
  color: #fff;
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 24px;
  font-weight: 800;
}

.jhi-rp-selector .hero-subtitle {
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  margin-top: 4px;
}

.jhi-rp-selector .container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 24px;
}

.jhi-rp-selector .cards-section {
  margin-top: 10px;
}

.jhi-rp-selector .cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.jhi-rp-selector .mode-card {
  background: var(--color-surface);
  padding: 24px;
  text-align: center;
  transition: all 0.25s;
  border: 1px solid var(--color-border);
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Border carries the hover state; the card language has no elevation to raise. */
.jhi-rp-selector .mode-card:hover {
  border-color: var(--brand-accent);
}

.jhi-rp-selector .mode-card.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.jhi-rp-selector .card-icon {
  font-size: 36px;
  margin-bottom: 10px;
}

.jhi-rp-selector .card-title {
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--brand-main);
  margin-bottom: 4px;
}

.jhi-rp-selector .card-desc {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 12px;
}

.jhi-rp-selector .card-time {
  font-size: 11px;
  font-weight: 700;
  color: var(--color-text-primary);
  background: var(--color-surface-accent);
  padding: 4px 12px;
  margin-bottom: 12px;
}

.jhi-rp-selector .card-features {
  text-align: left;
  font-size: 12px;
  color: var(--color-text-secondary);
  list-style: none;
  padding: 0;
  width: 100%;
}

.jhi-rp-selector .card-features li {
  padding: 3px 0;
  border-bottom: 1px solid var(--color-border);
}

.jhi-rp-selector .card-features li:last-child {
  border-bottom: none;
}

.jhi-rp-selector .card-btn {
  display: inline-block;
  margin-top: 16px;
  padding: 12px 30px;
  background: var(--brand-main);
  color: #fff;
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  border: 2px solid var(--brand-accent);
  border-radius: 0;
  transition: all 0.2s;
}

.jhi-rp-selector .mode-card:hover .card-btn {
  background: var(--brand-accent-hover);
  color: var(--brand-main);
  border-color: var(--brand-accent-hover);
}

.jhi-rp-selector .selector-warning {
  margin-bottom: 12px;
  background: #fff4f1;
  border: 1px solid #f4c4ba;
  color: #8f2e1d;
  padding: 10px 12px;
  font-size: 13px;
}

@media (max-width: 768px) {
  .jhi-rp-selector .cards-grid {
    grid-template-columns: 1fr;
  }

  .jhi-rp-selector .hero {
    padding: 24px 16px 48px;
  }

  .jhi-rp-selector .hero-title {
    font-size: 22px;
  }
}
