/* Shared eyebrow accent color and readable operational record lists. */
/* Public pages use Source Sans 3 throughout; authenticated portals load Roboto
   from portal-base.css instead. */
html body:not(.internal-portal):not(.finance-portal-page),
html body:not(.internal-portal):not(.finance-portal-page) * {
  font-family: "Source Sans 3", sans-serif;
}

.eyebrow:not(.light) {
  color: #e72f43 !important;
}

/* Use each page's normal font in place of decorative monospace labels. */
body :is(
  .group-course-meta span,
  .about-value-list article > span,
  .section-aside,
  .resource-number,
  .resource-label,
  .trust-badge,
  .role-home,
  .eyebrow,
  .art-caption span,
  .course-code,
  .promise-list span,
  .result-count,
  .unit-list span,
  .number,
  .progress-row strong,
  th,
  .info-card span,
  .recruitment-preview-list span,
  .finance-preview-list span,
  .slogan-label,
  .slogan-group,
  .slogan-attribution,
  .slogan-byline,
  .info-number,
  .course-status,
  .study-steps article > span,
  .study-course-list span,
  .study-course-list small,
  .careers-card-footer,
  .careers-value-number,
  .career-category-heading span,
  .career-role-kicker,
  .career-role-position,
  .career-detail-facts span,
  .recruitment-card-grid span,
  .recruitment-opportunity-labels,
  .recruitment-opportunity-employer-link span,
  .recruitment-check-list span,
  .candidate-account-grid span,
  .employer-activity-row time,
  .evidence-index,
  .audit-event small,
  .portal-event-date span,
  .recruitment-workspace-layout .nav-count,
  .recruitment-table th,
  .recruitment-command-date,
  .recruitment-section-marker,
  .recruitment-stat-card-top,
  .recruitment-workflow-number,
  .recruitment-queue-panel-heading span,
  .recruitment-order-kicker,
  .form-section-label,
  .finance-referral-workspace-layout .nav-count,
  .pathway-stat small,
  .pathway-card-top span,
  .pathway-card-top b,
  code,
  kbd,
  samp,
  pre,
  .font-mono
) {
  font-family: inherit !important;
}

.portal-record-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  margin: 12px 0 4px;
  border: 1px solid #d9e1e6;
  border-radius: 10px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.portal-record-table-wrap:focus-visible {
  outline: 3px solid #d19b24;
  outline-offset: 3px;
}

.portal-record-table-wrap .sr-only,
.portal-record-table .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.portal-record-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: #243746;
  font-size: 15px;
}

.portal-record-table th,
.portal-record-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #e5ebef;
  text-align: left;
  vertical-align: middle;
}

.portal-record-table th {
  background: #f3f6f8;
  color: #344c5d;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.portal-record-table tbody tr:last-child td {
  border-bottom: 0;
}

.portal-record-table tbody tr:hover {
  background: #f8fafb;
}

.portal-record-table td small {
  display: block;
  margin-top: 3px;
  color: #5d6d78;
}

.portal-record-table .status,
.portal-record-table .button,
.portal-record-table .arrow-link {
  white-space: nowrap;
}

.portal-record-table .button {
  min-height: 40px;
}

.attendance-record-table {
  min-width: 760px;
}

.attendance-record-table select,
.attendance-record-table input {
  width: 100%;
  min-width: 150px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #aebbc5;
  border-radius: 6px;
  background: #fff;
  color: #243746;
}

.attendance-form > .button {
  min-height: 44px;
  margin-top: 14px;
}

.portal-record-table-empty {
  margin-top: 12px;
}

@media (max-width: 760px) {
  .portal-record-table-wrap {
    border-radius: 8px;
  }

  .portal-record-table {
    min-width: 590px;
    font-size: 14px;
  }

  .portal-record-table th,
  .portal-record-table td {
    padding: 10px 11px;
  }
}

/* Increase 12px portal text for desktop readability without changing public pages or mobile layouts. */
@media (min-width: 761px) {
  body.internal-portal :is(
    .group-training-form label,
    .credential-card p,
    .credential-card small,
    .resource-publish-form label,
    .detail-meta,
    .form-card label,
    .stack-form label,
    .error,
    .form-error,
    .metric span,
    .metric small,
    .data-row p,
    .progress-row,
    table,
    .info-card small,
    .workspace-sidebar nav a
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .candidate-workspace-nav > a,
    .application-sidebar .workspace-mobile-toggle
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .portal-news-empty p,
    .assessment-filter legend,
    .wizard-progress-step,
    .application-field-label,
    .application-checklist-list small,
    .application-checklist-note,
    .review-edit-button,
    .payment-summary span
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .employer-panel-heading .muted,
    .employer-activity-row small,
    .employer-job-preview small,
    .employer-brief-row small,
    .employer-job-card-stats,
    .employer-stage-key span,
    .employer-candidate-identity p,
    .employer-candidate-identity small,
    .candidate-activity-row small,
    .candidate-job-skills,
    .employer-registration-field .form-help,
    .employer-industry-field .form-help,
    .employer-job-card-actions .button
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .compliance-filter-bar label:not(.checkbox-field),
    .compliance-filter-bar .checkbox-field,
    .table-action-button,
    .compliance-record-link small,
    .role-workspace-layout > .workspace-sidebar > .muted,
    .employer-job-review-details > summary,
    .directory-filter-panel label,
    .directory-filter-roles legend,
    .people-group-heading span,
    .access-form label,
    .people-detail-role span,
    .access-request-item small,
    .access-decision-note,
    .recruitment-table td,
    .application-documents-cell a,
    .application-table td > .muted,
    .handoff-email summary .button,
    .handoff-email label,
    .rto-confirmation-status span,
    .rto-confirmation-actions p span,
    .portal-pagination .button,
    .rto-detail-facts span,
    .rto-detail-note > span,
    .rto-document-item small,
    .application-detail-list dt,
    .compact-action .button,
    .review-readiness,
    .review-action-summary,
    .period-picker label,
    .timesheet-date-head strong,
    .timesheet-submit-row,
    .upload-control small,
    .upload-confirmation small,
    .information-upload-form input[type="file"],
    .recruitment-command-link,
    .recruitment-stat-card p,
    .recruitment-stat-card a,
    .recruitment-workflow-card a,
    .recruitment-action-arrow,
    .recruitment-action-card p,
    .recruitment-empty-state p
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .notification-card p,
    .website-record-list > div,
    .table-edit summary,
    .payment-classification-form input,
    .payment-classification-form select,
    .payment-classification-form button,
    .report-card p,
    .access-form .button,
    .compliance-hero-meta span,
    .compliance-hero-meta small,
    .compliance-check p,
    .compliance-review-form label
  ) {
    font-size: 16px;
  }

  body.internal-portal :is(
    .finance-report-meta th,
    .finance-report-table th
  ) {
    font-size: 16px;
  }
}
