body[data-portal="x_ou"] {
  --x-bg: #f6f7f9;
  --x-surface: #ffffff;
  --x-box: #fcfcfd;
  --x-ink: #101828;
  --x-text: #344054;
  --x-muted: #667085;
  --x-border: #d9dee7;
  --x-brand: #111827;
  --x-brand-soft: #eef4ff;
  --x-accent: #3538cd;
  background: var(--x-bg);
  color: var(--x-text);
}

body[data-portal="x_ou"] main {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 24px 16px 64px;
}

body[data-portal="x_ou"] :is(h1, h2, h3) {
  color: var(--x-ink);
  font-family: custom, Inter, system-ui, sans-serif;
  letter-spacing: 0;
}

body[data-portal="x_ou"] h4 {
  color: var(--x-ink);
  font-family: custom, Inter, system-ui, sans-serif;
  text-transform: uppercase;
}

body[data-portal="x_ou"] :is(p, label, td, th) {
  color: var(--x-text);
}

body[data-portal="x_ou"] :is(span, small) {
  color: var(--x-muted);
}

body[data-portal="x_ou"] :is(a[href], button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #3538cd;
  outline-offset: 3px;
}

body[data-portal="x_ou"] :is(nav, section, article, aside, .panel, .card) {
  border-color: var(--x-border);
}

body[data-portal="x_ou"] :is(input, textarea, select) {
  border-color: var(--x-border);
  background: var(--x-surface);
  color: var(--x-text);
}

body[data-portal="x_ou"] .box {
  border: 1px solid var(--x-border);
  border-radius: 8px;
  color: var(--x-text);

  &._outer {
    background: var(--x-surface);
    box-shadow: 0 18px 50px rgba(16, 24, 40, .06);
  }

  &._inner {
    background: var(--x-box);
  }
}

body[data-portal="x_ou"] .button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 14px;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: filter .16s ease, transform .16s ease;

  &._primary {
    background: var(--x-brand);
    color: #ffffff;
  }

  &._secondary {
    border-color: var(--x-border);
    background: var(--x-surface);
    color: var(--x-text);
  }

  &:is(._primary, ._secondary):hover {
    filter: brightness(.96);
  }

  &:is(._primary, ._secondary):active {
    transform: translateY(1px);
  }

  &:disabled {
    cursor: not-allowed;
    filter: none;
    opacity: .58;
  }
}

body[data-portal="x_ou"] a {
  color: var(--x-accent);
}
