.onboarding-terms {
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid var(--border, #2a3542);
  border-radius: 8px;
  color: var(--text-secondary, #b9c3cf);
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
.onboarding-terms summary { cursor: pointer; color: var(--text-primary, #f4f7fa); font-weight: 600; }
.onboarding-terms p { margin: 8px 0 0; }
.onboarding-age { display: flex; gap: 8px; margin-top: 14px; color: var(--text-secondary, #b9c3cf); font-size: 12px; line-height: 1.45; text-align: left; }
.onboarding-age input[type="checkbox"],
.consent-option input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  margin: 2px 0 0;
  border: initial;
  border-radius: initial;
  background: initial;
  accent-color: var(--accent-color, #e84040);
}
.consent-option input[type="checkbox"]:not(:disabled) { cursor: pointer; }
.consent-option input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: .55;
  filter: grayscale(.7);
}
.compliance-modal { position: fixed; inset: 0; z-index: 20000; display: flex; align-items: center; justify-content: center; padding: 18px; background: rgba(5, 8, 12, .86); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.compliance-dialog { width: min(560px, 100%); max-height: calc(90vh); min-height: 0; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--border, #2a3542); border-radius: 14px; background: var(--bg-card, #151c25); color: var(--text-primary, #f4f7fa); box-shadow: 0 12px 45px #0008; }
.compliance-dialog { max-height: min(90vh, calc(100dvh - 36px)); }
.compliance-dialog h2 { margin: 0 0 14px; font-family: var(--font-mono); font-size: 19px; }
.compliance-copy { min-height: 0; overflow-y: auto; overflow-x: hidden; overflow-wrap: anywhere; -webkit-overflow-scrolling: touch; color: var(--text-secondary, #b9c3cf); line-height: 1.55; font-size: 13px; }
.compliance-copy a, .legal-center a { color: var(--blue, #72b7ff); }
.compliance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 20px; flex-shrink: 0; }
.consent-option { display: flex; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--border, #2a3542); }
.consent-option input { accent-color: var(--accent-color, #e84040); }
.consent-option span { display: grid; gap: 3px; }
.consent-option small { color: var(--text-muted, #9da8b5); }
.consent-disabled { opacity: .55; }
.legal-center-wrapper { width: min(700px, 100%); margin: 0 auto; }
.legal-center { padding: 0; overflow: hidden; }
.legal-center details { border-bottom: 1px solid var(--border, #2a3542); padding: 14px 16px; }
.legal-center summary { cursor: pointer; font-weight: 600; color: var(--text-primary, #f4f7fa); }
.legal-text { padding-top: 12px; color: var(--text-secondary, #b9c3cf); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.legal-text p { margin: 0 0 10px; }
.legal-text h3 { color: var(--text-primary, #f4f7fa); font-size: 13px; margin: 14px 0 4px; }
.legal-contact { padding: 14px 16px 4px; font-size: 12px; }
.legal-delete { margin: 14px 16px; padding: 14px; border: 1px solid rgba(232,64,64,.45); border-radius: 9px; font-size: 12px; color: var(--text-secondary, #b9c3cf); }
.legal-delete strong { color: var(--text-primary, #f4f7fa); }
.legal-delete p { margin: 8px 0 12px; line-height: 1.5; }
#delete-local-status { display: block; margin-top: 8px; color: var(--green, #6ee7a2); }
.micro-disclaimer { margin: 22px 0 8px; color: var(--text-muted, #9da8b5); font-size: 11px; line-height: 1.5; text-align: center; }
@media (max-width: 520px) {
  .compliance-modal { align-items: stretch; padding: 8px; }
  .compliance-dialog { width: 100%; max-height: calc(100dvh - 16px); padding: 16px; margin: auto; }
  .compliance-actions > * { flex: 1 1 100%; }
  .legal-center details { padding: 12px; }
}

@media (min-width: 701px) {
  .onboarding-content {
    width: min(600px, 100%);
  }
}