.ssaft-flq-tool {
  --ssaft-surface: #f8fbff;
  --ssaft-card: #ffffff;
  --ssaft-border: #d8e3f8;
  --ssaft-text: #102747;
  --ssaft-muted: #405a7c;
  --ssaft-primary: #0f62fe;
  --ssaft-primary-hover: #0a4ec7;
  --ssaft-secondary: #eaf2ff;
  --ssaft-secondary-border: #bfd3f8;
  color: var(--ssaft-text);
  background: var(--ssaft-surface);
  border: 1px solid var(--ssaft-border);
  border-radius: 12px;
  padding: 18px;
  margin: 18px 0;
}

.ssaft-flq-tool h2,
.ssaft-flq-tool h3,
.ssaft-flq-tool h4,
.ssaft-flq-tool h5,
.ssaft-flq-tool p,
.ssaft-flq-tool label,
.ssaft-flq-tool li,
.ssaft-flq-tool legend {
  color: #000 !important;
}

.ssaft-flq-header p {
  color: #000 !important;
}

.ssaft-flq-questions {
  display: grid;
  gap: 12px;
}

.ssaft-flq-q {
  border: 1px solid #dce5f8;
  border-radius: 10px;
  background: #f8fbff;
  padding: 12px;
}

.ssaft-flq-q[hidden] {
  display: none !important;
}

.ssaft-flq-q.is-active {
  border-color: #bcd0f6;
  box-shadow: 0 8px 18px rgba(16, 39, 71, 0.06);
}

.ssaft-flq-q legend {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
}

.ssaft-flq-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ssaft-flq-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 1px solid #d8e3f8;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  cursor: pointer;
}

.ssaft-flq-option:hover,
.ssaft-flq-option:focus-within {
  border-color: #9bb8ef;
  background: #f7faff;
}

.ssaft-flq-option input[type="radio"] {
  margin-top: 2px;
}

.ssaft-flq-stepper {
  margin-top: 10px;
  border: 1px solid #d8e3f8;
  border-radius: 10px;
  background: #f8fbff;
  padding: 10px 12px;
}

.ssaft-flq-progress {
  font-size: 0.92rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.ssaft-flq-step-actions,
.ssaft-flq-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ssaft-flq-actions {
  margin-top: 12px;
}

.ssaft-flq-primary,
.ssaft-flq-secondary,
.ssaft-flq-submit {
  border: 1px solid transparent;
  border-radius: 8px;
  min-height: 42px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
}

.ssaft-flq-primary,
.ssaft-flq-submit {
  background: var(--ssaft-primary) !important;
  color: #fff !important;
  border-color: #0a4ec7 !important;
}

.ssaft-flq-primary:hover,
.ssaft-flq-submit:hover {
  background: var(--ssaft-primary-hover) !important;
}

.ssaft-flq-secondary {
  background: var(--ssaft-secondary) !important;
  color: #0f2f59 !important;
  border-color: var(--ssaft-secondary-border) !important;
}

.ssaft-flq-primary:disabled,
.ssaft-flq-secondary:disabled,
.ssaft-flq-submit:disabled {
  opacity: 1 !important;
  cursor: not-allowed;
  background: #d9e2f2 !important;
  color: #4a5f7f !important;
  border-color: #b9c8e6 !important;
}

.ssaft-flq-results {
  margin-top: 14px;
  border: 1px solid #d8e3f8;
  border-radius: 10px;
  background: #fff;
  padding: 12px;
}

.ssaft-flq-result-card {
  border: 1px solid #dce8fa;
  border-radius: 10px;
  background: #f8fbff;
  padding: 12px;
}

.ssaft-flq-result-card h3,
.ssaft-flq-result-card h4 {
  margin: 0 0 8px;
}

.ssaft-flq-result-card ul {
  margin: 0 0 12px;
  padding-left: 18px;
}

.ssaft-flq-result-card li {
  margin-bottom: 8px;
}

@media (max-width: 760px) {
  .ssaft-flq-step-actions,
  .ssaft-flq-actions {
    flex-direction: column;
  }

  .ssaft-flq-primary,
  .ssaft-flq-secondary,
  .ssaft-flq-submit {
    width: 100%;
  }
}

/* Final answer-row guard for the Financial Literacy Test. */
.ssaft-flq-tool,
.ssaft-flq-tool * {
  box-sizing: border-box;
  min-width: 0;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
}

.ssaft-flq-tool {
  color-scheme: dark;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(8, 18, 34, 0.98), rgba(3, 8, 18, 0.98)) !important;
  border-color: rgba(45, 212, 191, 0.42) !important;
  color: #f4fdff !important;
}

.ssaft-flq-tool :is(h2, h3, h4, h5, p, label, li, legend, span, strong) {
  color: #f4fdff !important;
  -webkit-text-fill-color: #f4fdff !important;
}

.ssaft-flq-q,
.ssaft-flq-stepper,
.ssaft-flq-results,
.ssaft-flq-result-card {
  background: rgba(3, 10, 18, 0.72) !important;
  border-color: rgba(56, 189, 248, 0.34) !important;
}

.ssaft-flq-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

.ssaft-flq-option {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  background: rgba(8, 18, 34, 0.92) !important;
  border-color: rgba(45, 212, 191, 0.32) !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
}

.ssaft-flq-option input[type="radio"] {
  grid-column: 1 !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  position: static !important;
}
