body.sc-public [data-sc-desktop-header],
body.sc-public [data-sc-desktop-contact] {
  display: none !important;
}

@media (min-width: 1024px) {
  body.sc-public [data-sc-mobile-header],
  body.sc-public [data-sc-mobile-menu] {
    display: none !important;
  }

  body.sc-public [data-sc-desktop-header] {
    display: flex !important;
  }

  body.sc-public [data-sc-desktop-contact] {
    display: block !important;
  }
}

[data-sc-desktop-footer] {
    display: none;
  }

  @media (min-width: 768px) {
    [data-sc-mobile-footer] {
      display: none !important;
    }

    [data-sc-desktop-footer] {
      display: block;
    }
  }

body.sc-public .bg-sc-bg { background: var(--sc-bg) !important; }
  body.sc-public .text-sc-text { color: var(--sc-text) !important; }
  body.sc-public .text-sc-text-muted { color: var(--sc-text-muted) !important; }
  body.sc-public .text-sc-primary { color: var(--sc-primary) !important; }
  body.sc-public .border-sc-border { border-color: var(--sc-border) !important; }
  body.sc-public .bg-sc-primary { background-color: var(--sc-primary) !important; }
  body.sc-public .hover\:bg-sc-primary-hover:hover { background-color: var(--sc-primary-hover) !important; }
  body.sc-public .hover\:text-sc-primary:hover { color: var(--sc-primary-hover) !important; }
  body.sc-public [class*="shadow"] { box-shadow: none !important; }

  body.sc-public .sc-page-frame {
    background: var(--sc-surface);
  }

  body.sc-public .sc-shell,
  body.sc-public .sc-hero,
  body.sc-public .sc-card,
  body.sc-public .sc-login-card,
  body.sc-public .sc-login-intro,
  body.sc-public .sc-mobile-card {
    border: 1px solid var(--sc-panel-border-strong);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
    box-shadow: none;
  }

  body.sc-public .sc-card-muted {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--ui-surface-soft-fill);
  }

  body.sc-public .sc-surface-main-panel,
  body.sc-public .sc-surface-aside-panel,
  body.sc-public .sc-surface-section,
  body.sc-public .sc-surface-side-panel,
  body.sc-public .sc-surface-inline-panel {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
    box-shadow: none;
  }

  body.sc-public .sc-surface-aside-panel,
  body.sc-public .sc-surface-side-panel {
    align-self: start;
  }

  body.sc-public .sc-heading-display,
  body.sc-public .sc-heading-title {
    color: var(--sc-text);
    letter-spacing: -0.04em;
  }

  body.sc-public .sc-heading-section {
    color: var(--sc-text);
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  body.sc-public .sc-copy-body,
  body.sc-public .sc-copy-small {
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-meta {
    color: var(--sc-meta);
  }

  body.sc-public .sc-hero {
    position: relative;
    overflow: hidden;
    background: var(--sc-surface);
    border-color: var(--sc-border);
    border-radius: var(--ui-radius-panel-lg);
  }
  body.sc-public .sc-hero > * {
    position: relative;
    z-index: 1;
  }

  body.sc-public .sc-login-card > h1,
  body.sc-public .sc-login-card > h2 {
    margin: 0;
    font-size: var(--ui-size-title);
    line-height: var(--ui-line-title);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sc-text);
  }

  body.sc-public .sc-login-card > p {
    color: var(--sc-text-muted) !important;
    font-size: var(--ui-size-body) !important;
    line-height: var(--ui-line-body) !important;
  }

  body.sc-public .sc-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.34rem 0.72rem;
    border-radius: var(--ui-radius-pill);
    border: 1px solid var(--sc-border);
    background: var(--sc-surface);
    color: var(--sc-primary-ink);
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  body.sc-public .sc-chip-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--sc-success);
    flex: 0 0 auto;
  }

  body.sc-public .sc-careers-hero-copy {
    max-width: 42rem;
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-side-card.sc-signature-panel {
    position: relative;
    overflow: hidden;
  }

  body.sc-public .sc-careers-flow-list {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  body.sc-public .sc-careers-flow-item {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
  }
  body.sc-public .sc-careers-flow-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 9999px;
    background: var(--sc-surface);
    border: 1px solid var(--sc-panel-border);
    color: var(--sc-primary-ink);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    flex: 0 0 auto;
  }

  body.sc-public .sc-careers-side-cta {
    position: relative;
    overflow: hidden;
    gap: 0.7rem;
  }
  body.sc-public .sc-careers-side-cta::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 2px;
    background: color-mix(in srgb, var(--sc-primary) 82%, white 18%);
  }
  body.sc-public .sc-careers-side-cta .sc-chip {
    width: fit-content;
  }

  body.sc-public .sc-count-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--ui-height-chip);
    padding: 0 0.72rem;
    border-radius: var(--ui-radius-pill);
    border: 1px solid var(--sc-border-strong);
    background: var(--sc-surface);
    color: var(--sc-text);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  body.sc-public .sc-job-card {
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-surface);
  }
  body.sc-public .sc-job-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
  }
  body.sc-public .sc-job-card-meta {
    margin-top: 0.22rem;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sc-meta);
  }
  body.sc-public .sc-job-card-copy {
    margin-top: 0.78rem;
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-body);
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-job-card-actions {
    margin-top: 1rem;
  }
  body.sc-public .sc-job-live-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ui-radius-pill);
    border: 1px solid var(--sc-success-border);
    background: var(--sc-success-bg);
    padding: 0.24rem 0.56rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sc-success-ink);
  }

  body.sc-public .sc-cta-band {
    border: 1px solid var(--sc-border-strong);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
  }
  body.sc-public .sc-cta-band-copy {
    max-width: 36rem;
  }

  body.sc-public .sc-apply-form {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.9rem;
  }

  body.sc-public .sc-apply-shell {
    padding: 0.25rem 0;
  }

  body.sc-public .sc-apply-main {
    gap: 0.9rem;
    padding: var(--ui-pad-panel-lg);
  }

  body.sc-public .sc-apply-action-row {
    padding-top: 0.35rem;
  }

  body.sc-public .sc-apply-intro {
    display: grid;
    gap: 0.32rem;
    padding: 0;
  }

  /* Field groups are separated by rhythm and a hairline rule, not by another
     border drawn around controls that already carry one. */
  body.sc-public .sc-apply-section {
    display: grid;
    gap: 0.7rem;
  }

  body.sc-public .sc-apply-section + .sc-apply-section {
    padding-top: 0.95rem;
    border-top: 1px solid var(--sc-border);
  }

  /* The alert block is display:grid, so hiding it needs to beat that. */
  body.sc-public .sc-apply-form-alert[hidden] {
    display: none;
  }

  /* Help text that sits beside its field instead of under it. */
  body.sc-public .sc-apply-field-note {
    align-self: end;
    padding-bottom: 0.5rem;
  }

  body.sc-public .sc-apply-summary-textarea {
    min-height: 6rem;
    line-height: 1.5;
  }

  body.sc-public .sc-apply-consent-list {
    display: grid;
    gap: 0.6rem;
  }

  body.sc-public .sc-apply-side-stack {
    display: grid;
    gap: 1rem;
    align-content: start;
  }

  body.sc-public .sc-apply-side-panel {
    gap: 0;
  }

  body.sc-public .sc-apply-side-section {
    display: grid;
    gap: 0.45rem;
    padding: 0.1rem 0;
  }

  body.sc-public .sc-apply-side-section + .sc-apply-side-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--sc-border);
  }

  body.sc-public .sc-apply-step-list {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.sc-public .sc-apply-step-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
  }

  /* Recruitment application surfaces.

     The manager recruitment console moved to the prototype's soft, flat
     workspace. The applicant-facing short and full application pages use the
     same rhythm here, but keep the public `sc-` controls and form behaviour. */
  body.sc-public.sc-applicant-application-page .sc-page-frame {
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--sc-bg) 92%, #ffffff) 0%, var(--sc-bg) 42%, var(--sc-bg) 100%);
  }

  body.sc-public.sc-applicant-application-page .sc-login-main {
    background: transparent;
  }

  body.sc-public.sc-applicant-application-page .sc-application-shell,
  body.sc-public.sc-applicant-application-page .sc-apply-shell {
    padding: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-layout-sidebar-standard {
    align-items: start;
    gap: 1rem;
  }

  body.sc-public.sc-applicant-application-page .sc-applicant-application-panel,
  body.sc-public.sc-applicant-application-page .sc-application-workspace-side,
  body.sc-public.sc-applicant-application-page .sc-apply-side-panel {
    border: 1px solid color-mix(in srgb, var(--sc-panel-border) 82%, #ffffff);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
  }

  body.sc-public.sc-applicant-application-page .sc-applicant-application-panel {
    padding: 0;
    overflow: hidden;
  }

  body.sc-public.sc-applicant-application-page .sc-application-toolbar,
  body.sc-public.sc-applicant-application-page .sc-apply-intro {
    padding: 1.05rem 1.25rem 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--sc-panel-border) 82%, transparent);
    background: color-mix(in srgb, var(--sc-surface) 92%, var(--sc-bg));
  }

  body.sc-public.sc-applicant-application-page .sc-application-toolbar {
    margin: 0;
    align-items: flex-start;
    gap: 1rem;
  }

  body.sc-public.sc-applicant-application-page .sc-application-toolbar-meta {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
  }

  body.sc-public.sc-applicant-application-page .sc-meta {
    margin: 0;
    color: #52627a;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.095em;
    text-transform: uppercase;
  }

  body.sc-public.sc-applicant-application-page .sc-heading-title,
  body.sc-public.sc-applicant-application-page .sc-heading-section {
    color: #061126;
    font-weight: 800;
    letter-spacing: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-heading-title {
    font-size: clamp(1.08rem, 1rem + 0.32vw, 1.42rem);
    line-height: 1.15;
  }

  body.sc-public.sc-applicant-application-page .sc-copy-body,
  body.sc-public.sc-applicant-application-page .sc-copy-small,
  body.sc-public.sc-applicant-application-page .sc-field-help {
    color: #52627a;
  }

  body.sc-public.sc-applicant-application-page .sc-status-pill {
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
  }

  body.sc-public.sc-applicant-application-page .sc-progress-meter {
    width: min(14rem, 28vw);
  }

  body.sc-public.sc-applicant-application-page .sc-application-progress-head {
    margin-bottom: 0.45rem;
  }

  body.sc-public.sc-applicant-application-page .sc-application-progress-stat {
    color: #5b35f2;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  body.sc-public.sc-applicant-application-page .sc-progress-track {
    height: 0.5rem;
    border-radius: 999px;
    background: #e9edf4;
    overflow: hidden;
  }

  body.sc-public.sc-applicant-application-page .sc-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #5b35f2, #8b5cf6);
  }

  body.sc-public.sc-applicant-application-page .sc-application-workspace,
  body.sc-public.sc-applicant-application-page .sc-apply-form {
    padding: 1.05rem 1.25rem 1.25rem;
  }

  body.sc-public.sc-applicant-application-page .sc-apply-form {
    margin-top: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-application-form {
    gap: 0.85rem;
    padding: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-section-head {
    margin: 0.3rem 0 0;
  }

  body.sc-public.sc-applicant-application-page .sc-divider {
    margin: 0.25rem 0;
    border-color: color-mix(in srgb, var(--sc-panel-border) 82%, transparent);
  }

  body.sc-public.sc-applicant-application-page .sc-field {
    min-width: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-field-label,
  body.sc-public.sc-applicant-application-page label:not(.sc-field-check) {
    color: #52627a;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.065em;
    text-transform: uppercase;
  }

  body.sc-public.sc-applicant-application-page .sc-field-input,
  body.sc-public.sc-applicant-application-page .sc-field-select,
  body.sc-public.sc-applicant-application-page .sc-field-textarea {
    min-height: var(--ui-height-control);
    border: 1px solid #cfdae8;
    border-radius: var(--ui-radius-control);
    background: #ffffff;
    color: #061126;
    font-size: 0.92rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
  }

  body.sc-public.sc-applicant-application-page .sc-field-input:focus,
  body.sc-public.sc-applicant-application-page .sc-field-select:focus,
  body.sc-public.sc-applicant-application-page .sc-field-textarea:focus {
    border-color: #74a7ff;
    box-shadow: 0 0 0 4px rgba(116, 167, 255, 0.18);
    outline: none;
  }

  body.sc-public.sc-applicant-application-page .sc-field-textarea {
    line-height: 1.45;
  }

  body.sc-public.sc-applicant-application-page .sc-field-check {
    border: 1px solid color-mix(in srgb, var(--sc-panel-border) 88%, #ffffff);
    border-radius: 14px;
    background: color-mix(in srgb, var(--sc-bg) 35%, #ffffff);
    padding: 0.75rem 0.85rem;
  }

  /* Key training: each item is a selectable card; ticking it expands the
     completion date inside the same card. */
  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
    align-items: start;
    gap: 0.75rem;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-item {
    display: grid;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--sc-panel-border) 88%, #ffffff);
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-item:hover {
    border-color: #b9c8dc;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-item.is-checked {
    border-color: #b8a9f5;
    background: #faf8ff;
    box-shadow: 0 0 0 3px rgba(124, 92, 246, 0.08);
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-toggle {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 3.25rem;
    padding: 0.7rem 0.9rem;
    cursor: pointer;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-toggle input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: #7c5cf6;
    cursor: pointer;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-toggle input[type="checkbox"]:focus-visible {
    outline: 3px solid rgba(124, 92, 246, 0.3);
    outline-offset: 2px;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-name {
    flex: 1 1 auto;
    min-width: 0;
    color: #13213a;
    font-size: 0.93rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date {
    display: grid;
    gap: 0.45rem;
    padding: 0.7rem 0.9rem 0.85rem;
    border-top: 1px solid #ebe5fd;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date[hidden] {
    display: none;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date-label {
    color: #52627a;
    font-size: 0.76rem;
    font-weight: 600;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date-controls {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
    gap: 0.5rem;
  }

  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date-controls .sc-field-select,
  body.sc-public.sc-applicant-application-page [data-sc-step="5"] .sc-key-training-date-controls .sc-field-input {
    min-height: 2.6rem;
    padding-inline: 0.75rem;
    border-color: color-mix(in srgb, var(--sc-panel-border) 88%, #ffffff);
    border-radius: 10px;
    background: #ffffff;
    font-size: 0.88rem;
  }

  /* Other relevant training rows: give the row heading room to breathe. */
  body.sc-public.sc-applicant-application-page [data-sc-repeat="other_training"] .sc-repeat-row {
    display: grid;
    gap: 0.8rem;
  }

  body.sc-public.sc-applicant-application-page [data-sc-repeat="other_training"] .sc-repeat-row .sc-section-head-inline {
    padding-bottom: 0.6rem;
    border-bottom: 1px solid color-mix(in srgb, var(--sc-panel-border) 70%, #ffffff);
  }

  body.sc-public.sc-applicant-application-page [data-sc-repeat="other_training"] .sc-repeat-row [data-sc-row-heading] {
    font-size: 0.95rem;
  }

  body.sc-public.sc-applicant-application-page .sc-current-job-field .sc-field-check {
    width: 100%;
    min-height: var(--ui-height-control);
    align-items: center;
    padding-block: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-current-job-field .sc-field-check input[type="checkbox"] {
    margin-top: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-file-field {
    border: 1px solid #cfdae8;
    border-radius: 14px;
    background: #ffffff;
    padding: 0.32rem;
  }

  body.sc-public.sc-applicant-application-page .sc-file-trigger {
    border: 0;
    border-radius: 11px;
    background: #071127;
    color: #ffffff;
    font-weight: 800;
  }

  /* A file trigger is implemented as a label, so the generic application
     label colour otherwise wins the cascade and makes its navy-button text
     difficult to read. Keep the short-form chooser compact and explicit. */
  body.sc-public.sc-applicant-application-page.sc-short-application-page .sc-file-field .sc-file-trigger {
    min-height: 2.2rem;
    padding: 0.28rem 0.85rem;
    border-radius: 10px;
    background: #071127;
    color: #ffffff;
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

  body.sc-public.sc-applicant-application-page.sc-short-application-page .sc-file-native:focus-visible + .sc-file-trigger {
    outline: 3px solid rgba(63, 115, 191, 0.28);
    outline-offset: 2px;
  }

  body.sc-public.sc-applicant-application-page .sc-file-name {
    color: #52627a;
  }

  body.sc-public.sc-applicant-application-page .sc-btn-primary,
  body.sc-public.sc-applicant-application-page .sc-btn-secondary {
    min-height: 2.65rem;
    border-radius: 13px;
    font-weight: 850;
    letter-spacing: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-btn-primary {
    border-color: #071127;
    background: #071127;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(7, 17, 39, 0.14);
  }

  body.sc-public.sc-applicant-application-page .sc-btn-primary:hover {
    background: #12213c;
    border-color: #12213c;
  }

  body.sc-public.sc-applicant-application-page .sc-btn-secondary {
    border-color: #cfd9e8;
    background: #ffffff;
    color: #20324d;
  }

  body.sc-public.sc-applicant-application-page .sc-step-actions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--sc-panel-border) 82%, transparent);
  }

  body.sc-public.sc-applicant-application-page .sc-application-workspace-side {
    padding: 0.85rem;
  }

  body.sc-public.sc-applicant-application-page .sc-step-rail-action {
    margin-bottom: 0.8rem;
  }

  body.sc-public.sc-applicant-application-page .sc-step-rail-card {
    border: 0;
    background: transparent;
    padding: 0;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-head {
    align-items: center;
    border-bottom-color: color-mix(in srgb, var(--sc-panel-border) 82%, transparent);
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-title {
    color: #061126;
    font-weight: 800;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-marker {
    width: 1.7rem;
    height: 1.7rem;
    border-color: #cfdae8;
    background: #ffffff;
    color: #52627a;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-item::before {
    left: 0.84rem;
    background: #cfdae8;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-item[data-step-state="complete"] .sc-step-progress-marker,
  body.sc-public.sc-applicant-application-page .sc-step-progress-link.is-active .sc-step-progress-marker,
  body.sc-public.sc-applicant-application-page .sc-step-progress-link.is-next .sc-step-progress-marker {
    border-color: #35c979;
    background: #35c979;
    color: #ffffff;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-item[data-step-state="complete"]::before {
    background: #35c979;
  }

  body.sc-public.sc-applicant-application-page .sc-step-progress-state,
  body.sc-public.sc-applicant-application-page .sc-step-progress-link.is-active .sc-step-progress-state,
  body.sc-public.sc-applicant-application-page .sc-step-progress-link.is-next .sc-step-progress-state {
    color: #35a46a;
    font-weight: 700;
  }

  body.sc-public.sc-applicant-application-page .sc-apply-side-panel {
    padding: 1rem;
  }

  body.sc-public.sc-applicant-application-page .sc-apply-side-section + .sc-apply-side-section {
    border-top-color: color-mix(in srgb, var(--sc-panel-border) 82%, transparent);
  }

  body.sc-public.sc-applicant-application-page .sc-step-chip {
    background: #ecfdf5;
    color: #187249;
  }

  @media (max-width: 900px) {
    body.sc-public.sc-applicant-application-page .sc-application-toolbar {
      flex-direction: column;
    }

    body.sc-public.sc-applicant-application-page .sc-progress-meter {
      width: 100%;
    }
  }

  body.sc-public .sc-signature-panel {
    position: relative;
    overflow: hidden;
  }
  body.sc-public .sc-signature-pill {
    display: inline-block;
    width: 52px;
    height: 10px;
    border-radius: 999px;
    flex: 0 0 auto;
    background:
      linear-gradient(
        90deg,
        var(--sc-primary) 0 25%,
        var(--sc-blue) 25% 50%,
        var(--sc-success) 50% 75%,
        var(--sc-amber) 75% 100%
      );
  }

  body.sc-public .sc-vacancy-grid {
    display: grid;
    gap: 0.75rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-vacancy-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (min-width: 1280px) {
    body.sc-public .sc-vacancy-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  body.sc-public .sc-kpi {
    color: var(--sc-text);
    border-radius: var(--ui-radius-panel-muted);
    padding: 1rem;
    border: 1px solid var(--sc-border-strong);
    background: var(--sc-surface);
  }
  body.sc-public .sc-kpi-value {
    font-size: 1.5rem;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  body.sc-public .sc-kpi-label {
    margin-top: 0.24rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-kpi-rose,
  body.sc-public .sc-kpi-amber,
  body.sc-public .sc-kpi-sky,
  body.sc-public .sc-kpi-violet {
    background: var(--sc-surface);
  }

  body.sc-public .sc-btn-primary,
  body.sc-public .sc-btn-secondary,
  body.sc-public .sc-btn-soft,
  body.sc-public .sc-public-nav-link,
  body.sc-public .sc-public-footer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: var(--ui-height-control);
    border-radius: var(--ui-radius-control);
    padding: 0.32rem 0.88rem;
    font-size: 12px;
    font-weight: 700;
    line-height: var(--ui-line-body);
    text-decoration: none;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
  }

  body.sc-public .sc-login-card button.sc-btn-primary,
  body.sc-public .sc-login-card a.sc-btn-primary,
  body.sc-public .sc-login-card a.sc-btn-secondary,
  body.sc-public .sc-login-card a.sc-btn-soft {
    width: 100%;
  }

  body.sc-public .sc-btn-primary,
  body.sc-public .sc-public-nav-link-primary,
  body.sc-public .sc-public-footer-link-primary {
    background: var(--ui-btn-primary-bg);
    border: 1px solid var(--ui-btn-primary-border);
    color: var(--ui-btn-primary-ink);
  }
  body.sc-public .sc-btn-primary:hover,
  body.sc-public .sc-public-nav-link-primary:hover,
  body.sc-public .sc-public-footer-link-primary:hover {
    background: var(--ui-btn-primary-bg-hover);
    border-color: var(--ui-btn-primary-bg-hover);
    color: var(--sc-button-primary-ink);
  }

  body.sc-public .sc-btn-secondary,
  body.sc-public .sc-public-nav-link,
  body.sc-public .sc-public-footer-link {
    background: var(--ui-btn-secondary-bg);
    border: 1px solid var(--ui-btn-secondary-border);
    color: var(--ui-btn-secondary-ink);
    font-weight: 700;
  }
  body.sc-public .sc-btn-secondary:hover,
  body.sc-public .sc-public-nav-link:hover,
  body.sc-public .sc-public-footer-link:hover {
    background: color-mix(in srgb, var(--ui-btn-secondary-bg-hover) 82%, var(--sc-surface-soft) 18%);
    border-color: color-mix(in srgb, var(--ui-btn-secondary-border-hover) 78%, var(--sc-text) 22%);
    color: var(--ui-btn-secondary-ink);
  }
  body.sc-public .sc-btn-soft {
    background: color-mix(in srgb, var(--ui-text) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--ui-text) 14%, transparent);
    color: color-mix(in srgb, var(--ui-text) 84%, white 16%);
    font-weight: 700;
  }
  body.sc-public .sc-btn-soft:hover {
    background: color-mix(in srgb, var(--ui-text) 10%, white 90%);
    border-color: color-mix(in srgb, var(--ui-text) 28%, white 72%);
    color: color-mix(in srgb, var(--ui-text) 84%, white 16%);
  }
  body.sc-public .sc-public-nav-link-plain {
    padding-inline: 0.82rem;
    background: var(--sc-surface);
  }
  body.sc-public .sc-public-nav-link-login {
    padding-inline: 1rem;
  }
  body.sc-public .sc-public-nav-link-login:not(.sc-public-nav-link-primary) {
    background: var(--sc-surface);
  }
  body.sc-public .sc-public-nav-link-login.sc-public-nav-link-primary {
    box-shadow: inset 0 1px 0 color-mix(in srgb, white 18%, transparent);
  }
  body.sc-public .sc-public-nav-icon {
    width: 0.92rem;
    height: 0.92rem;
    flex: 0 0 auto;
  }

  body.sc-public .sc-feature {
    border-radius: var(--ui-radius-panel-muted);
    border: 1px solid var(--sc-border);
    padding: 0.82rem 0.88rem;
    background: var(--sc-surface);
  }
  body.sc-public .sc-feature-title {
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-label);
    font-weight: 700;
    color: var(--sc-text);
  }
  body.sc-public .sc-feature-text {
    margin-top: 0.25rem;
    font-size: var(--ui-size-small);
    color: var(--sc-text-muted);
    line-height: var(--ui-line-small);
  }
  body.sc-public .sc-feature-rose,
  body.sc-public .sc-feature-amber,
  body.sc-public .sc-feature-sky,
  body.sc-public .sc-feature-violet {
    background: var(--sc-surface);
    border-color: var(--sc-border);
  }

  body.sc-public .sc-mobile-card {
    background: var(--sc-surface);
  }
  body.sc-public .sc-qr-wrap {
    border-radius: var(--ui-radius-panel-muted);
    border: 1px solid var(--sc-border);
    background: var(--sc-surface);
    padding: 0.45rem;
  }
  body.sc-public .sc-qr-image,
  body.sc-public .sc-qr-placeholder {
    width: 7rem;
    height: 7rem;
    border-radius: 0.75rem;
    border: 1px solid var(--sc-border);
    background: var(--sc-surface);
  }
  body.sc-public .sc-qr-image {
    padding: 0.375rem;
  }
  body.sc-public .sc-qr-placeholder {
    background: var(--sc-surface-muted);
  }
  body.sc-public .sc-mobile-link-row {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.85rem;
  }

  body.sc-public .sc-empty-panel {
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--ui-surface-soft-fill);
    padding: 1rem;
  }
  body.sc-public .sc-barcode-strip {
    height: 26px;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background:
      repeating-linear-gradient(
        90deg,
        color-mix(in srgb, var(--sc-text) 82%, transparent) 0 2px,
        color-mix(in srgb, var(--sc-text) 12%, transparent) 2px 4px
      ),
      linear-gradient(
        90deg,
        color-mix(in srgb, var(--sc-blue) 4%, white 96%),
        color-mix(in srgb, var(--sc-blue) 14%, white 86%),
        color-mix(in srgb, var(--sc-blue) 4%, white 96%)
      );
  }

  body.sc-public .sc-quick-link {
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    padding: 0.8rem 0.86rem;
    background: var(--sc-surface);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  body.sc-public .sc-quick-link:hover {
    background: var(--ui-surface-soft-fill);
    border-color: var(--sc-border-strong);
  }

  body.sc-public .sc-quick-link-body {
    min-width: 0;
    display: grid;
    gap: 0.18rem;
  }

  body.sc-public .sc-quick-link-title {
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-section);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--sc-text);
  }

  body.sc-public .sc-quick-link-copy {
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-quick-badge {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: var(--ui-radius-pill);
    padding: 0.24rem 0.56rem;
    color: var(--sc-text);
    background: var(--sc-surface);
    border: 1px solid var(--sc-border-strong);
    flex: 0 0 auto;
  }

  body.sc-public .sc-quick-badge[data-tone="primary"] {
    color: var(--sc-primary-ink);
    border-color: var(--sc-purple-border);
    background: var(--sc-purple-bg);
  }

  body.sc-public .sc-quick-badge[data-tone="warm"] {
    color: var(--sc-warning-ink);
    border-color: var(--sc-warning-border);
    background: var(--sc-warning-bg);
  }

  body.sc-public .sc-quick-badge[data-tone="dark"] {
    color: var(--sc-navy);
    border-color: color-mix(in srgb, var(--sc-navy) 15%, white 85%);
    background: var(--ui-surface-soft-fill);
  }

  body.sc-public .sc-landing-hero {
    display: grid;
    gap: 1.25rem;
  }
  @media (min-width: 1024px) {
    body.sc-public .sc-landing-hero {
      grid-template-columns: minmax(0, 1.15fr) 22rem;
      align-items: stretch;
    }
  }

  body.sc-public .sc-landing-main-panel {
    display: grid;
    align-content: center;
    min-width: 0;
  }

  body.sc-public .sc-hero-copy {
    max-width: 42rem;
  }

  body.sc-public .sc-surface-section {
    border-color: var(--sc-panel-border);
  }

  body.sc-public .sc-surface-inline-panel,
  body.sc-public .sc-surface-side-panel {
    border-color: var(--sc-panel-border);
  }

  body.sc-public .sc-landing-side-panel {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
  }

  body.sc-public .sc-compact-link-stack {
    display: grid;
    gap: 0;
    margin-top: 0.35rem;
  }

  body.sc-public .sc-compact-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.78rem 0;
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--sc-border) 90%, white 10%);
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    color: var(--sc-text);
    transition: color 0.16s ease, transform 0.16s ease;
  }

  body.sc-public .sc-compact-link:first-child {
    border-top: 0;
  }

  body.sc-public .sc-compact-link:hover {
    color: var(--sc-primary-ink);
    transform: translateX(2px);
  }

  body.sc-public .sc-compact-link-body {
    min-width: 0;
    display: grid;
    gap: 0.14rem;
  }

  body.sc-public .sc-compact-link-title {
    font-size: 0.86rem;
    line-height: 1.24;
    font-weight: 600;
    color: var(--sc-text);
  }

  body.sc-public .sc-compact-link-copy {
    font-size: 0.74rem;
    line-height: 1.42;
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-compact-link-badge {
    flex: 0 0 auto;
  }

  body.sc-public input[type="text"],
  body.sc-public input[type="email"],
  body.sc-public input[type="tel"],
  body.sc-public input[type="number"],
  body.sc-public input[type="date"],
  body.sc-public input[type="month"],
  body.sc-public input[type="password"],
  body.sc-public select,
  body.sc-public textarea {
    min-height: var(--ui-height-control);
    border-color: var(--sc-border) !important;
    border-radius: var(--ui-radius-control) !important;
    color: var(--sc-text) !important;
    background-color: var(--sc-surface) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
  }
  body.sc-public select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.4rem !important;
    background-image:
      linear-gradient(var(--sc-border), var(--sc-border)),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.25 8 10l4-3.75' stroke='%2358677b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size:
      1px calc(100% - 10px),
      14px 14px !important;
    background-position:
      calc(100% - 2rem) 50%,
      calc(100% - 0.75rem) 50% !important;
    background-repeat: no-repeat !important;
  }
  body.sc-public textarea {
    min-height: 120px;
  }
  body.sc-public input:focus,
  body.sc-public select:focus,
  body.sc-public textarea:focus {
    border-color: var(--sc-primary) !important;
    box-shadow: none !important;
  }

  body.sc-public input[type="checkbox"] {
    border-color: var(--sc-border-strong) !important;
    color: var(--sc-primary) !important;
  }

  body.sc-public input[type="file"]::file-selector-button {
    margin-right: 0.55rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-control);
    padding: 0.44rem 0.74rem;
    background: var(--sc-surface-soft);
    color: var(--sc-text);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
  }
  body.sc-public input[type="file"]::file-selector-button:hover {
    background: var(--sc-surface-muted);
  }

  body.sc-public .sc-public-header {
    background: var(--sc-surface) !important;
    border-bottom: 1px solid var(--sc-border) !important;
    border-bottom-color: var(--sc-border) !important;
    box-shadow: none;
  }
  body.sc-public .sc-public-header-inner {
    position: relative;
  }
  body.sc-public .sc-public-header-compact .sc-public-brand-mark {
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
  }
  body.sc-public .sc-public-header-compact .sc-public-brand-fallback {
    padding-top: 0.35rem;
    font-size: 0.78rem;
  }
  body.sc-public .sc-public-header-compact .sc-public-brand-copy > .sc-heading-section {
    font-size: 0.92rem;
    line-height: 1.15;
  }
  body.sc-public .sc-public-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  body.sc-public .sc-public-header-brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
  }
  body.sc-public .sc-public-brand-copy {
    min-width: 0;
    line-height: 1.1;
  }
  body.sc-public .sc-public-brand-subline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.125rem 0.5rem;
    margin-top: 0.125rem;
  }
  body.sc-public .sc-public-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid var(--sc-border-strong) !important;
    background: var(--sc-surface) !important;
  }
  body.sc-public .sc-public-brand-mark.is-fallback {
    position: relative;
    overflow: hidden;
  }
  body.sc-public .sc-public-brand-mark.is-fallback::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 6px;
    width: 46%;
    height: 5px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        var(--sc-primary) 0 25%,
        var(--sc-blue) 25% 50%,
        var(--sc-success) 50% 75%,
        var(--sc-amber) 75% 100%
      );
    opacity: 0.95;
  }
  body.sc-public .sc-public-brand-fallback {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding-top: 0.5rem;
    font-size: 0.92rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.05em;
    color: var(--sc-text);
  }
  body.sc-public .sc-public-header .sc-public-brand-mark .sc-heading-section {
    color: var(--sc-text);
  }
  body.sc-public .sc-public-header .sc-heading-section {
    color: var(--sc-text);
  }
  body.sc-public .sc-public-header .sc-copy-small,
  body.sc-public .sc-public-header .sc-tone-inherit {
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-public-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--ui-height-control);
    padding: 0.5rem 0.75rem;
    border-radius: var(--ui-radius-control);
    background: var(--sc-surface);
    border-color: var(--sc-border) !important;
    color: var(--sc-text) !important;
  }
  body.sc-public .sc-public-mobile-menu {
    border-color: var(--sc-border) !important;
    border-radius: var(--ui-radius-panel-muted) !important;
    background: var(--sc-surface) !important;
  }
  body.sc-public .sc-public-mobile-menu-actions {
    display: grid;
    gap: 0.5rem;
  }
  body.sc-public .sc-public-mobile-menu-actions > a {
    width: 100%;
    justify-content: center;
  }
  body.sc-public .sc-public-mobile-note {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--sc-border);
    text-align: center;
  }
  body.sc-public .sc-public-mobile-menu .sc-copy-small {
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-public-contact {
    background: var(--sc-surface) !important;
    border-top-color: var(--sc-border) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--sc-border) 72%, white 28%);
  }
  body.sc-public .sc-public-contact-row {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
  }
  body.sc-public .sc-public-contact-note {
    margin-left: auto;
  }
  body.sc-public .sc-public-contact .sc-copy-small,
  body.sc-public .sc-public-contact span,
  body.sc-public .sc-public-contact a {
    color: var(--sc-text) !important;
  }
  body.sc-public .sc-public-contact svg {
    width: 0.875rem;
    height: 0.875rem;
    flex: 0 0 auto;
    color: var(--sc-meta) !important;
  }
  body.sc-public .sc-public-contact .sm\:ml-auto {
    color: var(--sc-text-muted) !important;
  }

  body.sc-public .sc-public-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
  }
  body.sc-public .sc-public-nav-user {
    display: inline-flex;
    align-items: center;
    max-width: 220px;
    min-height: var(--ui-height-control);
    padding: 0.48rem 0.9rem;
    border-radius: var(--ui-radius-control);
    border: 1px solid var(--sc-border);
    background: var(--sc-surface);
    color: var(--sc-text);
    font-size: var(--ui-size-body);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.sc-public .sc-public-header .sc-public-nav-link,
  body.sc-public .sc-public-header .sc-public-footer-link {
    background: var(--sc-surface);
    border-color: var(--sc-border);
    color: var(--sc-text);
  }
  body.sc-public .sc-public-header .sc-public-nav-link:hover,
  body.sc-public .sc-public-header .sc-public-footer-link:hover {
    background: var(--sc-surface-soft);
    border-color: var(--sc-border-strong);
    color: var(--sc-text);
  }
  body.sc-public .sc-public-header .sc-public-nav-link-primary,
  body.sc-public .sc-public-header .sc-public-footer-link-primary {
    background: var(--sc-primary);
    border-color: var(--sc-primary-hover);
    color: var(--sc-button-primary-ink);
  }
  body.sc-public .sc-public-header .sc-public-nav-link-primary:hover,
  body.sc-public .sc-public-header .sc-public-footer-link-primary:hover {
    background: var(--sc-primary-hover);
    border-color: var(--sc-primary-hover);
    color: var(--sc-button-primary-ink);
  }
  body.sc-public .sc-public-header .sc-public-nav-link-plain,
  body.sc-public .sc-public-header .sc-public-nav-link-login:not(.sc-public-nav-link-primary) {
    background: var(--sc-surface);
  }

  body.sc-public .sc-public-footer {
    background: var(--sc-surface) !important;
    margin-top: 0;
    border-top: 1px solid var(--sc-border) !important;
    border-top-color: var(--sc-border) !important;
  }
  body.sc-public .sc-public-footer-compact-inner {
    display: flex;
    align-items: center;
    gap: 0.4rem 0.75rem;
    min-height: 3rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    font-size: 0.74rem;
    line-height: 1.35;
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-public-footer-compact-inner strong {
    flex: 0 0 auto;
    color: var(--sc-text);
    font-size: 0.78rem;
  }
  body.sc-public .sc-public-footer-compact-contact {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
    gap: 0.15rem 0.75rem;
  }
  body.sc-public .sc-public-footer-compact-contact a {
    color: inherit;
    text-decoration: none;
  }
  body.sc-public .sc-public-footer-compact-contact a:hover {
    color: var(--sc-primary-ink);
    text-decoration: underline;
  }
  body.sc-public .sc-public-footer-compact-copy {
    flex: 0 0 auto;
  }

  /* External recruitment replies are correspondence from the care home, not
     authenticated app pages. Their own letterhead deliberately carries no app
     navigation, portal subtitle, mobile menu, or product footer links. */
  body.sc-recruitment-response-page {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: color-mix(in srgb, var(--sc-surface-soft) 68%, white 32%);
  }
  body.sc-recruitment-response-page > main { width: 100%; flex: 1 0 auto; }
  body.sc-recruitment-response-page .sc-interview-response-message {
    margin-top: 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--sc-border);
    border-radius: 0.85rem;
    background: var(--sc-surface-soft);
    color: var(--sc-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
  }
  body.sc-recruitment-response-page .sc-recruitment-response-header {
    border-top: 3px solid var(--sc-primary);
    border-bottom: 1px solid var(--sc-border);
    background: var(--sc-surface);
  }
  body.sc-recruitment-response-page .sc-recruitment-response-header-inner,
  body.sc-recruitment-response-page .sc-recruitment-response-footer-inner {
    width: min(100% - 2rem, 62rem);
    margin: 0 auto;
  }
  body.sc-recruitment-response-page .sc-recruitment-response-header-inner {
    display: flex;
    min-height: 4.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0;
  }
  body.sc-recruitment-response-page .sc-recruitment-response-brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
  }
  body.sc-recruitment-response-page .sc-recruitment-response-mark {
    display: inline-flex;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--sc-border);
    border-radius: 0.65rem;
    background: white;
    color: var(--sc-text);
    font-size: 0.76rem;
    font-weight: 800;
  }
  body.sc-recruitment-response-page .sc-recruitment-response-mark img { width: 100%; height: 100%; object-fit: contain; }
  body.sc-recruitment-response-page .sc-recruitment-response-brand-copy { display: grid; min-width: 0; line-height: 1.2; }
  body.sc-recruitment-response-page .sc-recruitment-response-brand-copy strong { overflow: hidden; color: var(--sc-text); font-size: 0.9rem; text-overflow: ellipsis; white-space: nowrap; }
  body.sc-recruitment-response-page .sc-recruitment-response-brand-copy span { color: var(--sc-text-muted); font-size: 0.72rem; }
  body.sc-recruitment-response-page .sc-recruitment-response-document { display: grid; justify-items: end; line-height: 1.2; text-align: right; }
  body.sc-recruitment-response-page .sc-recruitment-response-document span { color: var(--sc-text); font-size: 0.84rem; font-weight: 700; }
  body.sc-recruitment-response-page .sc-recruitment-response-document small { margin-top: 0.2rem; color: var(--sc-success); font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
  body.sc-recruitment-response-page .sc-recruitment-response-footer { margin-top: auto; border-top: 1px solid var(--sc-border); background: var(--sc-surface); }
  body.sc-recruitment-response-page .sc-recruitment-response-footer-inner { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 0.4rem 1rem; min-height: 3.3rem; padding: 0.55rem 0; color: var(--sc-text-muted); font-size: 0.7rem; }
  body.sc-recruitment-response-page .sc-recruitment-response-footer-inner > div:first-child { display: flex; min-width: 0; gap: 0.35rem 0.7rem; }
  body.sc-recruitment-response-page .sc-recruitment-response-footer-inner strong { color: var(--sc-text); }
  body.sc-recruitment-response-page .sc-recruitment-response-contact { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.25rem 0.75rem; }
  body.sc-recruitment-response-page .sc-recruitment-response-contact a { color: inherit; text-decoration: none; }
  body.sc-recruitment-response-page .sc-recruitment-response-contact a:hover { color: var(--sc-primary-ink); text-decoration: underline; }
  body.sc-recruitment-response-page .sc-recruitment-response-footer-inner small { white-space: nowrap; }
  @media (max-width: 680px) {
    body.sc-recruitment-response-page .sc-recruitment-response-header-inner { min-height: 3.75rem; }
    body.sc-recruitment-response-page .sc-recruitment-response-document small { display: none; }
    body.sc-recruitment-response-page .sc-recruitment-response-footer-inner { grid-template-columns: 1fr; padding: 0.75rem 0; }
    body.sc-recruitment-response-page .sc-recruitment-response-footer-inner > div:first-child { display: grid; }
    body.sc-recruitment-response-page .sc-recruitment-response-contact { justify-content: flex-start; }
    body.sc-recruitment-response-page .sc-recruitment-response-footer-inner small { white-space: normal; }
  }
  @media (max-width: 640px) {
    body.sc-public .sc-public-footer-compact-inner {
      align-items: flex-start;
      flex-wrap: wrap;
    }
    body.sc-public .sc-public-footer-compact-contact {
      flex-basis: 100%;
      order: 3;
    }
  }
  body.sc-public .sc-public-footer-grid {
    display: grid;
    gap: 1.25rem;
  }
  body.sc-public .sc-public-mobile-footer-links {
    display: grid;
    gap: 0.9rem;
    margin-bottom: 0.95rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--sc-border);
    justify-items: center;
    text-align: center;
  }
  body.sc-public .sc-public-mobile-footer-group {
    display: grid;
    gap: 0.42rem;
    justify-items: center;
  }
  body.sc-public .sc-public-mobile-footer-stack {
    display: grid;
    gap: 0.22rem;
    justify-items: center;
  }
  body.sc-public .sc-public-mobile-footer-stack .sc-public-footer-inline-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--ui-height-control);
    padding: 0.18rem 0.62rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-control);
    background: var(--sc-surface);
    font-size: 0.74rem;
    line-height: 1.2;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-public-footer-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  body.sc-public .sc-public-footer-contact-stack {
    display: grid;
    gap: 0.5rem;
  }
  body.sc-public .sc-public-footer-bottom {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.9rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--sc-border);
  }
  @media (min-width: 768px) {
    body.sc-public .sc-public-footer-bottom {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: center;
    }

    body.sc-public .sc-public-footer-bottom > :last-child {
      justify-self: end;
      text-align: right;
    }
  }
  body.sc-public .sc-public-footer .sc-meta {
    margin-bottom: 0.45rem;
  }
  body.sc-public .sc-public-footer-inline-link {
    color: var(--sc-button-secondary-ink);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.01em;
    text-decoration: none;
    transition: color 0.16s ease;
  }
  body.sc-public .sc-public-footer-inline-link:hover {
    color: var(--sc-primary-ink);
    text-decoration: underline;
  }
  body.sc-public .sc-public-footer-list {
    list-style: none;
    margin: 0 !important;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.38rem;
  }
  body.sc-public .sc-public-footer-point {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  body.sc-public .sc-public-footer-triangle {
    width: 0;
    height: 0;
    border-top: 0.28rem solid transparent;
    border-bottom: 0.28rem solid transparent;
    border-left: 0.42rem solid var(--sc-primary);
    flex: 0 0 auto;
    transform: translateY(0.5px);
  }

  body.sc-public .sc-public-footer-contact-row {
    display: flex;
    align-items: center;
    gap: 0.62rem;
    color: var(--sc-button-secondary-ink);
    min-height: 1.5rem;
  }
  body.sc-public .sc-public-footer-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: var(--sc-primary-ink);
    flex: 0 0 auto;
  }
  body.sc-public .sc-public-footer-contact-icon svg {
    width: 1rem;
    height: 1rem;
    display: block;
  }
  body.sc-public .sc-public-footer-contact-link {
    color: var(--sc-button-secondary-ink);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.01em;
    text-decoration: none;
    transition: color 0.16s ease;
  }
  body.sc-public .sc-public-footer-contact-link:hover {
    color: var(--sc-primary-ink);
    text-decoration: underline;
  }

  body.sc-public.sc-public-boxed {
    background: var(--sc-bg) !important;
  }
  body.sc-public.sc-public-boxed .sc-page-frame {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: var(--sc-surface);
  }
  body.sc-public.sc-public-boxed .sc-page-frame.min-h-screen {
    min-height: 100dvh !important;
  }
  body.sc-public main {
    background: var(--sc-surface-soft);
  }
  body.sc-public .sc-login-main {
    padding-top: 0.45rem;
  }

  @media (min-width: 768px) {
    body.sc-public .sc-login-main {
      padding-top: 0.6rem;
    }
  }

  body.sc-public .sc-auth-grid {
    align-items: stretch;
  }

  body.sc-public .sc-auth-card,
  body.sc-public .sc-auth-side-card {
    position: relative;
    overflow: hidden;
  }

  body.sc-public .sc-auth-card {
    border-color: var(--sc-border);
    background: var(--sc-surface);
  }

  body.sc-public .sc-auth-side-card {
    border-color: var(--sc-border);
    background: var(--sc-surface);
  }

  body.sc-public .sc-auth-card-stack {
    gap: 1.05rem;
  }

  body.sc-public .sc-auth-form-stack {
    gap: 0.85rem;
  }

  body.sc-public .sc-auth-alert-stack {
    display: grid;
    gap: 0.75rem;
  }

  body.sc-public .sc-auth-card .sc-heading-title {
    margin-bottom: 0;
    font-size: clamp(1.58rem, 1.28rem + 0.82vw, 1.92rem);
    line-height: 1.06;
    font-weight: 700;
    letter-spacing: -0.034em;
  }

  body.sc-public .sc-auth-card .sc-copy-body,
  body.sc-public .sc-auth-side-card .sc-copy-body {
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-auth-card .sc-alert,
  body.sc-public .sc-auth-card .sc-alert-info,
  body.sc-public .sc-auth-card .sc-alert-success,
  body.sc-public .sc-auth-card .sc-alert-warning,
  body.sc-public .sc-auth-card .sc-alert-error {
    border-radius: var(--ui-radius-panel-muted);
    padding: 0.85rem 0.95rem;
  }

  body.sc-public .sc-auth-card .sc-btn-primary,
  body.sc-public .sc-auth-card .sc-btn-secondary,
  body.sc-public .sc-auth-card .sc-btn-soft {
    min-height: var(--ui-height-control);
  }

  body.sc-public .sc-social-google-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    background: #fff;
    border-color: color-mix(in srgb, var(--sc-border) 78%, #d0d7e2 22%);
    color: var(--sc-text);
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  }

  body.sc-public .sc-social-google-btn:hover {
    background: color-mix(in srgb, white 92%, var(--sc-bg-soft) 8%);
    border-color: color-mix(in srgb, var(--sc-border) 68%, #bcc7d6 32%);
    color: var(--sc-text);
  }

  body.sc-public .sc-social-google-btn svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
  }

  body.sc-public .sc-auth-meta-stack {
    margin-top: 0.15rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--sc-border);
  }

  body.sc-public .sc-auth-meta-stack .sc-copy-small {
    font-size: 0.79rem;
    line-height: 1.55;
  }

  body.sc-public .sc-auth-side-card .sc-heading-section {
    font-size: 1.08rem;
    line-height: 1.28;
  }

  body.sc-public .sc-auth-side-card .sc-chip {
    background: var(--sc-surface);
    border-color: var(--sc-border);
  }

  body.sc-public .sc-support-card {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    display: grid;
    gap: 0.95rem;
  }

  body.sc-public .sc-support-grid {
    display: grid;
    gap: 0.75rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-support-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  body.sc-public .sc-support-stat,
  body.sc-public .sc-stat-card {
    padding: var(--ui-pad-card-compact) var(--ui-pad-card);
  }

  body.sc-public .sc-support-stat .sc-meta {
    margin-bottom: 0;
  }

  body.sc-public .sc-support-title {
    margin: 0;
    font-size: var(--ui-size-section);
    line-height: var(--ui-line-section);
    font-weight: 600;
    color: var(--sc-text);
  }

  body.sc-public .sc-support-copy {
    margin: 0;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-app-hero-card {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
  }

  body.sc-public .sc-dashboard-main-panel,
  body.sc-public .sc-dashboard-side-panel {
    border-color: var(--sc-panel-border);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
    box-shadow: none;
  }

  body.sc-public .sc-dashboard-side-panel {
    align-self: start;
  }

  body.sc-public .sc-app-hero-content {
    display: grid;
    gap: 0.85rem;
  }

  body.sc-public .sc-app-hero-glance {
    display: grid;
    gap: 0.65rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-app-hero-glance {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  body.sc-public .sc-app-hero-stat,
  body.sc-public .sc-stat-card {
    padding: var(--ui-pad-card-compact) var(--ui-pad-card);
  }

  body.sc-public .sc-app-hero-stat-label {
    margin: 0;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-meta);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sc-meta);
  }

  body.sc-public .sc-app-hero-stat-value {
    margin: 0;
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-section);
    font-weight: 600;
    color: var(--sc-text);
  }

  body.sc-public .sc-app-hero-stat-copy {
    margin: 0;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-app-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }
  body.sc-public .sc-app-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  body.sc-public .sc-app-sidebar-card,
  body.sc-public .sc-side-card.sc-signature-panel {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 1rem;
  }

  body.sc-public .sc-dashboard-side-stack {
    display: grid;
    gap: 0.85rem;
  }

  body.sc-public .sc-side-card {
    padding: 0.9rem 0.95rem;
  }

  body.sc-public .sc-dashboard-side-card {
    display: grid;
    gap: 0.35rem;
    padding: 0;
  }

  body.sc-public .sc-dashboard-side-card + .sc-dashboard-side-card {
    padding-top: 0.9rem;
    border-top: 1px solid var(--sc-panel-border);
  }

  body.sc-public .sc-dashboard-steps-card {
    display: grid;
    gap: 0.8rem;
  }

  body.sc-public .sc-application-shell {
    gap: 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.sc-public .sc-application-main-panel {
    display: grid;
    gap: 1rem;
  }

  body.sc-public .sc-application-toolbar {
    align-items: flex-start;
    padding: 0 0 1rem;
    border: 0;
    border-bottom: 1px solid var(--sc-panel-border);
    border-radius: 0;
    background: transparent;
    margin-bottom: 0;
  }
  body.sc-public .sc-application-toolbar-main {
    display: grid;
    gap: 0.55rem;
  }
  body.sc-public .sc-application-toolbar-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }
  body.sc-public .sc-application-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.75rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-application-toolbar-actions {
      margin-top: 0;
    }
  }

  body.sc-public .sc-application-toolbar-copy {
    max-width: 42rem;
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-application-toolbar .sc-heading-title {
    margin-bottom: 0;
  }

  body.sc-public .sc-application-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
  }

  body.sc-public .sc-application-progress-stat {
    font-size: 0.76rem;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sc-primary-ink);
  }

  body.sc-public .sc-application-workspace {
    display: grid;
    gap: 1rem;
  }

  body.sc-public .sc-application-workspace-side {
    min-width: 0;
    display: grid;
    gap: 0;
  }
  body.sc-public .sc-step-rail-action {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }
  @media (min-width: 1024px) {
    body.sc-public .sc-application-workspace-side {
      position: sticky;
      top: 1rem;
    }
  }

  body.sc-public .sc-step-rail-card {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.sc-public .sc-application-overview-grid {
    display: grid;
    gap: 0.75rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-application-overview-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  body.sc-public .sc-application-overview-card {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel-muted);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
    padding: 0.9rem 0.95rem;
    display: grid;
    gap: 0.3rem;
  }

  body.sc-public .sc-app-kpi-card {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel-muted);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
  }

  body.sc-public .sc-review-intro-card {
    border: 1px solid var(--sc-panel-border);
    border-radius: var(--ui-radius-panel);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
  }

  body.sc-public .sc-review-intro-grid {
    display: grid;
    gap: 0.75rem;
  }
  @media (min-width: 768px) {
    body.sc-public .sc-review-intro-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  body.sc-public .sc-review-section-card {
    border-color: var(--sc-panel-border);
    background: var(--sc-surface);
    overflow: hidden;
  }
  body.sc-public .sc-review-section-card.sc-pad-panel {
    padding: 0;
  }
  body.sc-public .sc-review-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--sc-panel-border);
    background: var(--ui-surface-soft-fill);
  }
  body.sc-public .sc-review-section-head .sc-heading-section {
    font-size: 0.98rem;
    line-height: 1.2;
  }
  body.sc-public .sc-review-section-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
  }
  body.sc-public .sc-review-section-body {
    display: grid;
    gap: 0;
    margin-top: 0;
    padding: 0.35rem 0.85rem 0.65rem;
  }
  body.sc-public .sc-review-section-card.is-collapsed .sc-review-section-body {
    display: none;
  }

  body.sc-public .sc-review-subcard {
    border: 0;
    border-top: 1px solid var(--sc-panel-border);
    border-radius: 0;
    background: transparent;
  }
  body.sc-public .sc-review-subcard.sc-pad-compact {
    padding: 0.55rem 0.25rem;
  }
  body.sc-public .sc-review-section-body > .sc-review-subcard:first-child,
  body.sc-public .sc-review-section-body > .sc-stack-2 > .sc-review-subcard:first-child,
  body.sc-public .sc-review-section-body > .sc-stack-3 > .sc-review-subcard:first-child {
    border-top: 0;
  }

  body.sc-public .sc-login-card label {
    display: block;
    margin: 0 0 5px;
    padding-left: var(--ui-control-padding-x);
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-label);
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: color-mix(in srgb, var(--sc-text-muted) 84%, var(--sc-text) 16%);
  }

  body.sc-public .sc-login-card input,
  body.sc-public .sc-login-card select,
  body.sc-public .sc-login-card textarea {
    padding: 0 12px !important;
  }

  body.sc-public .sc-login-card textarea {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.sc-public .sc-login-card .text-xs a,
  body.sc-public .sc-login-card .text-sm a {
    color: var(--sc-primary-ink) !important;
    font-weight: 600 !important;
    text-decoration: none;
  }

  body.sc-public .sc-login-card .text-xs a:hover,
  body.sc-public .sc-login-card .text-sm a:hover {
    text-decoration: underline;
  }
  body.sc-public .sc-login-grid {
    position: relative;
    z-index: 1;
  }

  body.sc-public.sc-login-plain {
    background: var(--sc-bg) !important;
  }
  body.sc-public.sc-login-plain .sc-login-grid {
    align-items: stretch;
  }
  body.sc-public.sc-login-plain .sc-login-col {
    display: flex;
  }
  body.sc-public.sc-login-plain .sc-login-col > * {
    width: 100%;
  }
  @media (min-width: 768px) {
    body.sc-public.sc-login-plain .sc-login-card,
    body.sc-public.sc-login-plain .sc-mobile-card {
      height: 100%;
    }
  }


  body.sc-public .sc-inline-alert {
    border: 1px solid color-mix(in srgb, var(--sc-primary) 24%, white 76%);
    border-left-width: 4px;
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-primary-soft);
    padding: 0.9rem 1rem;
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-body);
    font-weight: 600;
    color: var(--sc-primary-ink);
  }
  body.sc-public .sc-inline-alert.is-error {
    border-color: color-mix(in srgb, var(--sc-danger) 24%, white 76%);
    background: color-mix(in srgb, var(--sc-danger-bg) 90%, white 10%);
    color: var(--sc-danger-ink);
  }

  body.sc-public .sc-staff-desktop-layout {
    align-items: stretch;
  }
  body.sc-public .sc-staff-desktop-main,
  body.sc-public .sc-staff-desktop-aside {
    height: 100%;
    align-content: start;
  }
  body.sc-public .sc-staff-desktop-aside {
    position: sticky;
    top: 1.5rem;
  }
  body.sc-public .sc-staff-desktop-aside > .sc-section-head {
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }

  body.sc-public .sc-staff-desktop-identity {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
  }
  body.sc-public .sc-staff-desktop-identity-side {
    text-align: right;
  }

  body.sc-public .sc-staff-desktop-nav {
    display: grid;
    gap: 0.6rem;
  }
  body.sc-public .sc-staff-desktop-nav-link {
    display: grid;
    gap: 0.12rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
    padding: 0.82rem 0.95rem;
    text-decoration: none;
    color: var(--sc-text);
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
  }
  body.sc-public .sc-staff-desktop-nav-link:hover {
    border-color: var(--sc-border-strong);
    background: var(--ui-surface-soft-fill);
  }
  body.sc-public .sc-staff-desktop-nav-link.is-active {
    border-color: color-mix(in srgb, var(--sc-primary) 26%, white 74%);
    background: var(--sc-primary-soft);
  }
  body.sc-public .sc-staff-desktop-nav-title {
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-section);
    font-weight: 700;
    color: inherit;
  }
  body.sc-public .sc-staff-desktop-nav-copy {
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-staff-desktop-nav-link.is-active .sc-staff-desktop-nav-copy {
    color: var(--sc-primary-ink);
  }

  body.sc-public .sc-staff-desktop-kpis {
    display: grid;
    gap: 0.7rem;
    align-items: stretch;
  }
  body.sc-public .sc-staff-desktop-main .sc-grid-2 > .sc-surface-inline-panel,
  body.sc-public .sc-staff-desktop-main .sc-grid-3 > .sc-surface-inline-panel,
  body.sc-public .sc-staff-desktop-main > .sc-surface-inline-panel,
  body.sc-public .sc-staff-desktop-aside .sc-surface-inline-panel {
    padding: 1rem;
  }
  body.sc-public .sc-staff-desktop-kpi,
  body.sc-public .sc-staff-desktop-feature-card,
  body.sc-public .sc-staff-desktop-opportunity-card,
  body.sc-public .sc-staff-desktop-action-card {
    position: relative;
    overflow: hidden;
  }
  body.sc-public .sc-staff-desktop-kpi::before,
  body.sc-public .sc-staff-desktop-feature-card::before,
  body.sc-public .sc-staff-desktop-opportunity-card::before,
  body.sc-public .sc-staff-desktop-action-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 2px;
    background: color-mix(in srgb, var(--sc-primary) 80%, white 20%);
  }
  body.sc-public .sc-staff-desktop-kpi[data-tone="warm"]::before,
  body.sc-public .sc-staff-desktop-opportunity-card::before {
    background: color-mix(in srgb, var(--sc-warm) 82%, white 18%);
  }
  body.sc-public .sc-staff-desktop-kpi[data-tone="info"]::before {
    background: color-mix(in srgb, var(--sc-info) 82%, white 18%);
  }
  body.sc-public .sc-staff-desktop-kpi {
    padding: 0.78rem 0.88rem;
  }
  body.sc-public .sc-staff-desktop-kpi-value {
    margin-top: 0.18rem;
    font-size: clamp(1.18rem, 1rem + 0.38vw, 1.42rem);
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sc-text);
  }
  body.sc-public .sc-staff-desktop-feature-card,
  body.sc-public .sc-staff-desktop-opportunity-card {
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
    padding: 1rem;
  }
  body.sc-public .sc-staff-desktop-main > .sc-section-head:first-child,
  body.sc-public .sc-staff-desktop-main > .sc-section-head-inline:first-child {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }
  body.sc-public .sc-staff-desktop-view-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }
  body.sc-public .sc-staff-desktop-view-head .sc-section-head {
    max-width: 42rem;
  }
  body.sc-public .sc-staff-desktop-view-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    padding-bottom: 0.2rem;
  }
  body.sc-public .sc-staff-desktop-view-stat {
    min-width: 0;
    flex: 1 1 10rem;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--sc-border) 82%, white 18%);
    border-radius: 0;
    background: transparent;
    padding: 0.05rem 0 0.05rem 1rem;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 0.6rem;
  }
  body.sc-public .sc-staff-desktop-view-stat:first-child {
    border-left: 0;
    padding-left: 0;
  }
  body.sc-public .sc-staff-desktop-view-stat .sc-meta {
    margin: 0;
  }
  body.sc-public .sc-staff-desktop-view-stat .sc-heading-section {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
  }
  body.sc-public .sc-staff-desktop-view-switch {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.32rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-pill);
    background: var(--sc-surface-soft);
  }
  body.sc-public .sc-staff-desktop-view-switch-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.58rem 0.95rem;
    border-radius: var(--ui-radius-pill);
    text-decoration: none;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    font-weight: 700;
    color: var(--sc-text-muted);
    transition: background-color 0.16s ease, color 0.16s ease;
  }
  body.sc-public .sc-staff-desktop-view-switch-link:hover {
    color: var(--sc-text);
  }
  body.sc-public .sc-staff-desktop-view-switch-link.is-active {
    background: var(--sc-surface);
    color: var(--sc-primary-ink);
  }

  body.sc-public .sc-staff-desktop-list {
    display: grid;
    gap: 0.7rem;
  }
  body.sc-public .sc-staff-desktop-list-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: linear-gradient(180deg, var(--sc-surface) 0%, var(--ui-surface-soft-fill) 100%);
    padding: 0.82rem 0.95rem;
  }
  body.sc-public .sc-staff-desktop-main .sc-surface-inline-panel > .sc-section-head:first-child {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--sc-border) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-list-item .sc-heading-section {
    line-height: 1.16;
  }
  body.sc-public .sc-staff-desktop-list-item .sc-status-pill {
    flex: 0 0 auto;
  }
  body.sc-public .sc-staff-desktop-list-side {
    min-width: 7rem;
    text-align: right;
    display: grid;
    gap: 0.1rem;
    justify-items: end;
  }

  body.sc-public .sc-staff-desktop-action-card {
    display: grid;
    gap: 1rem;
    border: 0;
    border-radius: var(--ui-radius-panel);
    background: transparent;
    padding: 0;
  }
  body.sc-public .sc-staff-desktop-action-card .sc-row-between {
    align-items: flex-start;
  }
  body.sc-public .sc-staff-desktop-action-card .sc-form-grid-2 {
    align-items: end;
  }
  body.sc-public .sc-staff-desktop-action-card .sc-actions {
    margin-top: 0.1rem;
  }
  body.sc-public .sc-staff-desktop-action-card .sc-actions-end {
    align-self: end;
  }
  body.sc-public .sc-staff-desktop-action-meta {
    display: grid;
    gap: 0.75rem;
  }
  body.sc-public .sc-staff-desktop-action-meta-item {
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-surface-soft);
    padding: 0.78rem 0.9rem;
    display: grid;
    gap: 0.12rem;
  }
  body.sc-public .sc-staff-desktop-action-form {
    display: grid;
    gap: 0.75rem;
  }
  body.sc-public .sc-staff-desktop-action-foot {
    padding-top: 0.15rem;
    border-top: 1px solid color-mix(in srgb, var(--sc-border) 75%, white 25%);
  }

  body.sc-public .sc-staff-desktop-audit-action-list {
    display: grid;
    gap: 0.9rem;
  }
  body.sc-public .sc-staff-desktop-audit-action-card {
    display: grid;
    gap: 0.9rem;
    border: 1px solid var(--sc-border);
    border-left: 4px solid var(--sc-accent);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
    padding: 1rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  }
  body.sc-public .sc-staff-desktop-audit-action-card > .sc-staff-desktop-audit-action-head .sc-meta {
    color: var(--sc-accent);
  }
  body.sc-public .sc-staff-desktop-audit-action-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
  }
  body.sc-public .sc-staff-desktop-audit-action-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
  }
  body.sc-public .sc-staff-desktop-audit-detail {
    border: 1px solid color-mix(in srgb, var(--sc-border) 78%, white 22%);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-surface-soft);
    padding: 0.8rem 0.9rem;
  }
  body.sc-public .sc-staff-desktop-audit-detail.is-finding {
    background: color-mix(in srgb, #fff7ed 62%, white 38%);
    border-color: color-mix(in srgb, #d97706 22%, white 78%);
  }
  body.sc-public .sc-staff-desktop-audit-action-form {
    display: grid;
    gap: 0.75rem;
    border-top: 1px solid color-mix(in srgb, var(--sc-border) 78%, white 22%);
    padding-top: 0.85rem;
  }
  body.sc-public .sc-staff-desktop-audit-submit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
  }
  body.sc-public .sc-staff-desktop-audit-submit-row .sc-btn-primary {
    min-height: var(--ui-height-control);
    white-space: nowrap;
  }
  body.sc-public .sc-staff-desktop-action-empty {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    border: 1px dashed var(--sc-border);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface-soft);
    padding: 1rem;
  }

  body.sc-public .sc-staff-desktop-calendar-wrap {
    display: grid;
    gap: 0.5rem;
  }
  body.sc-public .sc-staff-desktop-calendar-head,
  body.sc-public .sc-staff-desktop-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.45rem;
  }
  body.sc-public .sc-staff-desktop-calendar-dow {
    padding: 0.2rem 0.1rem;
    text-align: center;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sc-text-muted);
  }
  body.sc-public .sc-staff-desktop-calendar-cell {
    min-width: 0;
  }
  body.sc-public .sc-staff-desktop-calendar-day {
    min-height: 6.5rem;
    display: grid;
    align-content: space-between;
    gap: 0.75rem;
    padding: 0.72rem 0.75rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-surface);
    text-decoration: none;
    color: var(--sc-text);
    transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
  }
  body.sc-public .sc-staff-desktop-calendar-day:hover {
    border-color: color-mix(in srgb, var(--sc-primary) 38%, var(--sc-border) 62%);
    background: color-mix(in srgb, var(--sc-surface) 92%, var(--sc-surface-soft) 8%);
  }
  body.sc-public .sc-staff-desktop-calendar-day.is-selected {
    border-color: color-mix(in srgb, var(--sc-primary) 50%, var(--sc-border) 50%);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sc-primary) 24%, transparent 76%);
  }
  body.sc-public .sc-staff-desktop-calendar-day.is-today .sc-staff-desktop-calendar-date {
    color: var(--sc-primary-ink);
  }
  body.sc-public .sc-staff-desktop-calendar-day-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
  }
  body.sc-public .sc-staff-desktop-calendar-date {
    font-size: 1rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  body.sc-public .sc-staff-desktop-calendar-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.7rem;
    min-height: var(--ui-height-chip);
    padding: 0.12rem 0.36rem;
    border-radius: var(--ui-radius-pill);
    font-size: 0.72rem;
    line-height: 1;
    font-weight: 700;
    border: 1px solid var(--sc-border);
    background: var(--sc-surface-soft);
    color: var(--sc-text);
  }
  body.sc-public .sc-staff-desktop-calendar-badge[data-tone="annual"] {
    color: var(--sc-success-ink);
    border-color: color-mix(in srgb, var(--sc-success) 36%, white 64%);
    background: color-mix(in srgb, var(--sc-success) 12%, white 88%);
  }
  body.sc-public .sc-staff-desktop-calendar-badge[data-tone="sick"] {
    color: var(--sc-warm-ink);
    border-color: color-mix(in srgb, var(--sc-warm) 36%, white 64%);
    background: color-mix(in srgb, var(--sc-warm) 12%, white 88%);
  }
  body.sc-public .sc-staff-desktop-calendar-badge[data-tone="dayoff"] {
    color: var(--sc-primary-ink);
    border-color: color-mix(in srgb, var(--sc-primary) 36%, white 64%);
    background: color-mix(in srgb, var(--sc-primary) 10%, white 90%);
  }
  body.sc-public .sc-staff-desktop-calendar-badge[data-tone="shift"] {
    color: var(--sc-info-ink);
    border-color: color-mix(in srgb, var(--sc-info) 36%, white 64%);
    background: color-mix(in srgb, var(--sc-info) 10%, white 90%);
  }
  body.sc-public .sc-staff-desktop-calendar-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 0.32rem;
    align-items: center;
  }
  body.sc-public .sc-staff-desktop-calendar-dot {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 9999px;
    background: var(--sc-border);
  }
  body.sc-public .sc-staff-desktop-calendar-dot[data-tone="shift"] {
    background: color-mix(in srgb, var(--sc-primary) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-calendar-dot[data-tone="leave"] {
    background: color-mix(in srgb, var(--sc-success) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-calendar-dot[data-tone="open"] {
    background: color-mix(in srgb, var(--sc-info) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-calendar-dot[data-tone="swap"] {
    background: color-mix(in srgb, var(--sc-warm) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-day-events {
    display: grid;
    gap: 0.7rem;
  }
  body.sc-public .sc-staff-desktop-day-event {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.82rem 0.95rem;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel-muted);
    background: var(--sc-surface);
  }
  body.sc-public .sc-staff-desktop-day-event::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0.42rem;
    right: 0.42rem;
    height: 2px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sc-primary) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-day-event[data-tone="leave"]::before {
    background: color-mix(in srgb, var(--sc-success) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-day-event[data-tone="open"]::before {
    background: color-mix(in srgb, var(--sc-info) 78%, white 22%);
  }
  body.sc-public .sc-staff-desktop-day-event[data-tone="swap"]::before,
  body.sc-public .sc-staff-desktop-day-event[data-tone="request"]::before {
    background: color-mix(in srgb, var(--sc-warm) 78%, white 22%);
  }

  body.sc-public .sc-staff-desktop-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--sc-border);
    border-radius: var(--ui-radius-panel);
    background: var(--sc-surface);
  }
  body.sc-public .sc-staff-desktop-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 32rem;
  }
  body.sc-public .sc-staff-desktop-table th,
  body.sc-public .sc-staff-desktop-table td {
    padding: 0.82rem 0.95rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--sc-border);
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-body);
    color: var(--sc-text);
  }
  body.sc-public .sc-staff-desktop-table th {
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-meta);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sc-text-muted);
    background: var(--sc-surface-soft);
  }
  body.sc-public .sc-staff-desktop-table tbody tr:last-child td {
    border-bottom: 0;
  }
  body.sc-public .sc-staff-desktop-table tfoot th {
    padding: 0.82rem 0.95rem;
    text-align: left;
    border-top: 1px solid var(--sc-border);
    background: var(--sc-surface-soft);
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    font-weight: 700;
    color: var(--sc-text);
  }

  @media (max-width: 1023px) {
    body.sc-public .sc-staff-desktop-aside {
      position: static;
      top: auto;
    }
  }

  @media (max-width: 767px) {
    body.sc-public .sc-staff-desktop-view-switch {
      width: 100%;
      border-radius: var(--ui-radius-panel);
    }
    body.sc-public .sc-staff-desktop-view-switch-link {
      flex: 1 1 100%;
    }
    body.sc-public .sc-staff-desktop-view-stat {
      flex: 1 1 100%;
      align-items: start;
      border-left: 0;
      padding-left: 0;
      padding-top: 0.1rem;
      padding-bottom: 0.1rem;
    }
    body.sc-public .sc-staff-desktop-identity,
    body.sc-public .sc-staff-desktop-list-item {
      flex-direction: column;
    }
    body.sc-public .sc-staff-desktop-list-side {
      min-width: 0;
      text-align: left;
      justify-items: start;
    }
    body.sc-public .sc-staff-desktop-calendar-head,
    body.sc-public .sc-staff-desktop-calendar-grid {
      gap: 0.35rem;
    }
    body.sc-public .sc-staff-desktop-calendar-day {
      min-height: 5.25rem;
      padding: 0.55rem 0.58rem;
    }
    body.sc-public .sc-staff-desktop-day-event {
      flex-direction: column;
    }
    body.sc-public .sc-staff-desktop-action-card .sc-row-between {
      flex-direction: column;
      align-items: flex-start;
    }
    body.sc-public .sc-staff-desktop-identity-side {
      text-align: left;
    }
    body.sc-public .sc-staff-desktop-audit-action-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
    }
    body.sc-public .sc-staff-desktop-audit-action-tags {
      justify-content: flex-start;
    }
    body.sc-public .sc-staff-desktop-audit-submit-row {
      grid-template-columns: minmax(0, 1fr);
    }
    body.sc-public .sc-staff-desktop-audit-submit-row .sc-btn-primary {
      width: 100%;
    }
  }

  @media (min-width: 768px) {
    body.sc-public .sc-staff-desktop-action-meta {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  body.sc-public .rounded-3xl.border.border-slate-200.bg-white,
  body.sc-public .rounded-2xl.border.border-slate-200.bg-white,
  body.sc-public .rounded-2xl.border.border-slate-200.bg-slate-50,
  body.sc-public .rounded-2xl.border.border-dashed.border-slate-300.bg-slate-50,
  body.sc-public .rounded-xl.border.border-slate-200.bg-slate-50,
  body.sc-public .rounded-xl.border.border-slate-200.bg-white {
    border-color: var(--sc-border) !important;
    box-shadow: none !important;
  }
  body.sc-public .rounded-2xl.border.border-slate-200.bg-slate-50,
  body.sc-public .rounded-xl.border.border-slate-200.bg-slate-50,
  body.sc-public .rounded-2xl.border.border-dashed.border-slate-300.bg-slate-50 {
    background: var(--sc-surface-muted) !important;
  }

  body.sc-public .bg-sc-primary,
  body.sc-public a.rounded-md.bg-sc-primary,
  body.sc-public a.rounded-lg.bg-sc-primary,
  body.sc-public a.rounded-md.bg-sc-primary,
  body.sc-public button.bg-sc-primary {
    background-color: var(--sc-primary) !important;
  }

  @media (max-width: 640px) {
    body.sc-public .sc-public-nav {
      gap: 0.45rem;
    }
    body.sc-public .sc-btn-primary,
    body.sc-public .sc-btn-secondary,
    body.sc-public .sc-btn-soft,
    body.sc-public .sc-public-nav-link,
    body.sc-public .sc-public-footer-link {
      width: 100%;
    }
  }

  /* --- Applicant full application ------------------------------------- */

  /* One entry in a repeating section: a job, qualification, registration or
     reference. The left rule makes the boundary between entries obvious on a
     phone, where the cards otherwise run together. */
  body.sc-public .sc-repeat-row {
    border-color: var(--sc-panel-border);
    border-left: 3px solid color-mix(in srgb, var(--ui-primary) 34%, transparent);
  }

  body.sc-public .sc-repeat-row + .sc-repeat-row {
    margin-top: 0.75rem;
  }

  /* Back and continue stay reachable without hunting on a long step. */
  body.sc-public .sc-step-actions {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--sc-panel-border);
  }

  @media (max-width: 640px) {
    body.sc-public .sc-step-actions {
      flex-direction: column-reverse;
    }
    body.sc-public .sc-step-actions .sc-btn-primary,
    body.sc-public .sc-step-actions .sc-btn-secondary {
      width: 100%;
    }
  }

  body.sc-public .sc-application-submitted {
    display: grid;
    justify-items: start;
    gap: 0.5rem;
  }

  /* An outstanding item on the review step: the wording on the left, the Fix
     link pinned right so the column of links reads as one list. */
  body.sc-public .sc-review-issue-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
  }

  body.sc-public .sc-review-pair-wide {
    grid-column: 1 / -1;
  }

  body.sc-public .sc-review-section-body .sc-grid-2,
  body.sc-public .sc-review-section-body .sc-grid-3 {
    gap: 0;
  }

  body.sc-public .sc-review-pair {
    display: grid;
    grid-template-columns: minmax(8rem, 0.75fr) minmax(0, 1fr);
    align-items: center;
    column-gap: 0.9rem;
    min-height: 2.35rem;
    padding: 0.35rem 0.25rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }

  body.sc-public .sc-review-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--ui-text-muted);
  }

  body.sc-public .sc-review-value {
    display: block;
    min-height: 1.75rem;
    border: 1px solid color-mix(in srgb, var(--sc-panel-border) 78%, transparent);
    border-radius: 0.55rem;
    background: color-mix(in srgb, var(--ui-surface-soft-fill) 72%, #ffffff);
    padding: 0.34rem 0.55rem;
    font-size: 0.86rem;
    line-height: 1.35;
    font-weight: 750;
    color: var(--ui-text);
  }

  body.sc-public .sc-review-pair > .sc-review-value {
    margin: 0;
  }

  body.sc-public .sc-review-meta {
    font-size: 0.76rem;
    line-height: 1.35;
  }

  body.sc-public .sc-review-list-tight {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  @media (max-width: 640px) {
    body.sc-public .sc-review-section-head {
      align-items: flex-start;
      padding: 0.6rem 0.7rem;
    }

    body.sc-public .sc-review-section-body {
      padding: 0.25rem 0.7rem 0.6rem;
    }

    body.sc-public .sc-review-pair {
      grid-template-columns: 1fr;
      row-gap: 0.12rem;
      min-height: 0;
      padding: 0.5rem 0.1rem;
    }
  }

  /* --- Applicant journey ----------------------------------------------- */

  /* The public bundle has no `[hidden]` reset, and several alert classes set a
     display value, which beats the attribute. Without this an empty summary
     panel paints as a blank coloured box. */
  body.sc-public [hidden] {
    display: none !important;
  }

  /* Progress sequence.

     One column, numbered, with a rule running through the markers so the steps
     read as one journey rather than as a wall of cards. Used by both the wizard
     rail and the applicant dashboard. */
  body.sc-public .sc-step-progress {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
  }

  body.sc-public .sc-step-progress-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.6rem;
    margin-bottom: 0.4rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }

  body.sc-public .sc-step-progress-count {
    margin: 0;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
    white-space: nowrap;
  }

  body.sc-public .sc-step-progress-item {
    position: relative;
    padding-left: 2.1rem;
  }

  /* The connector runs between one marker and the next, so the last item has
     none and the sequence does not trail off the end. */
  body.sc-public .sc-step-progress-item::before {
    content: "";
    position: absolute;
    left: 0.79rem;
    top: 1.72rem;
    bottom: -0.1rem;
    width: 2px;
    background: var(--sc-border);
  }

  body.sc-public .sc-step-progress-item:last-child::before {
    display: none;
  }

  /* A finished step draws its connector in the completed colour, so the filled
     length of the rule is itself the progress indicator. */
  body.sc-public .sc-step-progress-item[data-step-state="complete"]::before {
    background: var(--sc-success);
  }

  body.sc-public .sc-step-progress-marker {
    position: absolute;
    left: 0;
    top: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: var(--ui-radius-pill);
    border: 1px solid var(--sc-border);
    background: var(--sc-surface);
    color: var(--sc-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
  }

  body.sc-public .sc-step-progress-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
    padding: 0.5rem 0.55rem 0.6rem 0;
    text-decoration: none;
    color: inherit;
    border-radius: var(--ui-radius-panel-muted);
  }

  body.sc-public .sc-step-progress-link:hover .sc-step-progress-title {
    text-decoration: underline;
    text-underline-offset: 0.16em;
  }

  body.sc-public .sc-step-progress-link:focus-visible {
    outline: 2px solid var(--sc-primary);
    outline-offset: 2px;
  }

  body.sc-public .sc-step-progress-title {
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-section);
    font-weight: 600;
    color: var(--sc-text);
    min-width: 0;
  }

  body.sc-public .sc-step-progress-state {
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
    white-space: nowrap;
  }

  /* The step's own description. It is hidden in the narrow rail, where there
     is no room for it, and carries the middle column on the dashboard. */
  body.sc-public .sc-step-progress-detail {
    display: none;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
    min-width: 0;
  }

  /* Wide variant: title, description and state across the full row, so a step
     fills the panel instead of leaving two thirds of it empty. */
  @media (min-width: 720px) {
    body.sc-public .sc-step-progress-wide .sc-step-progress-link {
      grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) auto;
      align-items: baseline;
      column-gap: 1.25rem;
    }

    body.sc-public .sc-step-progress-wide .sc-step-progress-detail {
      display: block;
    }

    body.sc-public .sc-step-progress-wide .sc-step-progress-state {
      text-align: right;
    }
  }

  /* Three states, three colours, each meaning one thing. A step is never
     tinted for emphasis alone. */
  body.sc-public .sc-step-progress-item[data-step-state="complete"] .sc-step-progress-marker {
    border-color: var(--sc-success);
    background: var(--sc-success);
    color: var(--sc-surface);
  }

  body.sc-public .sc-step-progress-item[data-step-state="complete"] .sc-step-progress-state {
    color: var(--sc-success);
  }

  body.sc-public .sc-step-progress-item[data-step-state="attention"] .sc-step-progress-marker {
    border-color: var(--sc-warning-border);
    color: var(--sc-warning-ink);
  }

  body.sc-public .sc-step-progress-item[data-step-state="attention"] .sc-step-progress-state {
    color: var(--sc-warning-ink);
    font-weight: 600;
  }

  body.sc-public .sc-step-progress-link.is-active .sc-step-progress-marker,
  body.sc-public .sc-step-progress-link.is-next .sc-step-progress-marker {
    border-color: var(--sc-primary);
    background: var(--sc-primary);
    color: var(--sc-surface);
  }

  body.sc-public .sc-step-progress-link.is-active .sc-step-progress-title,
  body.sc-public .sc-step-progress-link.is-next .sc-step-progress-title {
    color: var(--sc-primary);
  }

  body.sc-public .sc-step-progress-link.is-active .sc-step-progress-state,
  body.sc-public .sc-step-progress-link.is-next .sc-step-progress-state {
    color: var(--sc-primary);
  }

  /* Aside facts. Label left, value right, so the column reads as a record
     rather than as a stack of half-filled cards. */
  body.sc-public .sc-side-facts {
    margin: 0;
    display: grid;
    gap: 0.55rem;
  }

  body.sc-public .sc-side-fact {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: baseline;
    gap: 0.75rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--sc-panel-border);
  }

  body.sc-public .sc-side-fact:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  body.sc-public .sc-side-fact dt {
    margin: 0;
    font-size: var(--ui-size-small);
    line-height: var(--ui-line-small);
    color: var(--sc-text-muted);
  }

  body.sc-public .sc-side-fact dd {
    margin: 0;
    font-size: var(--ui-size-body);
    line-height: var(--ui-line-small);
    font-weight: 600;
    color: var(--sc-text);
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  /* Error summary: the count and step name lead, and every line is a link
     straight to the control it is about. */
  body.sc-public .sc-apply-error-summary .sc-alert-list {
    display: grid;
    gap: 0.3rem;
  }

  body.sc-public .sc-apply-error-jump {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
    cursor: pointer;
  }
  body.sc-public .sc-apply-error-jump:hover {
    text-decoration-thickness: 2px;
  }
  body.sc-public .sc-apply-error-summary:focus-visible {
    outline: 2px solid var(--sc-danger-border);
    outline-offset: 3px;
  }

  /* A rejected control gets a coloured edge as well as the ring, so the field
     reads as wrong from further away than the message does. */
  body.sc-public .sc-field-input.sc-client-invalid,
  body.sc-public .sc-field-select.sc-client-invalid,
  body.sc-public .sc-field-textarea.sc-client-invalid {
    border-left-width: 3px;
    border-left-color: var(--sc-danger-border);
  }

  /* Progress ring. The track is one conic sweep and the value is set from the
     inline `--sc-ring-value` custom property. */
  body.sc-public .sc-progress-ring {
    display: inline-grid;
    place-items: center;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    flex: 0 0 auto;
    background:
      conic-gradient(var(--sc-primary) calc(var(--sc-ring-value, 0) * 1%), var(--sc-border) 0);
  }

  body.sc-public .sc-progress-ring-inner {
    display: grid;
    place-items: center;
    width: 4.35rem;
    height: 4.35rem;
    border-radius: 50%;
    background: var(--sc-surface);
    text-align: center;
    line-height: 1.1;
  }

  body.sc-public .sc-progress-ring-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--sc-text);
  }

  body.sc-public .sc-progress-ring-label {
    font-size: 0.66rem;
    color: var(--sc-text-muted);
  }


  /* Hero: the ring sits beside the detail on desktop and above it on a phone,
     so the number the applicant cares about is the first thing in the card. */
  body.sc-public .sc-app-hero-layout {
    display: grid;
    gap: 1rem;
    align-items: center;
  }

  @media (min-width: 640px) {
    body.sc-public .sc-app-hero-layout {
      grid-template-columns: auto minmax(0, 1fr);
      gap: 1.25rem;
    }
  }

  body.sc-public .sc-app-hero-figure {
    display: flex;
    justify-content: center;
  }

  body.sc-public .sc-app-hero-detail {
    min-width: 0;
  }
.sc-applicant-action-summary {
  align-items: center;
}
.sc-applicant-upload-status {
  flex: 0 0 auto;
  min-height: 1.75rem;
  padding: 0.28rem 0.68rem;
  box-shadow: 0 4px 12px rgba(31, 143, 94, 0.08);
  font-size: 0.68rem;
  letter-spacing: 0.055em;
  white-space: nowrap;
}
.sc-applicant-upload-status > span[aria-hidden="true"] {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sc-success-ink) 12%, transparent);
  font-size: 0.7rem;
  line-height: 1;
}
.sc-applicant-recruitment-panel[hidden] { display: none !important; }
.sc-applicant-recruitment-nav {
  display: grid;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sc-border, #d7e1ec);
}
.sc-applicant-recruitment-nav-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--sc-border, #d7e1ec);
  border-radius: 0.75rem;
  background: var(--sc-surface, #fff);
  color: var(--sc-text, #0b1830);
  text-align: left;
  cursor: pointer;
}
.sc-applicant-recruitment-nav-button:hover {
  border-color: var(--sc-primary, #7048e8);
}
.sc-applicant-recruitment-nav-button[aria-pressed="true"] {
  border-color: var(--sc-primary, #7048e8);
  box-shadow: inset 3px 0 0 var(--sc-primary, #7048e8);
  background: var(--sc-surface-muted, #f5f8fb);
}
.sc-applicant-recruitment-nav-button > span:first-child {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}
.sc-applicant-recruitment-nav-button strong {
  font-size: 0.84rem;
  line-height: 1.2;
}
.sc-applicant-recruitment-nav-button small {
  overflow: hidden;
  color: var(--sc-text-muted, #5f7187);
  font-size: 0.7rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sc-applicant-recruitment-nav-button .sc-status-pill {
  flex: 0 0 auto;
}
.sc-applicant-document-table {
  overflow: hidden;
  border: 1px solid var(--sc-border, #d7e1ec);
  border-radius: 0.75rem;
}
.sc-applicant-document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 2.5rem;
  gap: 0.65rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-top: 1px solid var(--sc-border, #d7e1ec);
}
.sc-applicant-document-row:first-child { border-top: 0; }
.sc-applicant-document-row.is-head {
  background: var(--sc-surface-muted, #f5f8fb);
  color: var(--sc-text-muted, #5f7187);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}
.sc-applicant-document-row .sc-btn-secondary { min-width: 2rem; padding: 0.3rem 0.5rem; }
.sc-applicant-document-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
}
.sc-applicant-document-upload-form label {
  min-width: 0;
}
.sc-applicant-document-upload-form .sc-input,
.sc-applicant-document-upload-button {
  min-height: var(--ui-height-control, 2.75rem);
}
.sc-applicant-document-upload-form select.sc-input {
  width: 100%;
  padding: 0.55rem 2.5rem 0.55rem 0.85rem;
  border: 1px solid var(--sc-border, #d7e1ec);
  border-radius: var(--ui-radius-control, 0.75rem);
  appearance: none;
  background-color: var(--sc-surface, #fff);
  background-image: linear-gradient(45deg, transparent 50%, var(--sc-text-muted, #5f7187) 50%), linear-gradient(135deg, var(--sc-text-muted, #5f7187) 50%, transparent 50%);
  background-position: calc(100% - 1rem) 50%, calc(100% - 0.7rem) 50%;
  background-size: 0.32rem 0.32rem, 0.32rem 0.32rem;
  background-repeat: no-repeat;
  color: var(--sc-text, #0b1830);
  cursor: pointer;
}
.sc-applicant-document-upload-form select.sc-input:focus {
  border-color: var(--sc-primary, #7048e8);
  outline: 3px solid color-mix(in srgb, var(--sc-primary, #7048e8) 18%, transparent);
  outline-offset: 1px;
}
.sc-applicant-document-upload-form input[type="file"] {
  width: 100%;
  padding: 0.25rem 0.4rem;
  color: var(--sc-text-muted, #5f7187);
  font-size: 0.78rem;
}
.sc-applicant-document-upload-form input[type="file"]::file-selector-button {
  min-height: 2.1rem;
  margin-right: 0.65rem;
  padding: 0.35rem 0.75rem;
  border: 0;
  border-radius: 0.6rem;
  background: var(--sc-surface-muted, #f5f8fb);
  color: var(--sc-text, #0b1830);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}
.sc-applicant-document-upload-button {
  align-self: end;
  padding-inline: 1rem;
}
.sc-applicant-document-submit {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 720px) {
  .sc-applicant-document-upload-form {
    grid-template-columns: 1fr;
  }
  .sc-applicant-document-upload-button,
  .sc-applicant-document-submit .sc-btn-primary {
    width: 100%;
  }
}

/* CV card on the full application: uploads in place with a live progress
   state, and doubles as a drop target for a dragged file. */
body.sc-public.sc-applicant-application-page .sc-application-cv-row {
  position:relative;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
  padding:.75rem .8rem;border:1.5px dashed #c6d3e4;border-radius:14px;background:#f8fafd;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
body.sc-public.sc-applicant-application-page .sc-application-cv-row:hover {border-color:#9fb4d1;background:#f4f7fc}
body.sc-public.sc-applicant-application-page .sc-application-cv-row[data-state="uploaded"] {border-style:solid;border-color:#b8e0cb;background:#f5fcf8}
body.sc-public.sc-applicant-application-page .sc-application-cv-row[data-state="uploading"] {border-style:solid;border-color:#bcd3f5;background:#f5f9ff}
body.sc-public.sc-applicant-application-page .sc-application-cv-row.is-dragging {border-color:#3f73bf;background:#eef4fd;box-shadow:0 0 0 4px rgba(63,115,191,.12)}
body.sc-public.sc-applicant-application-page .sc-application-cv-row.is-just-uploaded {box-shadow:0 0 0 4px rgba(45,138,102,.14)}

.sc-application-cv-icon {
  position:relative;display:grid;place-items:center;flex:0 0 2.6rem;width:2.6rem;height:2.6rem;
  border-radius:11px;background:#e8eef7;color:#3f5f8c;
  transition:background-color .18s ease,color .18s ease;
}
.sc-application-cv-icon svg {grid-area:1/1}
.sc-application-cv-icon-done,
.sc-application-cv-icon-spin {display:none}
.sc-application-cv-row[data-state="uploaded"] .sc-application-cv-icon {background:#dcf3e7;color:#1f7a55}
.sc-application-cv-row[data-state="uploaded"] .sc-application-cv-icon-file {display:none}
.sc-application-cv-row[data-state="uploaded"] .sc-application-cv-icon-done {display:block}
.sc-application-cv-row[data-state="uploading"] .sc-application-cv-icon {background:#e3edfb;color:#2d5fa8}
.sc-application-cv-row[data-state="uploading"] .sc-application-cv-icon-spin {
  display:block;grid-area:1/1;width:2.6rem;height:2.6rem;border-radius:11px;
  border:2px solid transparent;border-top-color:currentColor;border-right-color:currentColor;
  animation:sc-cv-upload-spin .8s linear infinite;
}

.sc-application-cv-meta {display:flex;flex-direction:column;gap:.18rem;flex:1 1 180px;min-width:0}
.sc-application-cv-file {
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.9rem;font-weight:650;color:#13213a;
}
.sc-application-cv-row[data-state="empty"] .sc-application-cv-file {color:#52627a;font-weight:600}
.sc-application-cv-hint {font-size:.76rem;line-height:1.35;color:#6b7a90}
.sc-application-cv-row[data-state="uploaded"] .sc-application-cv-hint {color:#1f7a55;font-weight:600}
.sc-application-cv-row[data-state="uploading"] .sc-application-cv-hint {color:#2d5fa8;font-weight:600;font-variant-numeric:tabular-nums}
.sc-application-cv-progress {
  display:none;height:4px;margin-top:.3rem;border-radius:999px;background:#dbe6f5;overflow:hidden;
}
.sc-application-cv-progress > span {display:block;width:0;height:100%;border-radius:inherit;background:#3f73bf;transition:width .2s ease}
.sc-application-cv-row[data-state="uploading"] .sc-application-cv-progress,
.sc-application-cv-row.is-just-uploaded .sc-application-cv-progress {display:block}
.sc-application-cv-row.is-just-uploaded .sc-application-cv-progress > span {background:#2d8a66}

.sc-application-cv-actions {display:flex;align-items:center;gap:.45rem;flex:0 0 auto}
.sc-application-cv-upload {display:inline-flex;position:relative}
.sc-application-cv-row[data-state="uploading"] .sc-application-cv-upload {opacity:.5;pointer-events:none}

body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-btn-secondary,
body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-file-trigger {
  width:auto;flex:0 0 auto;min-height:2.25rem;padding:.4rem .85rem;border-radius:9px;
  font-size:.8rem;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none;
}
body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-file-trigger {color:#fff;background:#071127;border:1px solid #071127}
body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-file-trigger:hover {background:#1a2744}
body.sc-public.sc-applicant-application-page .sc-application-cv-row[data-state="uploaded"] .sc-file-trigger {color:#13213a;background:#fff;border-color:#cfdae8}
body.sc-public.sc-applicant-application-page .sc-application-cv-row[data-state="uploaded"] .sc-file-trigger:hover {background:#f1f5fa}
body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-application-cv-remove {
  width:2.25rem;padding:0;font-size:1.2rem;color:#7a879a;
}
body.sc-public.sc-applicant-application-page .sc-application-cv-row .sc-application-cv-remove:hover {color:#b42318;border-color:#f3c3be;background:#fff5f4}
.sc-application-cv-row [hidden] {display:none!important}
.sc-application-cv-upload .sc-file-native:focus-visible + .sc-file-trigger {outline:3px solid #9dbce9;outline-offset:2px}

.sc-application-cv-upload-status {
  display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.5rem .7rem;
  border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e40af;
  font-size:.78rem;font-weight:600;line-height:1.35;
}
.sc-application-cv-upload-status[data-state="error"] {border-color:#f3c3be;background:#fff5f4;color:#b42318}
.sc-application-cv-upload-status[data-state="uploaded"] {border-color:#a7e2c7;background:#effbf5;color:#176b4a}
.sc-application-cv-upload-status[hidden] {display:none!important}
.sc-application-cv-upload-status[data-state="uploading"]::before {
  content:"";width:.9rem;height:.9rem;flex:0 0 .9rem;border:2px solid currentColor;
  border-right-color:transparent;border-radius:50%;animation:sc-cv-upload-spin .75s linear infinite;
}
.sc-application-cv-upload-status[data-state="uploaded"]::before {
  content:"✓";display:grid;place-items:center;width:1rem;height:1rem;flex:0 0 1rem;
  border-radius:50%;background:#2d8a66;color:#fff;font-size:.68rem;line-height:1;
}
.sc-application-cv-upload-status[data-state="error"]::before {
  content:"!";display:grid;place-items:center;width:1rem;height:1rem;flex:0 0 1rem;
  border-radius:50%;background:#d92d20;color:#fff;font-size:.7rem;font-weight:800;line-height:1;
}
@keyframes sc-cv-upload-spin {to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce) {
  .sc-application-cv-upload-status[data-state="uploading"]::before,
  .sc-application-cv-row[data-state="uploading"] .sc-application-cv-icon-spin {animation:none}
  .sc-application-cv-progress > span {transition:none}
}

@media (max-width: 480px) {
  .sc-application-cv-meta {flex-basis:calc(100% - 3.4rem)}
  .sc-application-cv-actions {width:100%;justify-content:flex-end}
}
