/* Fitnity Screen · performance, administración y TV. */
:root {
  --product-accent: #1769f5;
  --product-accent-hover: #0d55d4;
  --product-accent-soft: #eef4ff;
  --product-gradient: linear-gradient(135deg, #1769f5, #7047e8);
  --product-surface-dark: #080e19;
  --product-ink: #17283b;
  --product-muted: #617187;
  --product-line: #dfe6f0;
  --fitnity-focus-ring: #53b7ff;
}
.button.primary:not(:disabled):hover,
.primary.button:not(:disabled):hover { background: var(--product-accent-hover); }
:where(.error, [role="alert"]):not(:empty) { color: var(--fitnity-status-error); }
.brand > span,
.sidebar-brand > span { letter-spacing: normal; }
.brand img.brand-mark { background: transparent; object-fit: contain; }
.activation-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--product-ink);
  text-decoration: none;
}
.activation-brand img { width: 38px; height: 38px; object-fit: contain; }
.activation-brand strong { display: block; font-size: 19px; letter-spacing: normal; }
.activation-brand small { display: block; margin-top: 3px; color: #52627b; font-size: 9px; letter-spacing: .24em; }
.fc .fc-primary { background: var(--product-accent); }
.fc .fc-primary:not(:disabled):hover { background: var(--product-accent-hover); }
.fc :where(button, a, input, select, textarea):focus-visible {
  outline-color: var(--fitnity-focus-ring);
}
.legal-screen { font-family: var(--fitnity-font-sans); }
.legal-screen a { color: var(--product-accent); }
.legal-screen .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--product-ink);
  text-decoration: none;
}
.legal-screen .brand img { width: 36px; height: 36px; object-fit: contain; }
.legal-screen .brand span { font-size: 18px; line-height: 1.05; }
.legal-screen .brand small { display: block; margin-top: 4px; color: #52627b; font-size: 9px; letter-spacing: .24em; }
.legal-screen a:focus-visible { outline-color: var(--fitnity-focus-ring); }
