html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background: #f6f8fa;
  color: #17202a;
}

.skip-link {
  background: #0f172a;
  color: #fff;
  left: 0.75rem;
  padding: 0.65rem 0.9rem;
  position: fixed;
  top: -5rem;
  z-index: 1100;
}

.skip-link:focus {
  color: #fff;
  top: 0.75rem;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.admin-shell__nav {
  min-height: 4rem;
}

.admin-shell__nav .container-fluid,
.admin-shell__nav .navbar-collapse {
  min-width: 0;
}

.admin-shell__nav .navbar-collapse {
  overflow-x: auto;
}

.admin-shell__nav .navbar-nav {
  flex-wrap: nowrap;
}

.admin-shell__brand {
  flex-shrink: 0;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}

.admin-shell__nav .nav-link {
  border-bottom: 3px solid transparent;
  color: #364152;
  font-weight: 500;
  white-space: nowrap;
}

.admin-shell__nav .nav-link.active {
  border-bottom-color: #0f766e;
  color: #0f172a;
}

.admin-shell__account {
  border: 1px solid #d5dce5;
  border-radius: 6px;
  color: #526173;
  font-size: 0.9rem;
  padding: 0.45rem 0.75rem;
  white-space: nowrap;
}

.admin-shell__account span {
  margin-right: 0.75rem;
}

.admin-shell__content {
  max-width: 1180px;
  padding: 1.5rem;
}

.admin-shell__footer {
  background: #fff;
  font-size: 0.875rem;
  line-height: 3.5rem;
}

.placeholder-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.placeholder-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.placeholder-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.placeholder-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.placeholder-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.placeholder-page__details {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-bottom: 1.25rem;
}

.placeholder-page__details div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.placeholder-page__details dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.placeholder-page__details dd {
  margin-bottom: 0;
}

.placeholder-page__empty-state {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
}

.dashboard-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.dashboard-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.dashboard-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.dashboard-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.dashboard-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.dashboard-page__summary {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.25rem;
}

.dashboard-page__summary div,
.dashboard-page__metadata div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.dashboard-page__summary dt,
.dashboard-page__metadata dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.dashboard-page__summary dd {
  color: #0f172a;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0;
}

.dashboard-page__metadata {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-bottom: 0;
}

.dashboard-page__metadata dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.dashboard-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.manual-review-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.manual-review-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.manual-review-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.manual-review-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.manual-review-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.manual-review-page__filters {
  align-items: end;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 1.25rem;
}

.manual-review-page__filters label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.manual-review-page__filters span,
.manual-review-page__metadata dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.manual-review-page__filters input,
.manual-review-page__filters select {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 2.35rem;
  padding: 0.45rem 0.6rem;
}

.manual-review-page__filters button {
  background: #0f766e;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
}

.manual-review-page__empty,
.manual-review-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.manual-review-page__status {
  border-radius: 6px;
  font-weight: 700;
  margin-bottom: 1rem;
  padding: 0.75rem 0.9rem;
}

.manual-review-page__status--success {
  background: #ecfdf5;
  border: 1px solid #99f6e4;
  color: #134e4a;
}

.manual-review-page__status--error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.manual-review-page__metadata {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.25rem;
}

.manual-review-page__metadata div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.manual-review-page__metadata dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.manual-review-page__note {
  border: 1px solid #dce3ea;
  border-radius: 6px;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.manual-review-page__note h2 {
  font-size: 1.1rem;
  margin-bottom: 0.3rem;
}

.manual-review-page__note p {
  color: #526173;
  margin-bottom: 0.85rem;
}

.manual-review-page__note form,
.manual-review-page__note label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.manual-review-page__note label {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.manual-review-page__note textarea {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 8rem;
  padding: 0.65rem 0.75rem;
  resize: vertical;
}

.manual-review-page__note button {
  align-self: flex-start;
  background: #0f766e;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.9rem;
}

.manual-review-page__table-wrap {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  overflow-x: auto;
}

.manual-review-page__table {
  margin-bottom: 0;
  min-width: 1180px;
  width: 100%;
}

.manual-review-page__table th,
.manual-review-page__table td {
  border-bottom: 1px solid #e5ebf1;
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.manual-review-page__table th {
  background: #f8fafc;
  color: #526173;
  font-size: 0.78rem;
  font-weight: 700;
}

.manual-review-page__table td {
  color: #17202a;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.background-checks-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.background-checks-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.background-checks-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.background-checks-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.background-checks-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.background-checks-page__summary {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin-bottom: 1rem;
}

.background-checks-page__summary-card {
  background: #f8fafc;
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  color: inherit;
  padding: 0.85rem;
  text-decoration: none;
  transition-duration: 160ms;
  transition-property: background-color, border-color, box-shadow;
  transition-timing-function: ease;
}

.background-checks-page__summary-card:hover,
.background-checks-page__summary-card:focus {
  background: #f1f5f9;
  border-color: #99b6c5;
  box-shadow: 0 0 0 0.16rem rgba(15, 118, 110, 0.14);
  color: inherit;
}

.background-checks-page__summary-card--active {
  background: #ecfdf5;
  border-color: #0f766e;
  box-shadow: inset 0 0 0 1px #0f766e;
}

.background-checks-page__summary-card span {
  color: #526173;
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.background-checks-page__summary-card strong {
  color: #0f172a;
  display: block;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.background-checks-page__filters {
  align-items: end;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-bottom: 1rem;
}

.background-checks-page__filters label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.background-checks-page__filters span {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.background-checks-page__filters select {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 2.35rem;
  padding: 0.45rem 0.6rem;
}

.background-checks-page__filters button {
  background: #0f766e;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
}

.background-checks-page__reset-link {
  align-items: center;
  color: #0f766e;
  display: inline-flex;
  font-weight: 700;
  min-height: 2.35rem;
  text-decoration: none;
}

.background-checks-page__reset-link:hover {
  color: #0f172a;
  text-decoration: underline;
}

.background-checks-page__result-count {
  color: #364152;
  font-weight: 600;
  margin-bottom: 1rem;
}

.background-checks-page__empty,
.background-checks-page__summary-unavailable,
.background-checks-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.background-checks-page__metadata {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.25rem;
}

.background-checks-page__metadata div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.background-checks-page__metadata dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.background-checks-page__metadata dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.background-checks-page__table-wrap {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  margin-bottom: 1rem;
  overflow-x: auto;
}

.background-checks-page__table {
  margin-bottom: 0;
  min-width: 1180px;
  width: 100%;
}

.background-checks-page__table th,
.background-checks-page__table td {
  border-bottom: 1px solid #e5ebf1;
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.background-checks-page__table th {
  background: #f8fafc;
  color: #526173;
  font-size: 0.78rem;
  font-weight: 700;
}

.background-checks-page__table td {
  color: #17202a;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.background-checks-page__details-link {
  color: #0f766e;
  font-weight: 700;
  text-decoration: none;
}

.background-checks-page__details-link:hover {
  color: #0f172a;
  text-decoration: underline;
}

.background-checks-page__muted {
  color: #526173;
  display: block;
}

.background-checks-page__paging {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: flex-end;
}

.background-checks-page__paging a {
  color: #0f766e;
  font-weight: 700;
  text-decoration: none;
}

.background-checks-page__paging a:hover {
  color: #0f172a;
  text-decoration: underline;
}

.exception-queue-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.exception-queue-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.exception-queue-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.exception-queue-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.exception-queue-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.exception-queue-page__filters {
  align-items: end;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 1.25rem;
}

.exception-queue-page__filters label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.exception-queue-page__filters span,
.exception-queue-page__metadata dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.exception-queue-page__filters input,
.exception-queue-page__filters select {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 2.35rem;
  padding: 0.45rem 0.6rem;
}

.exception-queue-page__filters button {
  background: #0f766e;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
}

.exception-queue-page__empty,
.exception-queue-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.exception-queue-page__metadata {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.25rem;
}

.exception-queue-page__metadata div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.exception-queue-page__metadata dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.exception-queue-page__table-wrap {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  overflow-x: auto;
}

.exception-queue-page__table {
  margin-bottom: 0;
  min-width: 1420px;
  width: 100%;
}

.exception-queue-page__table th,
.exception-queue-page__table td {
  border-bottom: 1px solid #e5ebf1;
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.exception-queue-page__table th {
  background: #f8fafc;
  color: #526173;
  font-size: 0.78rem;
  font-weight: 700;
}

.exception-queue-page__table td {
  color: #17202a;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.background-check-detail-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.background-check-detail-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.background-check-detail-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
  text-wrap: balance;
}

.background-check-detail-page__header p {
  color: #526173;
  margin-bottom: 0.65rem;
  text-wrap: pretty;
}

.background-check-detail-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.background-check-detail-page__breadcrumb {
  align-items: center;
  color: #526173;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.9rem;
  gap: 0.4rem;
  margin-bottom: 0.35rem;
}

.background-check-detail-page__back-link {
  align-items: center;
  color: #0f766e;
  display: inline-flex;
  font-weight: 700;
  min-height: 2.5rem;
  text-decoration: none;
  transition-duration: 160ms;
  transition-property: color, text-decoration-color;
  transition-timing-function: ease;
}

.background-check-detail-page__back-link:hover {
  color: #0f172a;
  text-decoration: underline;
}

.background-check-detail-page__summary {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 1rem;
}

.background-check-detail-page__summary div {
  background: #f8fafc;
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 0.85rem;
}

.background-check-detail-page__summary span {
  color: #526173;
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.background-check-detail-page__summary strong {
  color: #0f172a;
  display: block;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.background-check-detail-page__safe-note {
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  margin-bottom: 1rem;
  padding: 0.85rem;
  text-wrap: pretty;
}

.background-check-detail-page__operator-context {
  border: 1px solid #dce3ea;
  border-radius: 6px;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-bottom: 1rem;
  padding: 1rem;
}

.background-check-detail-page__operator-context h2 {
  color: #0f172a;
  font-size: 1.05rem;
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.background-check-detail-page__operator-context div {
  background: #f8fafc;
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 0.85rem;
}

.background-check-detail-page__operator-context span {
  color: #526173;
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.background-check-detail-page__operator-context strong {
  color: #0f172a;
  display: block;
  overflow-wrap: anywhere;
}

.background-check-detail-page__operator-context-step {
  grid-column: 1 / -1;
}

.background-check-detail-page__sections {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.background-check-detail-page__section {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  padding: 1rem;
}

.background-check-detail-page__section h2 {
  color: #0f172a;
  font-size: 1.05rem;
  margin-bottom: 0.85rem;
  text-wrap: balance;
}

.background-check-detail-page__section dl {
  display: grid;
  gap: 0.7rem;
  margin-bottom: 0;
}

.background-check-detail-page__section div {
  border-top: 1px solid #eef2f6;
  padding-top: 0.7rem;
}

.background-check-detail-page__section div:first-child {
  border-top: 0;
  padding-top: 0;
}

.background-check-detail-page__section dt {
  color: #526173;
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.background-check-detail-page__section dd {
  font-variant-numeric: tabular-nums;
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.background-check-detail-page__handoff {
  background: #f8fafc;
  border: 1px solid #dce3ea;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.9rem;
  padding: 0.85rem;
  text-wrap: pretty;
}

.background-check-detail-page__handoff strong {
  color: #0f172a;
}

.background-check-detail-page__handoff-link {
  align-self: flex-start;
  color: #0f766e;
  font-weight: 700;
  min-height: 2rem;
  text-decoration: none;
}

.background-check-detail-page__handoff-link:hover {
  color: #0f172a;
  text-decoration: underline;
}

.background-check-detail-page__empty,
.background-check-detail-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  text-wrap: pretty;
}

.dash-login-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.dash-login-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.dash-login-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
}

.dash-login-page__header p {
  color: #526173;
  margin-bottom: 0;
}

.dash-login-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.dash-login-page__status {
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
  padding: 1rem;
}

.dash-login-page__notice,
.dash-login-page__result-summary {
  color: #526173;
  margin-bottom: 1rem;
}

.dash-login-page__form {
  align-items: end;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 1.25rem;
}

.dash-login-page__form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.dash-login-page__form span,
.dash-login-page__result dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.dash-login-page__form input,
.dash-login-page__form select {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 2.35rem;
  padding: 0.45rem 0.6rem;
}

.dash-login-page__form button {
  background: #0f766e;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
}

.dash-login-page__form button:hover,
.coach-start-page__submit button:hover,
.coach-status-page__primary-action:hover {
  filter: brightness(0.92);
}

.dash-login-page__form input:focus-visible,
.coach-start-page__fields input:focus-visible,
.coach-start-page__single-field input:focus-visible,
.coach-start-page__check input:focus-visible {
  border-color: #105f7a;
  outline: 3px solid #bfdbfe;
  outline-offset: 2px;
}

.dash-login-page__result dl {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 0;
}

.dash-login-page__result div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.dash-login-page__result dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.dash-login-page__result {
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: 6px;
  padding: 1rem;
}

.dash-login-page__result h2 {
  font-size: 1.1rem;
}

.coach-status-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.coach-status-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.coach-status-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
  text-wrap: balance;
}

.coach-status-page__header p {
  color: #526173;
  margin-bottom: 0;
  text-wrap: pretty;
}

.coach-status-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.coach-status-page__summary,
.coach-status-page__metadata {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 1.25rem;
}

.coach-status-page__summary div,
.coach-status-page__metadata div {
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 1rem;
}

.coach-status-page__summary dt,
.coach-status-page__metadata dt {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.coach-status-page__summary dd,
.coach-status-page__metadata dd {
  font-variant-numeric: tabular-nums;
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.coach-status-page__notice,
.coach-status-page__next-step,
.coach-status-page__guidance,
.coach-status-page__unavailable {
  align-items: flex-start;
  background: #f8fafc;
  border: 1px dashed #b7c2cf;
  border-radius: 6px;
  color: #364152;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  text-wrap: pretty;
}

.coach-status-page__guidance {
  border-style: solid;
}

.coach-status-page__guidance h2 {
  color: #0f172a;
  font-size: 1.1rem;
  margin-bottom: 0;
}

.coach-status-page__guidance p {
  margin-bottom: 0;
}

.coach-status-page__next-step {
  border-style: solid;
}

.coach-status-page__next-step h2 {
  color: #0f172a;
  font-size: 1.1rem;
  margin-bottom: 0;
}

.coach-status-page__next-step p {
  margin-bottom: 0;
}

.coach-status-page__deferred-action {
  background: #e5ebf1;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #526173;
  display: inline-flex;
  font-weight: 700;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
}

.coach-status-page__continuation-form {
  margin: 0;
}

.coach-status-page__primary-action {
  background: #105f7a;
  border: 1px solid #0b4a60;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.6rem 1rem;
  text-decoration: none;
}

.coach-status-page__primary-action:focus-visible {
  outline: 3px solid #93c5fd;
  outline-offset: 2px;
}

.coach-start-page {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  padding: 1.5rem;
}

.coach-start-page__header {
  border-bottom: 1px solid #e5ebf1;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}

.coach-start-page__header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.35rem;
  text-wrap: balance;
}

.coach-start-page__header p,
.coach-start-page__section p,
.coach-start-page__submit p {
  color: #526173;
  margin-bottom: 0;
  text-wrap: pretty;
}

.coach-start-page__eyebrow {
  color: #0f766e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
}

.coach-start-page__status,
.coach-start-page__section,
.coach-start-page__submit {
  border: 1px solid #dce3ea;
  border-radius: 6px;
  margin-bottom: 1rem;
  padding: 1rem;
}

.coach-start-page__status {
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.coach-start-page__validation,
.coach-start-page__field-validation {
  color: #b91c1c;
  font-size: 0.9rem;
  font-weight: 700;
}

.coach-start-page__validation ul {
  margin-bottom: 1rem;
}

.coach-start-page__section h2,
.coach-start-page__submit h2 {
  color: #0f172a;
  font-size: 1.1rem;
  margin-bottom: 0.65rem;
}

.coach-start-page__summary,
.coach-start-page__fields {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 0;
  margin-top: 1rem;
}

.coach-start-page__summary div {
  background: #f8fafc;
  border: 1px solid #e5ebf1;
  border-radius: 6px;
  padding: 0.85rem;
}

.coach-start-page__summary dt,
.coach-start-page__fields span,
.coach-start-page__single-field span {
  color: #526173;
  font-size: 0.8rem;
  font-weight: 700;
}

.coach-start-page__summary dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.coach-start-page__fields label,
.coach-start-page__single-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.coach-start-page__fields input,
.coach-start-page__single-field input {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  min-height: 2.35rem;
  padding: 0.45rem 0.6rem;
}

.coach-start-page__check {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  gap: 0.55rem;
}

.coach-start-page__check input {
  flex: 0 0 auto;
  height: 1.25rem;
  margin-top: 0.1rem;
  width: 1.25rem;
}

.coach-start-page__check-validation {
  display: block;
  margin-top: 0.35rem;
}

.coach-start-page__legal-copy {
  color: #364152;
  line-height: 1.65;
  max-height: 24rem;
  overflow-y: auto;
  padding-right: 0.5rem;
  white-space: pre-line;
}

.coach-start-page__submit {
  background: #f8fafc;
}

.coach-start-page__submit button {
  background: #0f766e;
  border: 1px solid #0f766e;
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
  margin-top: 0.85rem;
  min-height: 2.75rem;
  padding: 0.6rem 1rem;
}

.support-reference {
  color: #64748b;
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .admin-shell__content {
    padding: 0.75rem;
  }

  .dash-login-page,
  .coach-status-page,
  .coach-start-page {
    border-radius: 0;
    padding: 1rem;
  }

  .dash-login-page__form,
  .coach-status-page__summary,
  .coach-start-page__summary,
  .coach-start-page__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .dash-login-page__form button,
  .coach-status-page__primary-action,
  .coach-status-page__continuation-form,
  .coach-start-page__submit button {
    justify-content: center;
    width: 100%;
  }

  .coach-start-page__legal-copy {
    max-height: 18rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.coach-start-page__submit button:disabled {
  background: #e5ebf1;
  border-color: #cbd5e1;
  color: #526173;
}

/* Goal-376: PSA CoachWeb visual language, reimplemented from the read-only
   Coaches Tools reference without a runtime or source dependency. */
:root {
  --psa-navy: #0b2545;
  --psa-blue: #174b8a;
  --psa-sky: #2f80ed;
  --psa-gold: #f6b23d;
  --psa-green: #2f855a;
  --psa-red: #9b2c2c;
  --psa-ink: #172033;
  --psa-muted: #657184;
  --psa-line: #dbe3ef;
  --psa-soft: #f3f6fb;
  --psa-card: #fff;
  --psa-radius: 16px;
  --psa-shadow: 0 18px 60px rgba(11, 37, 69, 0.12);
}

html {
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--psa-ink);
  background: var(--psa-soft);
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

a {
  color: var(--psa-blue);
}

.btn,
.coach-status-page__primary-action,
.coach-status-page__action-link,
.coach-start-page__submit button,
.dash-login-page__form button {
  border-radius: 999px;
  font-weight: 700;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.btn:active,
.coach-status-page__primary-action:active,
.coach-status-page__action-link:active,
.coach-start-page__submit button:active,
.dash-login-page__form button:active {
  transform: scale(0.97);
}

.btn-primary,
.dash-login-page__form .btn-primary,
.coach-start-page__submit button {
  color: #fff;
  background: var(--psa-blue);
  border-color: var(--psa-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.dash-login-page__form .btn-primary:hover,
.dash-login-page__form .btn-primary:focus,
.coach-start-page__submit button:hover,
.coach-start-page__submit button:focus {
  color: #fff;
  background: var(--psa-navy);
  border-color: var(--psa-navy);
  filter: none;
}

.btn:focus-visible,
.nav-link:focus-visible,
.admin-shell__account:focus-visible,
.coach-status-page__primary-action:focus-visible,
.coach-status-page__action-link:focus-visible,
.coach-start-page__submit button:focus-visible,
.dash-login-page__form button:focus-visible,
.auth-support:focus-visible,
.app-brand:focus-visible,
.auth-brand:focus-visible {
  outline: 3px solid rgba(47, 128, 237, 0.38);
  outline-offset: 3px;
}

.coach-app {
  background:
    radial-gradient(circle at 10% 0%, rgba(125, 183, 232, 0.22), transparent 34%),
    linear-gradient(180deg, #eef3fa 0%, #f8fbff 42%, #f3f6fb 100%);
}

.app-header {
  position: relative;
  z-index: 20;
  width: min(1280px, calc(100% - 32px));
  margin: 20px auto 0;
  overflow: hidden;
  border-radius: var(--psa-radius) var(--psa-radius) 0 0;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(11, 37, 69, 0.08), var(--psa-shadow);
}

.app-navbar.admin-shell__nav {
  min-height: 76px;
  border-bottom: 1px solid var(--psa-line);
  background: #fff;
}

.app-navbar > .container-fluid {
  padding-inline: clamp(18px, 2.6vw, 28px);
}

.app-brand,
.auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--psa-navy);
  text-decoration: none;
}

.app-brand:hover,
.auth-brand:hover {
  color: var(--psa-navy);
}

.app-brand-logo-shell {
  display: inline-grid;
  width: 58px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(219, 227, 239, 0.95);
  border-radius: 8px;
  color: #2f52a6;
  background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAACMCAYAAADhuBXHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAfm0lEQVR4nO2debhcRZmH37AvQthRNhETQFBKtrCqSJCdqUFQFil1QBRBERgdGBEcZgQUUHEEHVCEUIMYNi2QRQYwYAQEWQoCAQwQCEsIBBIIS8g2f3x1SafT9/Z26tQ53ed9nvPcJaerviTdv1P11bcMW7BgARUVFRX9wBKpDaioqKjIi0rwKioq+oZK8CoqKvqGSvAqKir6hqVSG1A2lLarAB8A3g8MB1YCVgSWq7ltKWBp4O1wzQbeAl4DXgWmA694Z2blZnhFRRsobVcCRgIbAx8C1kXe8+sB64Tv5wE/9c58N5Wd7TKsOqVdHKXtmsDm4RoJfDh83RBYNsOp3gCmhOsZYOLA5Z15NsN5CkN4YNSyNDAHmFs9APJHabs8sAWwJbAVsCkicmu3McwnvTN/iWBe5vS94Clt1wK2C9c2wNbAGkmNEl4F7gL+Gq47vTNz05o0OErbpYDNkA/PJshKYIPwdVXgfcDyLQz1arimAc+G63HgMeAR78zMzI3vI5S2GwKjgZ2Q9/tmwJJdDnugd+bqLsfIhb4TvPBE2w35T98NWcWVgZnATcD1wI3emVdSGqO0HYasCvYGdkUeGCvkMPUTwN3AHcD/9epKOCvCbmV34NPIe37DjKeYAmzinXk743Gj0BeCp7RdFtgX+Fz4umJai7pmPnALcCnwB+/Mm3lNrLTdGPgX4CDEt5OaicBYYKx35rHUxhQBpe0GwP7AgchKbljE6fb2ztwYcfxM6WnBU9quB3wdOBJYM7E5sXgT+B3iPH4k1iRK2z2B45HVQlG5C7gQuMI781ZqY/Ik+Ea/ABhktZ0Hv/POHJLTXJnQk4KntN0IOBU4jO79E2XiBuB078ydWQ2otB0NnE5+H6IseA24ADjPO/N8amNiEdwKo4EjkBVdlgdqzZgFbFq2f9+eEjyl7QqI0B0PLJPYnJSMBU70zjzT6QBK2/WBnyDborIyB7DAab3k6wt+6MOAf0UOiFJwonfmrERzd0zPCJ7SdhRwGTAitS0FYRbwTe/MJe2+UGl7BPAzyu/rHGAO8CvgFO/Mq6mN6RSl7RrAsYibJmUkwdPI6u7dhDZ0RE8IntL2SOA8+ntVNxgXA1/zzsxpdqPSdjjwG+Cz0a1Kw3TgJOAi70xp3vjBP3c8sqIrwkPoYO/M2NRGdEKpBS/4MM4ETkxtS8G5Adh/qCey0nYkcC0SeNrrXAccnjq0pxlK2xWBbyNiNzyxOQPcC2xXpgdGLaUVvCB2vwCOSm1LSbgK+HyjN6rSdjvgRiRAuF94DtjPO/NgakPqCe/tQ4CzkJSuIrGXd+am1EZ0SpmLB1Ri1x4HIgc6i6C03RX4M/0ldiAZILcHsS8MStttkMyayyie2N1ZZrGDkq7wlLbfA/4rtR0lZB6gBuL1lLaHABfRWspXr/IKsE03J9pZECIMfgB8i+IuRHb3zvxfaiO6oXSCp7TdHUmxihk93svcimRJ/BzZNlXAeCQBPsmHIcQ6/opiZK4Mxt+9M9umNqJbSlUeKpwiXko5xG4+EhqycmpD6hgNvIhUKSkSk4D7kCIBzyOhJEsiGTIjgY8DijiB5DsjW/4rI4w9KErb5YAfA0fnOW+HnJnagCwoleABp9Fe2ZqUjAPuBL6X2I5GFEHs5iH5wFcAN3tnnmv2AqXt+4BdENHeA/hIhvZ8ixwFT2n7MeByylG84ingD6mNyILSbGlD0OUUFi20WWS+jpyMPkM+VUTKxOVIEPCT3QyitFVIWtWRZPO+2MQ780QG4wyJ0vYo4FzyTQXrhhO8Mz9NbUQWFNU52ojDKI/YzQeuCXFev05tTIFYAHzVO3Not2IH4J3x3pljgY0QH1i3HJTBGIOitF1OaXsJ8EvKI3ZvIsHoPUGZBG+P1Aa0wTjvzLTw/Y8Rf1SF5LRmIUyL4J150TvzVWS7+0IXQ30yG4sWR2n7QeAvwJdizRGJsb1UdLVMgrdFG/c+Bvw38CMkyyDvnL/3fEEhaf2ynOcvIg8jVVei4Z25HSlTPr7DIbL0Cb6H0nZHJENhmxjjR+ai1AZkSZkOLVqpZ/cS4ny+ojbEIPj/TkByEWPn284Hrqn73VnIk73R6fJrwIy6rzOBvZBmQb3Cv+VRot4785LSdg+kYsy+bb4880Bfpe0XENEoyxa2lieyLDVWBMp0aNHM0DGIc3XQahghiv1PwGpZ2lbHbd6Z0Q3m3hXxYc1ARO21RluF0GPjItr/sBaZR70zuZ5GKm2XQXKD23WFrOqdmZHB/MOA74errPzAO3NKaiOypEwrvMGYBBzhnbmj2Y3emb8rbU8ALslo7snIlnmg89hzyHa60dy3NRtMabtXsG2tjOwrCrk7vb0z7yptP4tsb7ds46Vduz9CQ6MLkVL4ZeaK1AZkTZkE7x0WP6W9ATjEO/N6G+NcgXwAs/Bfrg1c1u2yPwSgngMck4FNRSTJB8c785bSdj/gAVpzibzZbWn4kCJ2FeKSyJK3yTcF8CnvzMM5zpcLZTq0mFzz/QLEL/ZPbYodobvSGxnZtDzgQmmljgixZPfTu2L3qHdmSqrJQwnyQxDfajPu72aukAl0K9mL3WRke54nf8x5vlwok+Cdi4R33AN8yjtzondmXruDhNVUlrXF1gBuCO3w2rFjmNL228jfJ8rpYEFInmzunbmV1momdpxpobRdFbgZ2L7TMYbgcmSVmic35DxfLpRmS+uduQBpzNItH8xgjHpGICu93VrZEilt10UOWRY73OhB7kltAIB35pxwkPBDGj/oH6fD4OVQkfgO4KMdGzg0lyHlrPJiNnB7jvPlRplWeFmxQaRxd0BCX4ZEaXsA8BD9IXYgf9dC4J05G2lIXe9zvQvYwzvzTrtjBp/dDcQTu4dCOa88V3jjO/m3KAOlWeFlSCzBA3h0qD9U2h6D9N7oFxYwyKl1KsJp/k6hK9uHgKmd5s+G0JdrkIddLH4L4J2ZprR9kXxiM8flMEcS+lHw1o807nyav1GmR5q7qLyeR7BxJ4SDlG4PU84jbsrjAsR/N8AD5CN4TUO8ykq1pc2OB1poATgu0txFZTmlbU82QlfafhWp0hKT8XX9dB+MPB9I2a77cpgnCf24wosleLcMfBOc2McBs70z7xVO9M5MVdo+CmwWyYaisSxS760wfrwsUNpuTz6uid/W/fzgEPfOQ0qR/aPm2hn4XJtzPuKdebPN15SGSvCy45YaoTuOEPqitJ3mnalNwP4z/SN4IBVIekbwlLYrIUIUu4jqXBYP2H4Aicl7IlyTwvUEMLm297DS9vu0L3aQzyoyGZXgZcN84BPA74DV6/7sQqXtC96ZG8PP4+jdIONG/DO9dVDzQ/LpPfHHeheJd2ZSs7mDC+F/gK90OO/EDl9XCvrKh6e0XZs4VSuWQFog1ovdwJ9dFQoXgKzwylGxIRt2VdpulNqILFDabotUss6S2cjK7VLg35AsjfW9M/u3O1AIkXF0LnbQ44LXbyu8WCe0zVgBycbYwTvzpNL2IaQhTT8wDHkYfDmxHVnwE7JvIHW0d6br4goh0+d6oNvOYk93a0uR6asVHnFj8JqxJnBTeGOOS2hHCr4YHP2lJbRS3DnC0MeHDJCOUdqOQIKns2ij+GzzW8pLJXj5MgJJyu6poootMAy4NDj8y0orubid8FFgt05fHLbZdwEfzsCWd7KoBVhkKsHLn1HAN1MbkYCRwJhuVzMpCCuoz0ScomlKYiOUtnsjOa9rZGTHyxmNU1j6TfBS+fDqibE1aoe3Eb/a8eH635zm3R9palQ2Dok8/p5K27ZClZS2RwDXkW2NvFcyHKuQ9NuhRRFWeKmZjtQRfG9bHSr0rgrsk8P8xyttX64NyC4y4eTzyzlMdTwtZm4obf+DOKXj26otWUb6bYUXozRUmbgf2K6+QnPId9XAGTnZcYbS9sySpJ2djfS9jc1hrdRUVNpeSLw+GbMijVsY+maFp7RdFinJ3o8sAH6OdA6b3eiGUEz1ZKXty0AeXeZPAnZX2h7pnemq0nCrKG2XAFZGsmCGIe//99Xdtgri+hiBPCDz6iM7DMmuaEbMZuE9m1I2QN8IHsXx3+XNBOBrrfbd8M6cq7RdnnxWe1sB9yhtf4006X4xi0GVthsg2/OtgQ2R9osfINtK11nze+/May3ct3JEG7rq51EGKsHrXaYApwFj2i3R5J05M/RniBWKUcuSwNcAo7T9KXB2p53ulbajkL/znhnalxdFaHjd0b97megnweuXA4vHkZNQ203VWu/MSUpbyEf0QLJRTgaOUtqeDpzvnWmpZWIoxHk2cGxE+2LyLNC0jWcO9PwKr58OLTZObUBE5gBXI8UoP+Kd+VUWJbq9MycBP+p2nDZZHUnh+ofS9ovB7zYoNSXWyyp2AJd4Z5p2VQur7ph03ZO36PST4H0itQEZMx9ZFXwdWNc7c6B35mbvTKaFCRKJHsiKfAzwd6XtJxvdEMTwasrdH2QBcHGL95YuaLto9MWWNrRmHJXajgyYi/Q9/T3i5J6Wx6QJtre1bAncrrQdAxxXl/r0Ncrpr6vlNu/MZJDWncip8CbemX9PYEtW/ZoLS7+s8LYnTlmo2MxACg2cA+wLrOqd2dM7c0FeYjdAwpXeAF8CJihtt4P3Sn3lFTcYk4sAlLabICv2i4ETa8qJ1RI7F7ntPs9loy9WeMAuqQ1A0rneQoI7ZyIxT7Nqfn4FyWV8Aalq+5R35oUklg5C4pUeSHjJrUrbPYCjkZi5MjMTKRv2feC7wDLh98OA80I5sVoXRRkCtQtNvwheQx9QRkxCnsyvhOulcL2ArNDe6jTMoogUQPRWBMYnmjtrJgF3A5s2+LPtgH8Buq6V1wYzcpwrCT0veCFkIWYttnO8MxdEHL9wBNGbh6xKKjpn6yZ/fqbS9uqaB+aKsQ3qdfrBhzeKbCtK1HNj81t6D+/MyUhJ8iJT9nJHawH/VfNz7MZBPU8/CN4uEcd+pK5vaF/hnTkbOILiOrsPBS5JbUSXHK20/WhqI3qFfhC8mP67cRHHLgWhH8P+SPBz0ZgAHI50GisrSwLnh+9j7lT6gp4WvFDnbceIU/RMv9Vu8M5ch6ymisRM78xU78yCENN2XGqDuuCTStuDKWdoVaHoacEDtiGuo7cSvIB35irgF6ntqGGRdoPemZ8BB1PMlWgr/JjFS1llTZGryWRCr5/S7hJ5/AmRxy8bpyIBwjEfMk8CjyKpdbOR+EZYGFLxFpITutj/jXdmrNL2RWDX8KtlGXybOFA7b2uk0U5q1iFe4c8Bej7Or9cF71MRx37CO9PzFWLbwTszXWl7MfCNiNOsB1wLnOGdabsHg3fmDuCOVu5V2h5NsbbqjbIvsiRmrb1C0LNb2lA+PKb/7t6IY5cZG3n8ZZH+D08qbU9R2ma+zVPaLqu0vQg5LOinUJDoPkKl7WZK25NjzzMYPSt4SNJ5zCfWPRHHLjP3kk/828rAfwKTlLbfCAHmXaO0XRdZAR6exXglY7WYg4fyVjcgro8k9LLg7RJ5/ErwGhByP2/Pccq1kX4dE5W2X2hWP28olLY7A/fRG5V1OmHVyOOfjvQJyeTh1Am9LHgx4+9mIR+Misb4BHNuhPTXvV9pu1u7Lw7+utvo30ZPEHGFF/ruHhV+TBao3pOHFuEpH7PZ9a3emcKFN4S6f5sAM7wzzyQ0ZVLCuRVSJ++Wll+g7YbAmfSXv64RTdtEdsH3WHgKnKyYRq+u8BRxl+d/ijh22yhtN1TaXoKEZjwITFba3qW0/Ugik3Kt1deA59q5ORTg3I+FIS79ynoxBlXarg4cUPOrZDnOvSp4sR3ON0Uev2WUtvsADyDxb7WnbNsDf02Uh9m0P0NkprT7ghCusi/5iN4cpOhE0ZrmrBZadGbNvizqt2v7/ycrek7wlLYjga9GnOJe78zTEcdvGaXtQUhM2iqD3LIqcJPSNsqTewhSB7AO+oFS2i6ttG3oq/LO3EY+one+d2ZvpGfuNZHnapcY3f32qfu5rRV4lhRK8JS2R4XS3Z2+fhhwIXFPgf434tgto7TdEqkE0uz/cF1E9NaIbtRC1spxrkY0FLxQNv1eYIrS9jyl7Yfq78lJ9CaEuV72zhxA2tL59WyU5WBK22WRbnq1JFswFELwlLZrKm0d8EvgM10MdQxxw1HeAi6NOH5LhEOZXwHLtfiSzYHrB1vZRGCLnOYZjEUET2m7gtL2HKS6sEJ64B6DtIIcW98/IgfRe6luvpMQp34R2CTj8fZi8XjYyRnP0TLJBU9pOxp4GPin8CvT4TibA2dlZdcg2LquWanYnubVcusZhfj08jjI+HQOcwzGPGDqwA81769/ZfGt9pLA54F7lba3Km33CruE2KI3vf4X3pnTkZS81P7PzN4f4cHcqCr25KzmaJekghdK3tzMorFPuyttP9vmOMOBK4lfL+zcyOO3SqeCsilwn9L2uG4CdIciHJJsF2PsFnneOzNPabuK0vY3SHhKK9u0XZEsgIeUtkZpu0xE0WvYnMk7cz5S0SXlaXGWK7zvANs2+P3kDOdoi2SCp7TdAGlJ18iGi5S2LUW7K20/jASMxl653OSdeSzyHK2yYRevXR74KfFWe6m3Zs8pbQ8AHkOa4LTLRxG3xZNK228jPr8sRe8dhjhU8c5cicSQTs5ovnbZMouHodJ2axYtTz/Am/TpKe3hDO6DWgUYp7Q9KcTwLILSdjWl7X4h9mwisFU0KxfykxzmyJPtkdXMuVkdaChtdwEOymKsLtgauIruMybWA85GPpx7ICf/WYjeBO/MkNtW78z9SGWUP2cwX7usDGzczQChoMPlNA7knlDXejJXUmZaNDucWB6Jfv+B0vYJJJh1eeTY/P2RbavnIdqI3M+BrJ6QSwHfAr6itD0f+EWnGRrhdH1MRnZ1Q9YVP4YjzYrmIP/u3Z5itpSSGEpt7YmcxB/S5ZztMgpZIXfKj4CRg/zZuC7G7ZqUK7xWfQVLItvVTyH/EXmLHcCZKZ9KDXgk4/FWRD7UTyltrw8+rFVafXE45RxPnBiuorA02YRs3N3qjd6Zd4EvsLCnRV50vGNS2n4aaZI+GL/vdOwsSLnCW2yrWlAmAlekNqKOO5DTvKwfWEsAe4drvtL2AeBOpMLw00jq2mxgJWANYDNkpR6z0Gqv0dZOITxovxH6AB8bx6TF6Mi3Gx6SlwxxywQSVxkatmBBmoWL0rZIK6ah2Nc7c31qI+pR2t5O3IowFdkzwTvzsU5eGMJlfsHCiiMxmQNs4J2Z2vTOQLBvLPC5IW47InS5S0bKLW3Do/mCcU0RxS5wZWoDKtpmbKcvDCu9o4H/yc6cQVkaGN3ma77L0GL3BAUI2k8peBOb35KU55EyQ0XlEuDF1EZUtMw8uvzA14jeeZlYNDRPtXpjyOn+QZPbvuOdmdudSd2TUvCKdOpZz9vAgZ00icmL0EDoMMrbdrDfGOudebbbQUKf3W8i/rzZ3ZvVkCu9M3e1cqPSdg+a9zG5xjtzbfdmdU9KwStalYgB3gE+651p+TQtFSETYD/g9dS2JGA+DVK0CsocpP9GZnhnfo7EHD6Q5bjIlvmwVm5U2u6NnLoOVTh1OpK3XAiSHVoAKG1vprtiAVkzDdBlELtalLYbI9ullCldefI28qF8lTTBue3yHe/MOTEGVtouDZyAZLh008HtDuCUUBewlXkPA35D8yrR/+ydcV3YlSmpBW8HJOyhCNwOHOadSVarqxtCW8qjgNMoT8hPJ0wD9vPO3BNOBidT7Pi/i7wzX4k9idJ2TSSVztBa4/AFSDzndcDl3pmHW5xnGNIQvJWm4Bd4Z/I4VW6ZpIIHoLQdA3wxoQnzEJE4wzuTrLlIVoRYqOPCNTylLRF4DNi7tgCr0vZY4GfpTBqS3wJfzPt9FcRvFDACefitDMxFXB/PIwcS93ln2nKFKG1XAn6NVJhphge29868084csSmC4K2E9GHItPBgi0xGVnV/TTB3VEIFmaMQ4UuRnZI11wJfqi/PFVa2NyPVTorEfwMn9MJDFEBp+3EkFGpEC7fPArbyzvwjqlEdkFzwAJS2I5A37WIVaCOxACk2emI47exZQiezLyE5s6ma+nTDk8D3vDO/G+wGpe1awF9p7cMYm9nAUd6ZS1IbkgXhgXICEnbSaiXxg70zHcccxqQQggegtF0VqU5xODAs4lTjgeO9M39v0a4lkC3BzILl07aN0vYTyKpvH4q93X0HeQCOAa5tJX4rVHz5JXBgZNuGYjxwZIHKiHVFKB92Me0dhv3MO3NcHIu6pzCCN4DSdlMk4NeQrfP9NuAs70xLLRaVttsiJ1+jkeT6t4A/ACeHtn6lJZzs7YwI345IsnjWVUZaZS4Shf844ve5C/iLd6ajUkwhLuw/ER9WXkwBTkEqYqeuWNw1obzTd4Fv016v3juA3YrYs3mAwgneAErbZYAdgN2BnZBeBKu0McQ85AP0BySQsqWnbjiFOjVcjeIUZwB7emf+1oYthSYI4BZIMYCRSD209ZFmPOsgPSCa8UbNNSt8nYk4ygeumeGaWnM9l3UEfvg/3A3Ziu2Z5dh1TEQOTC7tVKCLRGjR+BVE7Nr1+z4G7OSdeTVzwzKksILXiNBu8IPIh3FtpGrHysgWaD5STfUF4Bngfu9MW30/g8iOQcpsD8XrwHa9snVpRvDjrITEedVW2JkDzPLOJOsk34xQEftQ5GQxix69LyBB81cA48vu5gBQ2q6DCN0xdNZx7nlg5zLsfEoleDFR2r4fuBrZ4rXC44joFfbDXrEoStt1kX4goxDx2xRZyTTyGc9DYv4eQ1ZyDyAC1xMPuXCKvz/ycB9N56XiXgF2LOKJbCP6XvDC9udQpEFPu6XOfw8c0AtP+X4lHEqtjvhpB5hV5DzqTgjv8y2Qrf5uSBhPt/2bXwI+02rQchHoa8FT2m6G1BjrpoDlmd6ZRq3oKiqSEeJbt0Z6l2yP+MGzbMb+NLC7d2ZShmNGpy8FL7wZTkWCcrOo+nyyd+aMDMapqGibEJKzJSJwH0dO3UcQL7zrQaQw7vORxo9GXwme0nYp4MtIKtk6GQ9/E9K8ZHwR6n5V9CbB17w1C8VtG+QQLy+uAw4ta8B+XwheyDY4GGlUEzvb4A0kHum2cD3UC7FZFflTJ27bhK9ZP6jb4Qzg1DKny/Wc4AXn7LpImtoWwCeAvZDwlRRMR9Ke/oY0MLmn3aTtit4mPJA/AnwMiYX8GLJ6SylutbwOfNk7k7TjWBaUWvBCmMHmiP9iFPJG+SDdnz7FZAES5nAvEhj9MLIKnJbUqorohHi3keHaJHzdHCmckbIY71DcCxxUW6GmzJRS8MKhw43IyVOv8BIifhOBf4SvTwBTqrCX8hBywjcO18i677sp0Jk384GzkC1sYVPF2qWsgnci8MPUduTE20gIwBQkg2QKEtn+EhL0OQ2Y1m5WSUVnhGycDZBV2YaI6+RD4fuB+nNlZxKyhe25smllFbybgD1S21EwZiP+wlfCNT1cr7JQGF9ExPL5sp6yxURpuzqSsrgekoGxDvCB8P26iKitQ9xqPimZB5wDnNYLucGNyCIGLQVltTsmyyIfxpYc3UrbNxDxey58fRZZPT6LrCSfLeuqMVT7GF53rQ6shuSKrl7z8xrAmuEqsu83Nn8GjvPOPJTakJiUVTjuof1GwRWLshKSS7rpYDcobacjyfID11REIKeGn18FXgNe7SZUIWwTVwCWR/xcA0UhVq75eeDr8LqfB8RtlXD/cIp7AFBEJiKB86U/gW2Fsm5pN0MakFQUhzdY2DehGUsjuatL01rpqYrseRKpYmzLHFfXLqUUPACl7Q1IfF1FRUXrPAycidSI7LuMoLJuaQG+g2xr+9nvUlHRCnORyj7ne2duT21MSkq7wgNQ2h4NnJ/ajoqKgjIVuBC4sIyJ/jEoteABKG1/CJyY2o6KioIwG2lpOQb4Uz9uW4ei9IIHoLQ9DSn3VFHRr9yFiNzY+t69FQvpCcEDUNp+Hlm+F7n9YEVFVixAClJchRxAPJvYnlLQM4IH7xUTOB/QqW2pqIjAm8CtSE26P3pnpia2p3T0lOANoLT9DJJru1VqWyoqumA+soq7JVx39VIifwp6UvAGUNruCRyP9LatqCg685Hy6eOBccBtVVe8bOlpwRtAabsJ8HWk6vHaic2pqBjgLeBuRODGIyu4qqhDRPpC8AYIDaVHAwcB+yEJ4xUVebAA6WX8N0Tk7gYmVGEj+dJXgldL6Ee6PbAPsuXdiirpvCI7XkKqBdeW9p+R1KKK/hW8ekKl2k8DnwR2RMrGlzn1riI/ZgH3IcJ2L/C3KkykmFSCNwhK2xWQTlE7IQK4A71RzbaiO+YCDyHCdg+ygnusnyqOlJlK8NpAaTsSaZW3bbi2pipv1MvMRcqQPQjcj4jcg71aDbgfqASvC8IhyKZIx7QtET+golzNWiqE15DSSQ+G6wHgkSrurbeoBC9jwmHICBaK3+bh2pDqUCQ184DJLOwINxE5OZ3onXkloV0VOVEJXk6EZsubIuK3MSKKH6Z3Ol0VgRlIX46B65m6n5/zzrybzLqK5FSCVwCUtsMR8dsAWB/pmrVB+LoO0jWr33yFMxEBm1nz/TQWdmWbysIubS8BL1e+tYpmVIJXEsKp8dpI1601kW5bq4RreM33KyJVoIcjYTUrhZ/rBXNJsvc1voHUY3szXO8iYjWbRQVs4Guj382o0qkqYlEJXkVFRd9QOdErKir6hkrwKioq+oZK8CoqKvqGSvAqKir6hkrwKioq+oZK8CoqKvqGSvAqKir6hkrwKioq+ob/B/W7xJLOQ1deAAAAAElFTkSuQmCC") center / calc(100% - 14px) auto no-repeat;
  box-shadow: 0 8px 20px rgba(11, 37, 69, 0.12);
}

.app-brand-logo-wordmark {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.app-brand-copy,
.app-brand-title,
.app-brand-subtitle {
  display: block;
  line-height: 1.1;
}

.app-brand-title {
  font-weight: 800;
}

.app-brand-subtitle {
  margin-top: 0.2rem;
  color: var(--psa-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.admin-shell__nav .navbar-collapse {
  overflow: visible;
}

.admin-shell__nav .nav-link,
.admin-shell__account {
  min-height: 40px;
  padding: 0.56rem 0.95rem;
  border: 0;
  border-radius: 999px;
  color: #3f4c61;
  font-weight: 700;
}

.admin-shell__nav .nav-link:hover,
.admin-shell__account:hover {
  color: var(--psa-navy);
  background: var(--psa-soft);
}

.admin-shell__nav .nav-link.active {
  border: 0;
  color: #fff;
  background: var(--psa-blue);
}

.admin-shell__account {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.88rem;
  white-space: normal;
}

.admin-shell__account span {
  margin: 0;
  color: var(--psa-muted);
}

.admin-shell__account a {
  font-weight: 700;
  white-space: nowrap;
}

.app-page.admin-shell__content {
  width: min(1280px, calc(100% - 32px));
  max-width: none;
  min-height: calc(100vh - 172px);
  margin: 0 auto 32px;
  padding: clamp(20px, 2.6vw, 30px);
  overflow: hidden;
  border-radius: 0 0 var(--psa-radius) var(--psa-radius);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(11, 37, 69, 0.08), var(--psa-shadow);
}

.app-footer.admin-shell__footer {
  padding: 0 0 28px;
  border: 0;
  background: transparent;
  line-height: 1.5;
}

.app-footer__content {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
  color: var(--psa-muted);
  font-size: 0.86rem;
}

/* Login */
.coach-auth-page {
  margin: 0;
  background: var(--psa-navy);
}

.coach-auth-page .app-header,
.coach-auth-page .app-footer,
.coach-auth-page > .skip-link {
  display: none;
}

.coach-auth-page .app-page.admin-shell__content {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.auth-screen {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 72%, rgba(47, 128, 237, 0.35), transparent 28%),
    radial-gradient(circle at 78% 16%, rgba(246, 178, 61, 0.16), transparent 24%),
    linear-gradient(135deg, #071c35 0%, var(--psa-navy) 45%, #174b8a 100%);
}

.auth-screen::after {
  position: absolute;
  right: -9rem;
  bottom: -11rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 5rem rgba(255, 255, 255, 0.025), 0 0 0 10rem rgba(255, 255, 255, 0.02);
}

.auth-topbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px clamp(20px, 5vw, 72px);
}

.auth-brand .app-brand-title,
.auth-brand .app-brand-subtitle,
.auth-support {
  color: #fff;
}

.auth-brand .app-brand-logo-shell {
  width: 72px;
  height: 54px;
  border-color: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}

.auth-support {
  min-height: 40px;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}

.auth-support:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.auth-content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
  gap: clamp(28px, 7vw, 96px);
  align-items: center;
  width: min(1180px, calc(100% - 40px));
  min-height: calc(100vh - 104px);
  margin: 0 auto;
  padding: 36px 0 72px;
}

.auth-copy {
  max-width: 650px;
  color: #fff;
}

.auth-kicker,
.section-eyebrow,
.coach-status-page__eyebrow,
.coach-start-page__eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 18px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.auth-kicker {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}

.auth-copy h1 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(2.6rem, 6vw, 5.4rem);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 0.96;
  text-wrap: balance;
}

.auth-copy > p:not(.auth-kicker) {
  max-width: 560px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.12rem;
  line-height: 1.6;
}

.auth-proof {
  display: grid;
  gap: 5px;
  max-width: 520px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.auth-proof strong {
  font-size: 1.25rem;
}

.auth-proof span {
  color: rgba(255, 255, 255, 0.76);
}

.auth-card.dash-login-page {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
}

.auth-card-accent {
  position: absolute;
  inset: 0 0 auto;
  height: 7px;
  background: var(--psa-blue);
}

.auth-card .dash-login-page__header {
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

.auth-card .dash-login-page__header h2 {
  margin: 0;
  color: var(--psa-navy);
  font-size: 2rem;
  font-weight: 850;
}

.auth-card .dash-login-page__header p:last-child {
  margin-top: 8px;
}

.section-eyebrow,
.auth-card .dash-login-page__eyebrow {
  margin-bottom: 12px;
  color: var(--psa-blue);
}

.auth-card-copy {
  margin: 8px 0 24px;
  color: var(--psa-muted);
}

.auth-login-instructions {
  font-family: inherit;
  font-weight: 400;
  line-height: 1.5;
}

.auth-login-instructions a {
  font-family: inherit;
  font-weight: 400;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.18em;
}

.auth-card .dash-login-page__status {
  border: 0;
  border-radius: 12px;
  background: #f8fbff;
  box-shadow: inset 0 0 0 1px rgba(23, 75, 138, 0.14);
}

.auth-card .dash-login-page__form {
  align-items: stretch;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
}

.dash-login-page__form span,
.coach-start-page__fields > label > span:first-child,
.coach-start-page__single-field > span:first-child {
  color: #324158;
  font-size: 0.9rem;
  font-weight: 700;
}

.dash-login-page__form input,
.coach-start-page__fields input,
.coach-start-page__single-field input {
  min-height: 46px;
  border: 1px solid #cbd6e4;
  border-radius: 8px;
  background: #fff;
}

.auth-card .dash-login-page__form button {
  width: 100%;
  min-height: 48px;
  margin-top: 4px;
}

.auth-login-help {
  display: grid;
  justify-items: center;
  gap: 6px;
  width: 100%;
  margin: 18px 0 0;
  padding: 10px 16px;
  border: 1px solid rgba(23, 75, 138, 0.28);
  border-radius: 8px;
  background: #f8fbff;
  text-align: center;
}

.auth-login-help-link {
  max-width: 100%;
  min-height: 36px;
  padding: 7px 8px;
  border-radius: 4px;
  color: var(--psa-blue);
  font-family: inherit;
  font-weight: 400;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition: color 0.14s ease, background-color 0.14s ease;
}

.auth-login-help-link:hover {
  color: var(--psa-navy);
  background: #e7f0fb;
  text-decoration: none;
}

.auth-login-help-link:focus-visible {
  outline: 3px solid rgba(23, 75, 138, 0.35);
  outline-offset: 4px;
  color: var(--psa-navy);
  background: #e7f0fb;
  text-decoration: none;
}

.auth-login-help-separator {
  display: grid;
  grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  color: var(--psa-muted);
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1;
}

.auth-login-help-separator::before,
.auth-login-help-separator::after {
  min-width: 0;
  border-top: 1px solid var(--psa-line);
  content: "";
}

.dash-login-page__result {
  margin-top: 18px;
  border: 0;
  border-left: 5px solid var(--psa-gold);
  border-radius: 8px;
  color: #5c3a00;
  background: #fff8e8;
}

/* Coach status and form surfaces */
.coach-status-page,
.coach-start-page {
  display: grid;
  gap: 22px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.coach-status-page__header,
.coach-start-page__header {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(24px, 4vw, 42px);
  border: 0;
  border-radius: var(--psa-radius);
  color: #fff;
  background: linear-gradient(135deg, var(--psa-navy), var(--psa-blue));
}

.coach-status-page__header::after,
.coach-start-page__header::after {
  position: absolute;
  right: -3rem;
  bottom: -5rem;
  width: 16rem;
  height: 16rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 3rem rgba(255, 255, 255, 0.025);
}

.coach-status-page__header h1,
.coach-start-page__header h1 {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.05rem, 4vw, 4rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 0.98;
}

.coach-status-page__header p:last-child,
.coach-start-page__header p:last-child {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.05rem;
  line-height: 1.55;
}

.coach-status-page__eyebrow,
.coach-start-page__eyebrow {
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.76);
}

.coach-status-page__summary,
.coach-start-page__summary {
  gap: 14px;
  margin: 0;
}

.coach-status-page__summary div,
.coach-start-page__summary div {
  min-width: 0;
  padding: 18px;
  border: 0;
  border-radius: 14px;
  background: #f8fbff;
  box-shadow: inset 0 0 0 1px rgba(11, 37, 69, 0.08);
}

.coach-status-page__summary dt,
.coach-start-page__summary dt {
  color: var(--psa-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coach-status-page__summary dd,
.coach-start-page__summary dd {
  margin-top: 6px;
  color: var(--psa-navy);
  font-size: 1.08rem;
  font-weight: 800;
}

.coach-status-page__notice,
.coach-status-page__next-step,
.coach-status-page__guidance,
.coach-status-page__unavailable,
.coach-start-page__status,
.coach-start-page__section,
.coach-start-page__submit {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: clamp(18px, 2.6vw, 28px);
  border: 0;
  border-radius: var(--psa-radius);
  background: #fff;
  box-shadow: 0 0 0 1px rgba(11, 37, 69, 0.08), 0 10px 30px rgba(11, 37, 69, 0.08);
}

.coach-status-page__notice,
.coach-status-page__unavailable,
.coach-start-page__status {
  border-left: 5px solid var(--psa-blue);
  border-radius: 8px;
  background: #f8fbff;
}

.coach-status-page--success .coach-status-page__summary[aria-label="Background check status summary"] dd {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #1f6b49;
  background: rgba(47, 133, 90, 0.12);
  font-size: 0.82rem;
  font-weight: 800;
}

.coach-status-page--pending .coach-status-page__notice,
.coach-status-page--pending .coach-status-page__next-step,
.coach-status-page--action .coach-status-page__next-step {
  border-left: 5px solid var(--psa-sky);
}

.coach-status-page--blocked .coach-status-page__notice,
.coach-status-page--review .coach-status-page__notice,
.coach-status-page--unavailable .coach-status-page__notice,
.coach-status-page--unavailable .coach-status-page__unavailable {
  border-left-color: var(--psa-gold);
  background: #fff8e8;
}

.coach-status-page__next-step h2,
.coach-status-page__guidance h2,
.coach-start-page__section h2,
.coach-start-page__submit h2 {
  margin: 0;
  color: var(--psa-navy);
  font-size: clamp(1.18rem, 1.8vw, 1.5rem);
  font-weight: 900;
}

.coach-status-page__next-step p,
.coach-status-page__guidance p,
.coach-start-page__section > p,
.coach-start-page__submit p {
  color: var(--psa-muted);
  line-height: 1.55;
}

.coach-status-page__primary-action,
.coach-status-page__action-link {
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 46px;
  padding: 0.65rem 1.2rem;
  color: #fff;
  background: var(--psa-blue);
  border: 1px solid var(--psa-blue);
  text-decoration: none;
}

.coach-status-page__primary-action:hover,
.coach-status-page__action-link:hover {
  color: #fff;
  background: var(--psa-navy);
  border-color: var(--psa-navy);
  filter: none;
}

.coach-status-page__deferred-action {
  align-items: center;
  min-height: 44px;
  padding: 0.6rem 1rem;
  border: 0;
  border-radius: 999px;
  color: var(--psa-muted);
  background: #edf2f7;
  box-shadow: inset 0 0 0 1px var(--psa-line);
}

.coach-start-page__form {
  display: grid;
  gap: 18px;
}

.coach-start-page__fields {
  gap: 16px;
  margin-top: 18px;
}

.coach-start-page__fields label,
.coach-start-page__single-field {
  gap: 7px;
  min-width: 0;
}

.coach-start-page__fields input,
.coach-start-page__single-field input {
  width: 100%;
  min-width: 0;
}

.coach-start-page__fields > .coach-start-page__check {
  grid-column: 1 / -1;
}

.coach-start-page__field-validation {
  min-height: 1.25rem;
  color: var(--psa-red) !important;
  font-size: 0.86rem !important;
}

.coach-start-page__validation:not(:empty) {
  padding: 14px 16px;
  border-left: 5px solid var(--psa-red);
  border-radius: 8px;
  color: #821f1f;
  background: #fff2f2;
}

.coach-start-page__check {
  min-height: 48px;
  padding: 13px 14px;
  border-radius: 12px;
  background: #f8fbff;
  box-shadow: inset 0 0 0 1px rgba(11, 37, 69, 0.1);
}

.coach-start-page__check span {
  color: var(--psa-ink);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
}

.coach-start-page__check input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--psa-blue);
}

.coach-start-page__legal-copy {
  max-width: 82ch;
  max-height: 30rem;
  margin-top: 16px;
  padding: 18px;
  overflow-y: auto;
  border-radius: 12px;
  color: #324158;
  background: #fbfdff;
  box-shadow: inset 0 0 0 1px var(--psa-line);
  font-size: 0.98rem;
  line-height: 1.72;
  scrollbar-gutter: stable;
}

.coach-start-page__section[aria-labelledby="agreement-heading"],
.coach-start-page__section[aria-labelledby="signature-heading"] {
  background: #f8fbff;
  box-shadow: inset 0 0 0 1px rgba(23, 75, 138, 0.14), 0 10px 30px rgba(11, 37, 69, 0.06);
}

.coach-start-page__submit {
  border: 1px solid rgba(23, 75, 138, 0.16);
  background: rgba(255, 255, 255, 0.96);
}

.coach-start-page__submit button {
  min-height: 48px;
  margin-top: 14px;
  padding-inline: 1.3rem;
}

.support-reference {
  color: var(--psa-muted);
  font-size: 0.8rem;
}

@media (max-width: 991.98px) {
  .auth-content {
    align-items: start;
    grid-template-columns: 1fr;
    min-height: auto;
    padding-bottom: 48px;
  }

  .auth-copy {
    max-width: 760px;
  }

  .auth-card.dash-login-page {
    width: min(100%, 560px);
  }

  .app-footer__content {
    flex-direction: column;
    gap: 0.35rem;
  }
}

@media (max-width: 767.98px) {
  .app-header {
    width: min(100% - 20px, 1280px);
    margin-top: 10px;
  }

  .app-page.admin-shell__content {
    width: min(100% - 20px, 1280px);
    margin-bottom: 18px;
    padding: 16px;
  }

  .app-footer__content {
    width: min(100% - 28px, 1280px);
  }

  .admin-shell__nav .navbar-collapse {
    padding: 12px 0 4px;
  }

  .admin-shell__nav .navbar-nav,
  .admin-shell__account {
    align-items: stretch;
    gap: 6px;
  }

  .admin-shell__nav .nav-link,
  .admin-shell__account {
    justify-content: flex-start;
    width: 100%;
  }

  .coach-status-page,
  .coach-start-page {
    gap: 16px;
  }

  .coach-status-page__header,
  .coach-start-page__header {
    padding: 24px 20px;
  }

}

@media (max-width: 575.98px) {
  .auth-topbar {
    align-items: flex-start;
    gap: 12px;
    padding: 18px;
  }

  .auth-brand .app-brand-logo-shell {
    width: 64px;
    height: 50px;
  }

  .auth-content {
    width: min(100% - 28px, 1180px);
    padding-top: 12px;
    padding-bottom: 32px;
  }

  .auth-copy h1 {
    font-size: 2.3rem;
    line-height: 1.02;
  }

  .auth-copy > p:not(.auth-kicker) {
    font-size: 1rem;
  }

  .auth-card.dash-login-page {
    padding: 28px 20px;
  }

  .coach-status-page__summary,
  .coach-start-page__summary,
  .coach-start-page__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .coach-status-page__primary-action,
  .coach-status-page__action-link,
  .coach-status-page__continuation-form,
  .coach-start-page__submit button {
    width: 100%;
  }

  .coach-start-page__legal-copy {
    max-height: 22rem;
    padding: 14px;
  }

}

@media (forced-colors: active) {
  .admin-shell__nav .nav-link.active,
  .coach-status-page__primary-action,
  .coach-status-page__action-link,
  .coach-start-page__submit button {
    border: 2px solid ButtonText;
  }
}

/* Public application landing page. Deliberately scoped to the root/applications
   landing view so the existing CoachWeb and public form designs are unchanged. */
.public-landing-page {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  color: var(--psa-ink);
  background: #fff;
}

.public-landing-page > main {
  display: grid;
  grid-template-rows: minmax(190px, 1fr) minmax(258px, 1.1fr) auto;
  min-height: 0;
}

.public-landing-header {
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 8px clamp(24px, 5.5vw, 84px);
  border-bottom: 1px solid #e8edf4;
  background: rgba(255, 255, 255, 0.98);
}

.public-landing-brand .app-brand-logo-shell {
  width: 48px;
  height: 38px;
  box-shadow: 0 6px 16px rgba(11, 37, 69, 0.1);
}

.public-landing-hero {
  display: flex;
  align-items: center;
  min-height: 0;
  padding: clamp(24px, 4vh, 46px) clamp(24px, 5.5vw, 84px);
  border-bottom: 1px solid #edf2f7;
  background: #f8fbff url("../images/public-applications/court-lines.png") center right / cover no-repeat;
}

.public-landing-hero__content {
  width: min(700px, 58%);
}

.public-landing-eyebrow {
  margin: 0 0 10px;
  color: var(--psa-blue);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.public-landing-hero h1 {
  max-width: 680px;
  margin: 0;
  color: var(--psa-navy);
  font-size: clamp(2.15rem, 3.6vw, 3.6rem);
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.02;
  text-wrap: balance;
}

.public-landing-hero__content > p:last-child {
  max-width: 590px;
  margin: 14px 0 0;
  color: #526173;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.6;
}

.public-landing-options {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  width: min(1272px, calc(100% - 48px));
  min-height: 0;
  margin: 0 auto;
}

.public-landing-option {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(180px, 230px);
  gap: clamp(18px, 3vw, 42px);
  align-items: center;
  min-height: 0;
  padding: clamp(10px, 1.7vh, 16px) 0;
  border-bottom: 1px solid var(--psa-line);
  color: inherit;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.public-landing-option:hover {
  color: inherit;
  background: #f8fbff;
}

.public-landing-option:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid rgba(47, 128, 237, 0.45);
  outline-offset: 5px;
}

.public-landing-option__number {
  color: #5793df;
  font-size: 1.25rem;
  font-weight: 800;
}

.public-landing-option__content {
  display: grid;
  gap: 4px;
}

.public-landing-option__content strong {
  color: var(--psa-navy);
  font-size: clamp(1.15rem, 1.7vw, 1.5rem);
  line-height: 1.15;
}

.public-landing-option__content > span {
  max-width: 660px;
  color: #59677a;
  font-size: clamp(0.84rem, 1.05vw, 0.96rem);
  line-height: 1.4;
}

.public-landing-option__action {
  justify-self: start;
  padding: 7px 0 6px;
  border-bottom: 2px solid #8db7ed;
  color: #0b61c9;
  font-weight: 800;
}

.public-landing-option:hover .public-landing-option__action {
  border-bottom-color: var(--psa-blue);
  color: var(--psa-navy);
}

.public-landing-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1272px, calc(100% - 48px));
  margin: 12px auto 0;
  padding: 12px 22px;
  border-radius: 10px;
  background: #f1f6fc;
}

.public-landing-trust > div {
  display: grid;
  gap: 3px;
  padding: 0 22px;
  border-left: 1px solid #d5e0ed;
}

.public-landing-trust > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.public-landing-trust > div:last-child {
  padding-right: 0;
}

.public-landing-trust strong {
  color: var(--psa-navy);
  font-size: 0.88rem;
}

.public-landing-trust span {
  color: #647287;
  font-size: 0.76rem;
  line-height: 1.35;
}

.public-landing-footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  width: min(1272px, calc(100% - 48px));
  margin: 0 auto;
  padding: 12px 0;
  color: #6a778a;
  font-size: 0.72rem;
}

.public-landing-footer span:last-child {
  color: var(--psa-navy);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .public-landing-hero { background-position: 20% center; }

  .public-landing-hero__content {
    width: min(680px, 72%);
  }

  .public-landing-option {
    grid-template-columns: 54px minmax(0, 1fr) 180px;
  }
}

@media (max-width: 767.98px) {
  .public-landing-page > main {
    grid-template-rows: minmax(150px, 0.8fr) minmax(288px, 1.35fr) auto;
  }

  .public-landing-header {
    min-height: 58px;
  }

  .public-landing-hero {
    min-height: 0;
    background-position: 48% center;
  }

  .public-landing-hero__content {
    width: 82%;
  }

  .public-landing-option {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    padding: 8px 0;
  }

  .public-landing-option__action {
    grid-column: 2;
  }

  .public-landing-trust {
    grid-template-columns: minmax(0, 1fr);
    padding: 5px 18px;
  }

  .public-landing-trust > div,
  .public-landing-trust > div:first-child,
  .public-landing-trust > div:last-child {
    padding: 8px 0;
    border-top: 1px solid #d5e0ed;
    border-left: 0;
  }

  .public-landing-trust > div:first-child {
    border-top: 0;
  }
}

@media (max-width: 575.98px) {
  .public-landing-header {
    padding-inline: 18px;
  }

  .public-landing-hero {
    padding: 16px 18px;
    background-image: none;
  }

  .public-landing-hero__content {
    width: 100%;
  }

  .public-landing-hero h1 {
    font-size: clamp(1.72rem, 8vw, 2.15rem);
  }

  .public-landing-options,
  .public-landing-trust,
  .public-landing-footer {
    width: min(100% - 36px, 1272px);
  }

  .public-landing-option {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 7px;
  }

  .public-landing-option__number {
    grid-column: 1;
  }

  .public-landing-option__action {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    max-width: 74px;
    padding-block: 4px;
    font-size: 0.7rem;
    line-height: 1.2;
  }

  .public-landing-option__content strong {
    font-size: 0.94rem;
  }

  .public-landing-option__content > span {
    font-size: 0.72rem;
    line-height: 1.28;
  }

  .public-landing-option__number {
    font-size: 0.86rem;
  }

  .public-landing-eyebrow {
    margin-bottom: 6px;
    font-size: 0.65rem;
  }

  .public-landing-hero__content > p:last-child {
    margin-top: 8px;
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .public-landing-trust {
    margin-top: 6px;
    padding: 2px 12px;
  }

  .public-landing-trust > div,
  .public-landing-trust > div:first-child,
  .public-landing-trust > div:last-child {
    padding: 5px 0;
  }

  .public-landing-trust strong {
    font-size: 0.74rem;
  }

  .public-landing-trust span {
    font-size: 0.66rem;
    line-height: 1.2;
  }

  .public-landing-footer {
    align-items: center;
    padding: 8px 0;
    font-size: 0.58rem;
  }
}

@media (forced-colors: active) {
  .public-landing-option {
    border: 1px solid CanvasText;
  }
}
