/* Keep the HTML hidden attribute authoritative over component display rules. */
[hidden] {
  display: none !important;
}

/* Accessibility hardening for the website parent portal. */
:root { --portal-focus: #422cb7; --portal-input-border: #65728a; --portal-progress: #168d80; }

.portal-header a:focus-visible,
.portal-shell a:focus-visible,
.portal-shell button:focus-visible,
.login-card input:focus-visible {
  outline: 3px solid var(--portal-focus);
  outline-offset: 3px;
}

.login-card input {
  border-color: var(--portal-input-border);
}

.login-card input:focus {
  outline-color: var(--portal-focus);
  border-color: var(--portal-focus);
}

.primary-button,
.outline-button,
.icon-button {
  min-height: 44px;
}

.icon-button {
  min-width: 44px;
  padding-inline: 9px;
}

.subject-track i {
  background: var(--portal-progress);
}

@media (prefers-reduced-motion: reduce) {
  .primary-button,
  .outline-button,
  .icon-button,
  .loader {
    animation: none !important;
    transition: none !important;
  }
}
