/* Orange Enrolment mobile-only polish v2. Desktop remains untouched. */
@media (max-width: 767px) {
  :root {
    --vesta-mobile-safe-top: env(safe-area-inset-top, 0px);
    --vesta-topbar-mobile-row-h: 56px;
    --vesta-topbar-mobile-extra: 0px;
    --vesta-topbar-mobile-total: calc(var(--vesta-mobile-safe-top) + var(--vesta-topbar-mobile-row-h));
  }

  html, body, body.vesta-app-body { min-height: 100%; }
  body.vesta-app-body { overflow: hidden; background: #f7f9fc; }
  .vesta-app-shell__main { padding-top: var(--vesta-topbar-mobile-total) !important; }
  .vesta-page-shell { padding: 18px 16px 96px !important; }

  /* Compact mobile topbar: remove the giant blank header gap. */
  .vesta-topbar,
  .orange-vesta-topbar {
    min-height: var(--vesta-topbar-mobile-total) !important;
    height: var(--vesta-topbar-mobile-total) !important;
    padding: var(--vesta-mobile-safe-top) 12px 0 !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid #e7ecf4 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .035) !important;
  }
  .vesta-topbar__row--main,
  .orange-vesta-topbar .vesta-topbar__row--main {
    min-height: var(--vesta-topbar-mobile-row-h) !important;
    height: var(--vesta-topbar-mobile-row-h) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .vesta-topbar__left, .vesta-topbar__right,
  .orange-topbar-left, .orange-topbar-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
  .orange-topbar-left { flex: 1 1 auto !important; overflow: hidden !important; }
  .orange-workspace-pill,
  .vesta-topbar__create,
  .vesta-icon-button,
  .vesta-user-chip {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 13px !important;
    padding: 0 !important;
  }
  .orange-workspace-pill {
    width: auto !important;
    max-width: 190px !important;
    padding: 0 10px !important;
    gap: 8px !important;
  }
  .orange-workspace-pill strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    letter-spacing: .01em !important;
  }
  .vesta-user-chip__avatar { width: 42px !important; height: 42px !important; }
  .vesta-user-chip__label { display: none !important; }

  /* Mobile page heading rhythm. */
  .orange-page-head {
    display: block !important;
    margin: 8px 0 18px !important;
    padding: 0 !important;
  }
  .orange-page-head h1 {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.055em !important;
    margin: 0 0 8px !important;
  }
  .orange-page-head p {
    font-size: 18px !important;
    line-height: 1.38 !important;
    color: #475569 !important;
    margin: 0 0 18px !important;
  }
  .orange-page-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .orange-page-actions .orange-date-btn,
  .orange-date-btn {
    width: 100% !important;
    justify-content: center !important;
    height: 58px !important;
    border-radius: 16px !important;
    font-size: 18px !important;
    background: #fff !important;
  }
  .orange-page-actions .orange-batch-btn,
  .orange-page-actions .orange-status-pill {
    width: 100% !important;
    justify-content: space-between !important;
    min-height: 52px !important;
    border-radius: 16px !important;
  }

  /* Dashboard/home mobile structure. */
  .orange-layout-70-30 { display: block !important; }
  .orange-main-stack, .orange-rail { display: grid !important; gap: 16px !important; }
  .orange-card {
    border-radius: 18px !important;
    padding: 20px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .045) !important;
  }
  .orange-card h2 { font-size: 23px !important; line-height: 1.16 !important; }
  .orange-card-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }
  .orange-card-head a, .orange-card-head button {
    white-space: nowrap !important;
    font-size: 14px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Overview stat cards: 2 per row on mobile, like the approved mockup. */
  .orange-stat-grid.four,
  .orange-stat-grid.five,
  .orange-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .orange-stat-card {
    min-height: 128px !important;
    padding: 14px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 18px !important;
  }
  .orange-stat-card > span {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
  }
  .orange-stat-card small { font-size: 14px !important; line-height: 1.2 !important; }
  .orange-stat-card strong { font-size: 28px !important; line-height: 1 !important; margin: 0 !important; }
  .orange-stat-card em { font-size: 13px !important; }

  /* Onboarding stage flow: horizontal mobile progress instead of broken vertical column. */
  .orange-process-card { overflow: hidden !important; }
  .orange-stage-flow {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(112px, 1fr) !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 8px 2px 4px !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .orange-stage-flow:before { display: block !important; left: 56px !important; right: 56px !important; top: 37px !important; background: repeating-linear-gradient(to right,#d7dee9 0 6px,transparent 6px 12px) !important; }
  .orange-stage { scroll-snap-align: start !important; min-width: 112px !important; }
  .orange-stage-icon { width: 60px !important; height: 60px !important; }
  .orange-stage strong { font-size: 14px !important; }

  /* Quick actions: clean 2-column mobile cards. */
  .orange-actions-grid,
  .vesta-quick-actions.dashboard_main,
  .vesta-quick-actions.dashboard_rail {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .orange-actions-grid a, .vesta-quick-action {
    min-height: 112px !important;
    border-radius: 18px !important;
    padding: 14px 10px !important;
    font-size: 15px !important;
  }

  /* Tables: stop horizontal overflow from breaking the viewport. */
  .orange-table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    border: 1px solid #e8edf5 !important;
    border-radius: 16px !important;
    white-space: nowrap !important;
    background: #fff !important;
  }
  .orange-table thead, .orange-table tbody, .orange-table tr { min-width: 620px !important; }

  /* Generic form/card mobile safety. */
  .orange-two-col, .orange-three-col, .orange-next-cards,
  .orange-detail-grid, .vesta-form-grid {
    grid-template-columns: 1fr !important;
  }
  input, select, textarea, .vesta-input, .vesta-select {
    max-width: 100% !important;
  }
  .orange-search-tools,
  .orange-doc-breadcrumb-bar,
  .orange-doc-toolbar,
  .orange-report-filters,
  .orange-plan-usage-filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Documents: prevent the folder manager from clipping/overflowing on phones. */
  .orange-doc-workspace,
  .orange-doc-grid-workspace,
  .orange-doc-main-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    overflow: visible !important;
  }
  .orange-doc-preview,
  .orange-doc-content,
  .orange-doc-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Hide right rail on small dashboards only after its useful quick actions have been moved/stacked. */
  .orange-rail { margin-top: 16px !important; }

  /* App walkthrough modal: use a real mobile viewport. */
  .orange-app-guide-modal,
  .orange-guide-modal,
  .orange-walkthrough-modal {
    width: calc(100vw - 18px) !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  .orange-guide-shell,
  .orange-guide-body,
  .orange-guide-layout {
    height: 100% !important;
    max-height: 100% !important;
  }
}

@media (max-width: 380px) {
  .orange-stat-grid.four,
  .orange-stat-grid.five,
  .orange-stat-grid { grid-template-columns: 1fr !important; }
  .orange-actions-grid,
  .vesta-quick-actions.dashboard_main,
  .vesta-quick-actions.dashboard_rail { grid-template-columns: 1fr 1fr !important; }
  .orange-page-head h1 { font-size: 32px !important; }
  .orange-workspace-pill { max-width: 150px !important; }
}

/* Orange Enrolment mobile containment rebuild v3.
   Mobile only: fixes lower form fields, tracker tables, documents and support/recommendation overflow without touching desktop. */
@media (max-width: 767px) {
  *, *::before, *::after { box-sizing: border-box !important; }
  html,
  body,
  body.vesta-app-body,
  .vesta-app-shell,
  .vesta-app-shell__main,
  .vesta-page-shell {
    width: 100% !important;
    max-width: 100% !important;
  }
  html,
  body,
  body.vesta-app-body {
    overflow-x: hidden !important;
  }
  .vesta-app-shell__main {
    margin-left: 0 !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
  .vesta-page-shell {
    overflow-x: hidden !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .orange-layout-70-30,
  .orange-main-stack,
  .orange-rail,
  .orange-card,
  .orange-my-enrolments-full,
  .orange-enrolments-table-card,
  .orange-support-grid,
  .orange-recommendations-workspace,
  .orange-docs-workspace,
  .orange-docs-layout,
  .orange-docs-toolbar,
  .orange-docs-main-panel,
  .orange-docs-tree-panel,
  .orange-docs-detail-panel,
  .orange-docs-section,
  .orange-docs-card-grid,
  .orange-docs-folder-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Topbar remains compact and never contributes to horizontal page overflow. */
  .vesta-topbar,
  .orange-vesta-topbar {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .orange-workspace-pill { max-width: clamp(128px, 40vw, 190px) !important; }
  .orange-topbar-actions { flex: 0 0 auto !important; }
  .orange-topbar-actions > * { flex: 0 0 auto !important; }

  /* Cards and page sections should clip their own wide children instead of pushing the viewport. */
  .orange-card,
  .orange-process-card,
  .orange-support-form-card,
  .orange-recommendation-form-card {
    overflow: hidden !important;
  }
  .orange-card-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .orange-card-head > * { min-width: 0 !important; max-width: 100% !important; }
  .orange-card-head h2,
  .orange-card h2,
  .orange-page-head h1,
  .orange-page-head p {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  /* My Enrolments / Dependants filters: lower fields become full-width mobile controls. */
  .orange-search-tools,
  form.orange-search-tools,
  .orange-report-filters,
  .orange-plan-usage-filters,
  .orange-risk-filter form,
  .orange-docs-actions {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .orange-search-tools input,
  .orange-search-tools select,
  .orange-search-tools button,
  .orange-search-tools a,
  .orange-report-filters input,
  .orange-report-filters select,
  .orange-report-filters button,
  .orange-plan-usage-filters input,
  .orange-plan-usage-filters select,
  .orange-plan-usage-filters button,
  .orange-docs-actions input,
  .orange-docs-actions button,
  .orange-docs-actions a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    justify-content: center !important;
  }

  /* Forms: support, recommendation and general module forms must not keep desktop 2-column widths. */
  .orange-form-row,
  .orange-form-row.two,
  .orange-two-col,
  .orange-three-col,
  .orange-detail-grid,
  .vesta-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .orange-support-form,
  .orange-recommendation-form,
  .orange-ticket-reply-form,
  .orange-recommendation-update-form,
  .orange-support-form label,
  .orange-full-label,
  .orange-form-note,
  .orange-form-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .orange-support-form input,
  .orange-support-form select,
  .orange-support-form textarea,
  .orange-recommendation-form input,
  .orange-recommendation-form select,
  .orange-recommendation-form textarea,
  input,
  select,
  textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  input[type="file"] {
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 12px !important;
    height: auto !important;
  }
  .orange-form-actions,
  .orange-form-actions button,
  .orange-btn-primary,
  .orange-btn-secondary {
    width: 100% !important;
  }

  /* Tables: keep them inside their card. No page-level right cut-off. */
  .orange-table-wrap,
  .orange-docs-file-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 16px !important;
  }
  table.orange-table,
  .orange-table,
  .orange-docs-file-table {
    display: table !important;
    width: max-content !important;
    min-width: 640px !important;
    max-width: none !important;
    white-space: nowrap !important;
    border-collapse: collapse !important;
  }
  .orange-table thead,
  .orange-table tbody,
  .orange-table tr {
    min-width: 0 !important;
  }
  .orange-card > table.orange-table,
  .orange-card > .orange-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
  }
  .orange-card > table.orange-table thead,
  .orange-card > table.orange-table tbody,
  .orange-card > table.orange-table tr {
    min-width: 620px !important;
  }

  /* Onboarding Tracker detail: wrap long headings and make its detail rows mobile-safe. */
  .orange-tab-nav,
  .orange-tabs,
  .orange-section-tabs {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .orange-tab-nav a,
  .orange-tabs a,
  .orange-section-tabs a {
    white-space: nowrap !important;
  }
  .orange-process-detail h2,
  .orange-process-current h2,
  .orange-current-stage h2,
  .orange-card h2 {
    font-size: clamp(22px, 7vw, 32px) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .orange-summary-list p,
  .orange-tracker-detail-row,
  .orange-next-cards > *,
  .orange-stage-control-row {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  /* Documents: mobile becomes a simple vertical folder workspace. */
  .orange-docs-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    overflow: hidden !important;
  }
  .orange-docs-breadcrumbs {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    justify-content: center !important;
    text-align: center !important;
    flex-wrap: wrap !important;
  }
  .orange-docs-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .orange-docs-actions .orange-input {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .orange-docs-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }
  .orange-docs-tree-panel,
  .orange-docs-main-panel,
  .orange-docs-detail-panel {
    padding: 16px !important;
    border-right: 0 !important;
    overflow: hidden !important;
  }
  .orange-docs-tree {
    overflow: visible !important;
    max-height: none !important;
  }
  .orange-docs-folder-head,
  .orange-docs-section-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .orange-docs-folder-head h2,
  .orange-docs-section-title h2 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
  }
  .orange-docs-view-controls,
  .orange-docs-folder-head > div:last-child {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
  }
  .orange-docs-folder-grid,
  .orange-docs-card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .orange-docs-folder-card,
  .orange-docs-file-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .orange-docs-preview-image {
    height: auto !important;
    max-height: 320px !important;
    object-fit: contain !important;
  }
  .orange-docs-meta { grid-template-columns: 1fr !important; }

  /* Overview stats: keep 2 columns but prevent text from going outside each card. */
  .orange-stat-grid.four,
  .orange-stat-grid.five,
  .orange-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .orange-stat-card {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .orange-stat-card small,
  .orange-stat-card em {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 360px) {
  .vesta-page-shell { padding-left: 10px !important; padding-right: 10px !important; }
  .orange-stat-grid.four,
  .orange-stat-grid.five,
  .orange-stat-grid { gap: 8px !important; }
  .orange-stat-card { padding: 12px !important; min-height: 118px !important; }
  .orange-stat-card > span { width: 46px !important; height: 46px !important; flex-basis: 46px !important; }
}

/* v1.0.9.118 — mobile shell top-gap fix only.
   Keeps desktop untouched and removes the duplicated mobile spacer caused by the
   topbar staying in normal/sticky flow while the main shell also adds top padding. */
@media (max-width: 767px) {
  :root {
    --vesta-mobile-safe-top: env(safe-area-inset-top, 0px);
    --vesta-topbar-mobile-row-h: 56px;
    --vesta-topbar-mobile-total: calc(var(--vesta-mobile-safe-top) + var(--vesta-topbar-mobile-row-h));
  }

  html,
  body,
  body.vesta-app-body,
  body.orange-enrolment-workspace {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.admin-bar #wpadminbar {
    display: none !important;
  }

  body.admin-bar,
  body.admin-bar .vesta-app-shell,
  body.admin-bar .vesta-app-shell__main,
  body.admin-bar .vesta-topbar,
  body.admin-bar .orange-vesta-topbar {
    margin-top: 0 !important;
  }

  .vesta-app-shell,
  .vesta-app-shell__main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .vesta-app-shell__main {
    padding-top: var(--vesta-topbar-mobile-total) !important;
  }

  .vesta-topbar.orange-vesta-topbar,
  .orange-vesta-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 3000 !important;
    height: var(--vesta-topbar-mobile-total) !important;
    min-height: var(--vesta-topbar-mobile-total) !important;
    max-height: var(--vesta-topbar-mobile-total) !important;
    padding: var(--vesta-mobile-safe-top) 10px 0 !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid #e7ecf4 !important;
  }

  .orange-vesta-topbar .orange-topbar-left,
  .orange-vesta-topbar .orange-topbar-actions {
    height: var(--vesta-topbar-mobile-row-h) !important;
    min-height: var(--vesta-topbar-mobile-row-h) !important;
    align-items: center !important;
  }

  .orange-vesta-topbar .orange-topbar-menu,
  .orange-vesta-topbar .orange-workspace-pill,
  .orange-vesta-topbar .orange-topbar-icon,
  .orange-vesta-topbar .orange-user-menu-wrap,
  .orange-vesta-topbar .orange-user-menu {
    height: var(--vesta-topbar-mobile-row-h) !important;
    max-height: var(--vesta-topbar-mobile-row-h) !important;
  }

  .vesta-page-shell,
  .orange-page-shell {
    margin-top: 0 !important;
    padding-top: 14px !important;
  }
}

/* v1.0.9.119 — mobile sidebar/topbar layering fix.
   The mobile drawer must open below the fixed topbar so the Orange brand/name is never hidden under it. */
@media (max-width: 767px) {
  .vesta-sidebar.orange-vesta-sidebar,
  .orange-vesta-sidebar {
    top: calc(var(--vesta-topbar-mobile-total) + 8px) !important;
    left: 10px !important;
    right: auto !important;
    bottom: 10px !important;
    inset: calc(var(--vesta-topbar-mobile-total) + 8px) auto 10px 10px !important;
    height: calc(100dvh - var(--vesta-topbar-mobile-total) - 18px) !important;
    max-height: calc(100dvh - var(--vesta-topbar-mobile-total) - 18px) !important;
    width: min(300px, 86vw) !important;
    padding-top: 14px !important;
    z-index: 2990 !important;
    transform: translateX(calc(-100% - 22px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .vesta-sidebar.orange-vesta-sidebar.is-open,
  .orange-vesta-sidebar.is-open {
    transform: translateX(0) !important;
  }

  .vesta-app-shell.is-sidebar-open::after {
    top: var(--vesta-topbar-mobile-total) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    inset: var(--vesta-topbar-mobile-total) 0 0 0 !important;
    z-index: 2980 !important;
  }

  .orange-vesta-sidebar .vesta-sidebar__brand,
  .orange-vesta-sidebar .orange-vesta-brand {
    padding-top: 4px !important;
    margin-top: 0 !important;
  }
}


/* v1.0.9.247 — verified desktop compact rail default + labels under icons.
   This is intentionally loaded in the final CSS file so it wins over older sidebar rules. */
@media (min-width: 1024px) {
  :root { --vesta-sidebar-w-collapsed: 118px; }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-app-shell__main,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main {
    margin-left: var(--vesta-sidebar-w-collapsed) !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar.orange-vesta-sidebar,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar.orange-vesta-sidebar {
    width: var(--vesta-sidebar-w-collapsed) !important;
    max-width: var(--vesta-sidebar-w-collapsed) !important;
    min-width: var(--vesta-sidebar-w-collapsed) !important;
    padding: 18px 10px 16px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-items: center !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-expanded .vesta-app-shell__main {
    margin-left: var(--vesta-sidebar-w) !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-expanded .vesta-sidebar.orange-vesta-sidebar {
    width: calc(var(--vesta-sidebar-w) - 16px) !important;
    max-width: calc(var(--vesta-sidebar-w) - 16px) !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-vesta-brand,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-vesta-brand {
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 0 20px !important;
    margin: 0 0 10px !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-brand-word,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word {
    width: 58px !important;
    height: 58px !important;
    border-radius: 22px !important;
    display: grid !important;
    place-items: center !important;
    background: #fff3eb !important;
    border: 1px solid #ffd8c0 !important;
    overflow: hidden !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-brand-word strong,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong {
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-brand-word strong::before,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong::before {
    content: "O" !important;
    display: block !important;
    font-size: 31px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    color: #ff5a00 !important;
    letter-spacing: -1.8px !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-brand-word span,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word span,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__group-label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group-label,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-help,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-help,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group__items,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__items,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group__summary::after,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary::after {
    display: none !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__nav,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__nav,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__group,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group {
    width: 100% !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__group,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group {
    display: grid !important;
    gap: 9px !important;
    margin: 0 0 12px !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__item,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group__summary,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    min-height: 68px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 8px 5px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: 20px !important;
    text-align: center !important;
    line-height: 1.1 !important;
    box-sizing: border-box !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group {
    width: 82px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__item:hover,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item:hover {
    transform: none !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__item.is-active,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item.is-active,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group[open] .orange-sidebar-admin-group__summary,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group[open] .orange-sidebar-admin-group__summary {
    background: #fff3eb !important;
    border: 1px solid #ffd8c0 !important;
    color: #ff5a00 !important;
    box-shadow: none !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__item .vesta-icon,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item .vesta-icon,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-icon--sidebar,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-icon--sidebar,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group__summary .vesta-icon,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary .vesta-icon {
    width: 23px !important;
    height: 23px !important;
    flex: 0 0 23px !important;
    margin: 0 !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__label,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-admin-group__summary .vesta-sidebar__label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary .vesta-sidebar__label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 72px !important;
    max-width: 72px !important;
    min-width: 0 !important;
    height: auto !important;
    color: inherit !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-primary,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-logout,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout {
    width: 82px !important;
    min-width: 82px !important;
    min-height: 60px !important;
    height: auto !important;
    margin: 8px auto 0 !important;
    padding: 8px 5px !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: center !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-primary span,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary span,
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-sidebar-logout span,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 72px !important;
    max-width: 72px !important;
    color: inherit !important;
    font-size: 10.5px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}


/* v1.0.9.256 - Mobile must not inherit desktop collapsed rail */
@media (max-width: 1023px) {
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main,
  .vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main {
    margin-left: 0 !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar.orange-vesta-sidebar,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar {
    width: min(280px, 84vw) !important;
    max-width: min(280px, 84vw) !important;
    min-width: 0 !important;
    padding: 18px 14px !important;
    inset: 10px auto 10px 10px !important;
    transform: translateX(calc(-100% - 20px)) !important;
    align-items: stretch !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar.orange-vesta-sidebar.is-open,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar.is-open,
  body.orange-enrolment-workspace .vesta-sidebar.orange-vesta-sidebar.is-open,
  .vesta-sidebar.is-open {
    transform: none !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-vesta-brand,
  .vesta-app-shell.is-sidebar-collapsed .orange-vesta-brand,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__brand {
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 4px 8px 22px !important;
    margin-bottom: 12px !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word,
  .vesta-app-shell.is-sidebar-collapsed .orange-brand-word {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    border-radius: 0 !important;
    display: block !important;
    place-items: initial !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong,
  .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong {
    font-size: 18px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong::before,
  .vesta-app-shell.is-sidebar-collapsed .orange-brand-word strong::before {
    content: none !important;
    display: none !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word span,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__brand-copy,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group-label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary span,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout span,
  .vesta-app-shell.is-sidebar-collapsed .orange-brand-word span,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__brand-copy,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group-label,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__label,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary span,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    white-space: normal !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-primary,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-logout {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 46px !important;
    height: auto !important;
    margin: 0 0 5px !important;
    padding: 11px 12px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    border-radius: 14px !important;
    text-align: left !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item .vesta-icon,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-icon--sidebar,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary .vesta-icon,
  .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item .vesta-icon,
  .vesta-app-shell.is-sidebar-collapsed .vesta-icon--sidebar,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group__summary .vesta-icon {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group {
    width: auto !important;
    margin: 7px 0 8px !important;
    padding: 0 !important;
    border: 1px solid rgba(226,232,240,.78) !important;
    border-radius: 16px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group[open] .orange-sidebar-admin-group__items,
  .vesta-app-shell.is-sidebar-collapsed .orange-sidebar-admin-group[open] .orange-sidebar-admin-group__items {
    display: block !important;
  }
}

/* v1.0.9.356 — true desktop density correction at 100% browser zoom.
 * This does not scale the application with transform/zoom. It reduces the
 * oversized desktop shell metrics and dashboard spacing while preserving
 * all application behaviour and mobile rules.
 */
@media (min-width: 1024px) {
  body.orange-enrolment-workspace {
    --vesta-sidebar-w: 226px;
    --vesta-sidebar-w-collapsed: 92px;
    --vesta-page-padding: 18px;
    --vesta-topbar-h: 62px;
    --vesta-card-padding: 16px;
  }

  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-app-shell__main,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-app-shell__main {
    margin-left: 92px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar.orange-vesta-sidebar,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar.orange-vesta-sidebar {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    padding: 14px 7px 12px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-vesta-brand,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-vesta-brand {
    padding-bottom: 10px !important;
    margin-bottom: 6px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .orange-brand-word,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .orange-brand-word {
    width: 48px !important;
    height: 48px !important;
    border-radius: 17px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__group,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__group {
    gap: 3px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__item,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__item {
    min-height: 62px !important;
    height: 62px !important;
    padding: 7px 4px !important;
    border-radius: 13px !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-sidebar__label,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-sidebar__label {
    font-size: 10px !important;
    line-height: 1.12 !important;
  }
  body.orange-enrolment-workspace .vesta-app-shell:not(.is-sidebar-expanded) .vesta-icon--sidebar,
  body.orange-enrolment-workspace .vesta-app-shell.is-sidebar-collapsed .vesta-icon--sidebar {
    width: 20px !important;
    height: 20px !important;
  }

  body.orange-enrolment-workspace .orange-vesta-topbar {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 18px !important;
  }
  body.orange-enrolment-workspace .orange-topbar-left,
  body.orange-enrolment-workspace .orange-topbar-actions {
    gap: 10px !important;
  }
  body.orange-enrolment-workspace .orange-workspace-pill strong {
    font-size: 14px !important;
  }
  body.orange-enrolment-workspace .orange-topbar-icon {
    width: 36px !important;
    height: 36px !important;
  }
  body.orange-enrolment-workspace .orange-user-menu-wrap,
  body.orange-enrolment-workspace .orange-user-menu {
    height: 62px !important;
  }
  body.orange-enrolment-workspace .orange-avatar {
    width: 36px !important;
    height: 36px !important;
  }
  body.orange-enrolment-workspace .orange-user-menu strong {
    font-size: 13px !important;
  }
  body.orange-enrolment-workspace .orange-user-menu small {
    font-size: 11px !important;
  }

  body.orange-enrolment-workspace .vesta-page-shell,
  body.orange-enrolment-workspace .orange-page-shell {
    padding: 14px 18px 72px !important;
  }
  body.orange-enrolment-workspace .orange-page-head,
  body.orange-enrolment-workspace .orange-dashboard-switch-head {
    margin: 4px 0 16px !important;
    gap: 14px !important;
  }
  body.orange-enrolment-workspace .orange-page-head h1,
  body.orange-enrolment-workspace .orange-dashboard-switch-head h1 {
    font-size: 24px !important;
    line-height: 1.12 !important;
  }
  body.orange-enrolment-workspace .orange-page-head p,
  body.orange-enrolment-workspace .orange-dashboard-switch-head p {
    font-size: 13px !important;
  }
  body.orange-enrolment-workspace .orange-dashboard-view-actions {
    gap: 10px !important;
  }
  body.orange-enrolment-workspace .orange-dashboard-view-switch {
    min-width: 250px !important;
    height: 46px !important;
    padding: 4px !important;
    border-radius: 14px !important;
  }
  body.orange-enrolment-workspace .orange-dashboard-view-switch a,
  body.orange-enrolment-workspace .orange-dashboard-view-switch button {
    height: 36px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
  }
  body.orange-enrolment-workspace .orange-date-btn,
  body.orange-enrolment-workspace .orange-head-actions button {
    height: 40px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
  }

  body.orange-enrolment-workspace .orange-layout-70-30 {
    grid-template-columns: minmax(0,1fr) minmax(290px,330px) !important;
    gap: 16px !important;
  }
  body.orange-enrolment-workspace .orange-main-stack,
  body.orange-enrolment-workspace .orange-rail {
    gap: 12px !important;
  }
  body.orange-enrolment-workspace .orange-card {
    padding: 14px !important;
    border-radius: 12px !important;
  }
  body.orange-enrolment-workspace .orange-card h2 {
    font-size: 16px !important;
    margin-bottom: 11px !important;
  }
  body.orange-enrolment-workspace .orange-process-card {
    padding: 14px 16px 16px !important;
  }
  body.orange-enrolment-workspace .orange-stage-flow {
    margin-top: 12px !important;
    gap: 6px !important;
  }
  body.orange-enrolment-workspace .orange-stage-flow::before {
    top: 23px !important;
  }
  body.orange-enrolment-workspace .orange-stage-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 7px !important;
  }
  body.orange-enrolment-workspace .orange-stage strong {
    font-size: 12px !important;
    line-height: 1.18 !important;
  }
  body.orange-enrolment-workspace .orange-stage .orange-badge,
  body.orange-enrolment-workspace .orange-stage > span {
    font-size: 10px !important;
  }
  body.orange-enrolment-workspace .orange-stat-grid {
    gap: 12px !important;
  }
  body.orange-enrolment-workspace .orange-stat-card {
    min-height: 88px !important;
    padding: 13px 14px !important;
  }
  body.orange-enrolment-workspace .orange-stat-icon {
    width: 44px !important;
    height: 44px !important;
  }
  body.orange-enrolment-workspace .orange-stat-card strong {
    font-size: 20px !important;
  }
  body.orange-enrolment-workspace .orange-stat-card span,
  body.orange-enrolment-workspace .orange-stat-card small {
    font-size: 11px !important;
  }
  body.orange-enrolment-workspace .orange-completion-ring {
    width: 112px !important;
    height: 112px !important;
    margin: 8px auto 12px !important;
  }
  body.orange-enrolment-workspace .orange-completion-ring strong {
    font-size: 26px !important;
  }
  body.orange-enrolment-workspace .orange-completion-mini-grid span {
    padding: 9px !important;
    border-radius: 13px !important;
  }
  body.orange-enrolment-workspace .orange-completion-mini-grid b {
    font-size: 20px !important;
  }
  body.orange-enrolment-workspace .orange-table th,
  body.orange-enrolment-workspace .orange-table td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 12px !important;
  }
}

/* Keep a two-column dashboard on genuinely wide screens, but collapse the
 * right rail earlier on standard laptop widths after the sidebar is deducted. */
@media (min-width: 1501px) and (max-width: 1720px) {
  body.orange-enrolment-workspace .orange-layout-70-30.orange-dashboard-view-panel.is-active {
    grid-template-columns: minmax(0,1fr) 300px !important;
  }
}
