html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1060;
  background-color: rgba(33, 37, 41, 0.95);
  color: #fff;
  padding: 0.75rem 0;
}

.cookie-consent a {
  color: #9fd3ff;
}

.cookie-consent__content {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.app-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.app-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.5rem;
}

.app-icon {
  width: 1.25rem;
  height: 1.25rem;
}

/* Opt-in admin foundation. Existing Bootstrap tokens and other pages stay unchanged. */
@font-face {
  font-family: "ePoukaz Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: "ePoukaz Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter/inter-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ep-admin-font: "ePoukaz Inter", var(--bs-font-sans-serif);
  --ep-admin-brand: #056169;
  --ep-admin-brand-hover: #044d54;
  --ep-admin-on-brand: #fff;
  --ep-admin-page: #f8f9fa;
  --ep-admin-surface: #fff;
  --ep-admin-text: #212529;
  --ep-admin-muted: #626c75;
  --ep-admin-border: #dee2e6;
  --ep-admin-control-border: #8a949e;
  --ep-admin-radius-control: .5rem;
  --ep-admin-radius-card: .875rem;
  --ep-admin-space-1: .25rem;
  --ep-admin-space-2: .5rem;
  --ep-admin-space-3: 1rem;
  --ep-admin-space-4: 1.5rem;
  --ep-admin-control-height: 2.75rem;
  --ep-admin-icon-target: 44px;
  --ep-admin-status-target: 32px;
  --ep-admin-status-warning: #ffc107;
  --ep-admin-status-danger: #b81c25;
  --ep-admin-status-danger-text: #850e14;
  --ep-admin-status-danger-bg: #f7d6d8;
  --ep-admin-status-warning-text: #6b4f00;
  --ep-admin-status-warning-bg: #fff3bd;
  --ep-admin-status-success: #198754;
  --ep-admin-status-success-text: #146c43;
  --ep-admin-status-success-bg: #d1e7dd;
  --ep-admin-status-info-bg: #d7f0f2;
  --ep-admin-selected-bg: #fff9e6;
  --ep-admin-selected-brand-bg: #f5fbfb;
  --ep-admin-row-padding: .625rem;
  --ep-docs-drawer-width: 400px;
  --ep-docs-navigation-width: 12rem;
  --ep-docs-backdrop-opacity: .32;
}

.ep-admin {
  font-family: var(--ep-admin-font);
  color: var(--ep-admin-text);
  line-height: 1.5;
}

.ep-admin-page {
  display: flex;
  flex-direction: column;
  gap: var(--ep-admin-space-4);
  padding: var(--ep-admin-space-4);
  background: var(--ep-admin-page);
  min-width: 0;
}

.ep-admin .ep-admin-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-page-heading {
  min-width: 0;
  flex: 1 1 18rem;
}

.ep-admin .ep-admin-page-title {
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.2858;
  font-weight: 600;
  color: var(--ep-admin-brand);
}

.ep-admin .ep-admin-page-description {
  margin: var(--ep-admin-space-1) 0 0;
  font-size: .875rem;
  color: var(--ep-admin-muted);
}

.ep-admin .ep-admin-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ep-admin-space-2);
}

.ep-admin .ep-admin-section-title {
  margin: 0 0 var(--ep-admin-space-3);
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 600;
}

.ep-admin .ep-admin-panel {
  min-width: 0;
  padding: var(--ep-admin-space-4);
  border-radius: var(--ep-admin-radius-card);
  background: var(--ep-admin-surface);
}

.ep-admin .ep-admin-actions,
.ep-admin .ep-admin-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ep-admin-space-2);
}

.ep-admin .ep-admin-filter-actions {
  justify-content: flex-end;
  gap: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-export-actions {
  padding-inline-start: var(--ep-admin-space-3);
  border-inline-start: 1px solid var(--ep-admin-border);
}

.ep-admin .ep-admin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ep-admin-space-2);
  min-height: var(--ep-admin-control-height);
  padding: var(--ep-admin-space-2) var(--ep-admin-space-3);
  border-radius: var(--ep-admin-radius-control);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
}

.ep-admin .ep-admin-button-primary {
  --bs-btn-color: var(--ep-admin-on-brand);
  --bs-btn-bg: var(--ep-admin-brand);
  --bs-btn-border-color: var(--ep-admin-brand);
  --bs-btn-hover-color: var(--ep-admin-on-brand);
  --bs-btn-hover-bg: var(--ep-admin-brand-hover);
  --bs-btn-hover-border-color: var(--ep-admin-brand-hover);
  --bs-btn-active-color: var(--ep-admin-on-brand);
  --bs-btn-active-bg: var(--ep-admin-brand-hover);
  --bs-btn-active-border-color: var(--ep-admin-brand-hover);
}

.ep-admin .ep-admin-button-secondary {
  --bs-btn-color: var(--ep-admin-brand);
  --bs-btn-bg: var(--ep-admin-surface);
  --bs-btn-border-color: var(--ep-admin-control-border);
  --bs-btn-hover-color: var(--ep-admin-brand);
  --bs-btn-hover-bg: var(--ep-admin-page);
  --bs-btn-hover-border-color: var(--ep-admin-brand);
  --bs-btn-active-color: var(--ep-admin-on-brand);
  --bs-btn-active-bg: var(--ep-admin-brand);
  --bs-btn-active-border-color: var(--ep-admin-brand);
}

.ep-admin .form-label {
  margin-bottom: var(--ep-admin-space-2);
  font-size: .875rem;
  font-weight: 600;
}

.ep-admin .form-control,
.ep-admin .form-select {
  min-height: var(--ep-admin-control-height);
  border-color: var(--ep-admin-control-border);
  border-radius: var(--ep-admin-radius-control);
  padding-block: var(--ep-admin-space-2);
  font-size: .875rem;
}

.ep-admin .form-control::placeholder,
.ep-admin .form-text {
  color: var(--ep-admin-muted);
}

.ep-admin :is(.btn, .form-control, .form-select, .page-link, .ep-admin-table-scroll, .ep-admin-status):focus-visible {
  outline: 2px solid var(--ep-admin-brand);
  outline-offset: 3px;
  box-shadow: none;
}

.ep-admin .form-control:focus,
.ep-admin .form-select:focus {
  border-color: var(--ep-admin-brand);
}

.ep-admin .ep-admin-table {
  --bs-table-bg: var(--ep-admin-surface);
  --bs-table-color: var(--ep-admin-text);
  --bs-table-border-color: var(--ep-admin-border);
  width: 100%;
  min-width: 68rem;
  margin: 0;
  font-size: .875rem;
}

.ep-admin .ep-admin-table > :not(caption) > * > * {
  padding: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-table thead th {
  color: var(--ep-admin-on-brand);
  background: var(--ep-admin-brand);
  border-bottom: 0;
  font-weight: 600;
}

.ep-admin .ep-admin-table thead th:first-child {
  border-start-start-radius: var(--ep-admin-space-1);
}

.ep-admin .ep-admin-table thead th:last-child {
  border-start-end-radius: var(--ep-admin-space-1);
}

.ep-admin .ep-admin-record-code {
  color: var(--ep-admin-brand);
  font-weight: 600;
}

.ep-admin .ep-admin-table tbody :is(td, th) {
  overflow-wrap: anywhere;
  max-width: 18rem;
  padding-block: var(--ep-admin-row-padding);
}

.ep-admin .ep-admin-icon {
  display: block;
  flex: none;
}

.ep-admin .ep-admin-icon-button {
  width: var(--ep-admin-icon-target);
  height: var(--ep-admin-icon-target);
  min-height: var(--ep-admin-icon-target);
  padding: 0;
  flex: none;
}

.ep-admin .ep-admin-sukl-button {
  width: 89px;
  height: var(--ep-admin-icon-target);
  min-height: var(--ep-admin-icon-target);
  padding: 0;
}

.ep-admin .ep-admin-icon-button.ep-admin-button-secondary {
  --bs-btn-active-bg: var(--ep-admin-page);
  --bs-btn-active-color: var(--ep-admin-brand);
}

.ep-admin .ep-admin-statuses {
  display: flex;
  gap: var(--ep-admin-space-2);
  width: max-content;
}

.ep-admin .ep-admin-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--ep-admin-status-target);
  height: var(--ep-admin-status-target);
  border-radius: var(--ep-admin-radius-control);
  background: var(--ep-admin-surface);
  flex: none;
}

.ep-admin .ep-admin-status-warning {
  background: var(--ep-admin-status-warning);
}

.ep-admin .ep-admin-status-success {
  color: var(--ep-admin-status-success-text);
  background: var(--ep-admin-status-success-bg);
}

.ep-admin .ep-admin-status-danger {
  color: var(--ep-admin-status-danger-text);
  background: var(--ep-admin-status-danger-bg);
}

.ep-admin .ep-admin-status-muted {
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
}


/* Tooltips are portaled to body so responsive table clipping cannot hide them. */
.ep-admin-tooltip {
  --bs-tooltip-bg: var(--ep-admin-text);
  --bs-tooltip-color: var(--ep-admin-on-brand);
  --bs-tooltip-opacity: 1;
  --bs-tooltip-max-width: 280px;
  font-family: var(--ep-admin-font);
  pointer-events: auto;
}

.ep-admin-tooltip[data-popper-reference-hidden] {
  visibility: hidden;
}

.ep-admin .ep-admin-panel-heading,
.ep-admin .ep-admin-results-footer,
.ep-admin .ep-admin-page-size {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-panel-heading {
  margin-bottom: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-panel-heading .ep-admin-section-title,
.ep-admin .ep-admin-result-count,
.ep-admin .ep-admin-result-summary p,
.ep-admin .ep-admin-page-size .form-label {
  margin: 0;
}

.ep-admin .ep-admin-result-count,
.ep-admin .ep-admin-result-summary {
  font-size: .875rem;
  color: var(--ep-admin-muted);
}

.ep-admin .ep-admin-result-summary {
  flex: 1 1 15rem;
}

.ep-admin .ep-admin-results-footer {
  margin-top: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-page-size {
  gap: var(--ep-admin-space-2);
}

.ep-admin .ep-admin-page-size .form-select {
  width: auto;
  min-width: 5rem;
}

.ep-admin .ep-admin-pagination {
  margin: 0;
}

.ep-admin .pagination {
  gap: var(--ep-admin-space-1);
  --bs-pagination-color: var(--ep-admin-brand);
  --bs-pagination-active-bg: var(--ep-admin-brand);
  --bs-pagination-active-border-color: var(--ep-admin-brand);
  --bs-pagination-hover-color: var(--ep-admin-brand);
}

.ep-admin .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: var(--ep-admin-control-height);
  min-height: var(--ep-admin-control-height);
  border-radius: var(--ep-admin-radius-control);
  font-size: .875rem;
}

.ep-admin .ep-admin-sync-stats {
  border: 1px solid var(--ep-admin-border);
}

.ep-admin .ep-admin-metric {
  font-size: .875rem;
}

.ep-admin .alert {
  margin: 0;
  overflow-wrap: anywhere;
}

/* Opt-in directory consumers share table/dialog primitives without changing prescriptions. */
.ep-admin .ep-admin-directory-table.ep-admin-products-table {
  min-width: 74rem;
}

.ep-admin .ep-admin-products-table > :not(caption) > * > * {
  padding-inline: .75rem;
}

.ep-admin .ep-admin-product-name {
  min-width: 12.5rem;
}

.ep-admin .ep-admin-limit-editor {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--ep-admin-space-2);
  min-width: 12.75rem;
}

.ep-admin .ep-admin-limit-editor .limit-input {
  width: 7.375rem;
  flex: none;
}

.ep-admin .ep-admin-product-checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

.ep-admin .ep-admin-product-checkbox .form-check-input {
  width: 24px;
  height: 24px;
  margin: 0;
  border-color: var(--ep-admin-control-border);
}

.ep-admin .ep-admin-product-checkbox .form-check-input:checked {
  background-color: var(--ep-admin-brand);
  border-color: var(--ep-admin-brand);
}

.ep-admin .ep-admin-product-checkbox .form-check-input:focus-visible {
  outline: 2px solid var(--ep-admin-brand);
  outline-offset: 3px;
  box-shadow: none;
}

.ep-admin .ep-admin-inactive-search {
  max-width: 37.5rem;
}

/* Keep visually-hidden cell labels inside the table's horizontal scroll region. */
.ep-admin-products .ep-admin-table-scroll {
  position: relative;
}

.ep-admin-products .modal-xl {
  --bs-modal-width: min(88.75rem, calc(100vw - 2rem));
}

.ep-admin .ep-admin-products-table .deleted-external > th {
  color: var(--bs-danger-text-emphasis);
}

.ep-admin .ep-admin-directory-table.ep-admin-products-table tbody > tr.table-success > * {
  background-color: var(--bs-success-bg-subtle);
}

.ep-admin-points-history .ep-points-history-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ep-admin-space-4);
}
.ep-admin-points-history .ep-points-history-total { font-size: 2rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ep-admin-brand); }
.ep-admin-points-history .ep-points-history-total span { font-size: 1rem; font-weight: 400; color: var(--ep-admin-muted); }
.ep-admin-points-history .text-success { color: var(--bs-success-text-emphasis) !important; }
.ep-admin-points-history .text-danger { color: var(--bs-danger-text-emphasis) !important; }
.ep-admin-points-history .text-muted { color: var(--ep-admin-muted) !important; }
.ep-admin-points-history .btn-outline-warning { --bs-btn-color: var(--ep-admin-status-warning-text); --bs-btn-border-color: var(--ep-admin-status-warning-text); }
.ep-admin-points-history .ep-admin-table-scroll { position: relative; }
.ep-admin-points-history .ep-points-history-table { min-width: 68rem; }
.ep-admin-points-history .ep-points-rep-history-table { min-width: 38rem; }
.ep-admin-points-history .ep-points-history-table tbody > tr > * { background-color: var(--ep-admin-surface); box-shadow: none; }
.ep-admin.ep-admin-points-history .ep-points-history-table tbody > tr.table-secondary > * { background: var(--bs-secondary-bg); }
.ep-admin-points-history .table-row-clickable { cursor: pointer; }
.ep-admin-points-history .ep-points-history-empty { padding: var(--ep-admin-space-4); background: var(--ep-admin-page); border-radius: var(--ep-admin-radius-control); color: var(--ep-admin-muted); }
.ep-admin-points-history .ep-admin-dialog .modal-content { border-radius: var(--ep-admin-radius-card); }
.ep-admin-points-history .ep-admin-dialog .modal-content > form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.ep-admin-points-history .ep-admin-dialog .modal-footer { justify-content: flex-start; }
.ep-admin-points-history .ep-admin-dialog .ep-admin-table { min-width: 56rem; }
.ep-admin-points-history .ep-admin-dialog pre { max-height: 24rem; white-space: pre-wrap; overflow-wrap: anywhere; }

.ep-admin-points .ep-points-checks {
  border: 1px solid var(--ep-admin-border);
}

.ep-admin-points .ep-points-progress {
  width: 0;
}

.ep-admin-points .ep-points-check-card {
  height: 100%;
  padding: var(--ep-admin-space-3);
  border-radius: var(--ep-admin-radius-control);
  background: var(--ep-admin-page);
}

.ep-admin-points .ep-points-check-card p {
  font-size: .875rem;
  color: var(--ep-admin-muted);
}

.ep-admin.ep-admin-points .ep-points-users-table tbody > tr > * {
  padding-block: var(--ep-admin-row-padding);
}

.ep-admin-points .ep-points-audit .card-header {
  padding: var(--ep-admin-space-3);
  background: var(--ep-admin-page);
}

.ep-admin-points .ep-points-audit .ep-admin-table {
  min-width: 86rem;
}

.ep-admin-points .ep-points-audit .ep-admin-table tbody > tr.table-success > * {
  background-color: var(--bs-success-bg-subtle);
}

.ep-admin .ep-admin-directory-table {
  min-width: 52rem;
  --bs-table-striped-bg: var(--ep-admin-page);
}

.ep-admin .ep-admin-directory-table tbody > tr:nth-child(even) > * {
  background-color: var(--ep-admin-page);
}

.ep-admin .ep-admin-directory-table tbody > tr > * {
  padding-block: var(--ep-admin-space-3);
}

.ep-admin .ep-admin-directory-table tbody th {
  font-weight: 600;
}

/* Preserve the history's semantic transaction colors above directory striping. */
.ep-admin.ep-admin-points-history .ep-points-history-table tbody > tr.table-success > * {
  background-color: var(--bs-success-bg-subtle);
}

.ep-admin.ep-admin-points-history .ep-points-history-table tbody > tr.table-danger > * {
  background-color: var(--bs-danger-bg-subtle);
}

.ep-admin.ep-admin-points-history .ep-points-history-table tbody > tr.table-primary > * {
  background-color: var(--bs-primary-bg-subtle);
}

.ep-admin.ep-admin-points-history .ep-points-history-table tbody > tr.table-secondary > * {
  background-color: var(--bs-secondary-bg-subtle);
}

.ep-admin-points-history .ep-points-history-table .text-muted {
  color: var(--bs-secondary-text-emphasis) !important;
}

.ep-admin .ep-admin-dialog .modal-header,
.ep-admin .ep-admin-dialog .modal-body,
.ep-admin .ep-admin-dialog .modal-footer {
  padding: var(--ep-admin-space-4);
  border: 0;
}

.ep-admin .ep-admin-dialog .modal-body {
  padding-block: 0;
}

.ep-admin .ep-admin-dialog .form-label {
  margin-top: var(--ep-admin-space-2);
}

.ep-admin .ep-admin-dialog .btn-close {
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  margin-inline-start: auto;
}

.ep-admin .ep-admin-dialog .btn-close:focus-visible {
  outline: 2px solid var(--ep-admin-brand);
  outline-offset: 3px;
}

.ep-admin .ep-admin-dialog .modal-footer {
  gap: var(--ep-admin-space-2);
}

.ep-admin .modal-content {
  border-radius: var(--ep-admin-radius-card);
}

.ep-admin .modal-header .ep-admin-section-title {
  margin: 0;
}

@media (max-width: 575.98px) {
  .ep-admin-page,
  .ep-admin .ep-admin-panel {
    padding: var(--ep-admin-space-3);
  }

  .ep-admin .ep-admin-filter-actions {
    justify-content: flex-start;
  }

  .ep-admin .ep-admin-export-actions {
    padding-inline-start: 0;
    border-inline-start: 0;
  }
}

/* Independent documentation surfaces reuse only the opt-in admin UI foundation. */
.ep-docs-book {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: none;
}

.ep-docs-book img { position: absolute; top: 1.75px; }
.ep-docs-book-left { left: 2.75px; }
.ep-docs-book-right { left: 9.5px; }

.ep-admin-title-row > .offcanvas-backdrop.show { opacity: var(--ep-docs-backdrop-opacity); }

.ep-admin.ep-docs-drawer {
  --bs-offcanvas-width: var(--ep-docs-drawer-width);
  max-width: 100vw;
  font-size: .875rem;
}

.ep-docs-drawer .offcanvas-header {
  padding: var(--ep-admin-space-4);
  gap: var(--ep-admin-space-2);
}

.ep-docs-drawer .offcanvas-header .ep-admin-section-title { margin: 0; }
.ep-docs-drawer .btn-close { min-width: 24px; min-height: 24px; }

.ep-docs-drawer .ep-docs-drawer-body {
  display: flex;
  flex-direction: column;
  gap: var(--ep-admin-space-3);
  padding: 0 var(--ep-admin-space-4) var(--ep-admin-space-4);
}

.ep-docs-drawer p { margin: 0; }
.ep-admin .ep-docs-muted { color: var(--ep-admin-muted); font-size: .875rem; }
.ep-admin .ep-docs-eyebrow {
  font-size: .875rem;
  font-weight: 600;
  color: var(--ep-admin-muted);
  margin: 0 0 var(--ep-admin-space-3);
}

.ep-admin .ep-docs-tasks {
  display: flex;
  flex-direction: column;
  gap: var(--ep-admin-space-3);
}
.ep-admin .ep-docs-tasks .ep-docs-eyebrow { margin: 0; }

.ep-admin .ep-docs-task {
  display: flex;
  align-items: center;
  gap: var(--ep-admin-space-2);
  padding: var(--ep-admin-space-2) var(--ep-admin-space-3);
  min-height: 56px;
  border: 1px solid var(--ep-admin-border);
  border-radius: var(--ep-admin-radius-control);
  color: var(--ep-admin-text);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
}
.ep-admin .ep-docs-task span:nth-child(2) { flex: 1; }
.ep-admin .ep-docs-task span:last-child { color: var(--ep-admin-brand); }
.ep-admin .ep-docs-task:hover { background: var(--ep-admin-page); }

.ep-admin .ep-docs-callout {
  background: var(--ep-admin-page);
  padding: var(--ep-admin-space-3);
  border-radius: var(--ep-admin-radius-control);
}
.ep-admin .ep-docs-callout h3 {
  font-size: .875rem;
  color: var(--ep-admin-brand);
  font-weight: 600;
  margin: 0 0 var(--ep-admin-space-3);
}
.ep-admin .ep-docs-callout p { margin: 0; }
.ep-admin .ep-docs-full-link { margin-top: auto; flex-shrink: 0; }

.ep-admin .ep-docs-text-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ep-admin-space-2);
  padding: var(--ep-admin-space-2);
  min-height: var(--ep-admin-icon-target);
  color: var(--ep-admin-brand);
  text-decoration: none;
  font-size: .875rem;
}
.ep-admin .ep-docs-text-link:hover { text-decoration: underline; }

.ep-admin.ep-docs-page { background: var(--ep-admin-surface); }
.ep-admin .ep-docs-columns { display: grid; gap: var(--ep-admin-space-4); }
.ep-admin .ep-docs-columns > * { min-width: 0; }

.ep-admin .ep-docs-navigation {
  display: flex;
  flex-direction: column;
  gap: var(--ep-admin-space-3);
  padding: var(--ep-admin-space-3);
}
.ep-admin .ep-docs-navigation p,
.ep-admin .ep-docs-navigation h2 { margin: 0; }
.ep-admin .ep-docs-navigation > a:not(.btn) {
  color: var(--ep-admin-text);
  font-size: .875rem;
  text-decoration: none;
}
.ep-admin .ep-docs-navigation > a:hover { text-decoration: underline; }

.ep-admin .ep-docs-article { font-size: .875rem; padding: var(--ep-admin-space-3); }
.ep-admin .ep-docs-article h3 { font-size: 1rem; font-weight: 600; scroll-margin-top: var(--ep-admin-space-4); }
.ep-admin .ep-docs-article section { margin-bottom: var(--ep-admin-space-4); }
.ep-admin .ep-docs-article p { line-height: 1.5; }
.ep-admin .ep-docs-article .ep-docs-callout { color: var(--ep-admin-brand); font-weight: 600; }
.ep-admin .ep-docs-rail nav { margin-top: var(--ep-admin-space-3); }

.ep-admin :is(.ep-docs-task, .ep-docs-text-link, .ep-docs-navigation a, .ep-docs-article h3, .ep-docs-drawer .btn-close):focus-visible {
  outline: 2px solid var(--ep-admin-brand);
  outline-offset: 3px;
}

@media (min-width: 992px) {
  .ep-admin .ep-docs-columns { grid-template-columns: var(--ep-docs-navigation-width) minmax(0, 1fr); }
  .ep-admin .ep-docs-rail { grid-column: 2; }
}

@media (min-width: 1200px) {
  .ep-admin .ep-docs-columns { grid-template-columns: var(--ep-docs-navigation-width) minmax(0, 1fr) var(--ep-docs-navigation-width); }
  .ep-admin .ep-docs-rail { grid-column: auto; }
}

/* Prescription diagnostics are scoped to the admin visual system. */
.ep-admin .ep-admin-back-link { display: inline-block; margin-bottom: var(--ep-admin-space-2); color: var(--ep-admin-brand); font-weight: 600; text-decoration: none; }
.ep-admin .ep-admin-diagnostics-summary,
.ep-admin .ep-admin-diagnostics-run { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: var(--ep-admin-space-3); padding: var(--ep-admin-space-4); overflow: hidden; border: 1px solid var(--ep-admin-border); border-radius: var(--ep-admin-radius-card); background: var(--ep-admin-surface); }
.ep-admin .ep-admin-diagnostics-rail { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ep-admin-muted); }
.ep-admin .ep-admin-diagnostics-symbol { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-size: 1.25rem; font-weight: 600; background: var(--ep-admin-page); }
.ep-admin .ep-admin-diagnostics-copy h2,
.ep-admin .ep-admin-diagnostics-run h2 { margin: 0; font-size: 1.125rem; font-weight: 600; }
.ep-admin .ep-admin-diagnostics-copy p,
.ep-admin .ep-admin-diagnostics-run > p { margin: var(--ep-admin-space-1) 0 0; color: var(--ep-admin-muted); font-size: .875rem; }
.ep-admin .ep-admin-diagnostics-metrics { display: flex; flex-wrap: wrap; gap: var(--ep-admin-space-2); margin-top: var(--ep-admin-space-3); }
.ep-admin .ep-admin-diagnostics-metrics span { padding: .45rem .75rem; border-radius: 999px; background: var(--ep-admin-page); font-size: .8125rem; font-weight: 600; }
.ep-admin .ep-admin-diagnostics-actions { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: var(--ep-admin-space-3); }
.ep-admin .ep-admin-diagnostics-actions small { color: var(--ep-admin-muted); }
.ep-admin .ep-admin-diagnostics-error .ep-admin-diagnostics-rail,
.ep-admin .ep-admin-diagnostics-failed .ep-admin-diagnostics-rail { background: var(--ep-admin-status-danger); }
.ep-admin .ep-admin-diagnostics-error .ep-admin-diagnostics-symbol,
.ep-admin .ep-admin-diagnostics-failed .ep-admin-diagnostics-symbol,
.ep-admin .ep-admin-diagnostics-run-metrics span:not(.is-warning) { color: var(--ep-admin-status-danger-text); background: var(--ep-admin-status-danger-bg); }
.ep-admin .ep-admin-diagnostics-warning .ep-admin-diagnostics-rail,
.ep-admin .ep-admin-diagnostics-stale .ep-admin-diagnostics-rail { background: var(--ep-admin-status-warning); }
.ep-admin .ep-admin-diagnostics-warning .ep-admin-diagnostics-symbol,
.ep-admin .ep-admin-diagnostics-stale .ep-admin-diagnostics-symbol,
.ep-admin .ep-admin-diagnostics-run-metrics .is-warning { color: var(--ep-admin-status-warning-text); background: var(--ep-admin-status-warning-bg); }
.ep-admin .ep-admin-diagnostics-success .ep-admin-diagnostics-rail { background: var(--ep-admin-status-success); }
.ep-admin .ep-admin-diagnostics-success .ep-admin-diagnostics-symbol { color: var(--ep-admin-status-success-text); background: var(--ep-admin-status-success-bg); }
.ep-admin .ep-admin-diagnostics-running .ep-admin-diagnostics-rail { background: var(--ep-admin-brand); }
.ep-admin .ep-admin-diagnostics-running .ep-admin-diagnostics-symbol { color: var(--ep-admin-brand); background: var(--ep-admin-status-info-bg); }
.ep-admin .ep-admin-diagnostics-failure { color: var(--ep-admin-status-danger-text); font-weight: 600; }
.ep-admin .ep-admin-diagnostics-run { display: block; padding-left: calc(var(--ep-admin-space-4) + 4px); }
.ep-admin .ep-admin-diagnostics-run-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ep-admin-space-3); margin-top: var(--ep-admin-space-4); }
.ep-admin .ep-admin-diagnostics-run-metrics span { display: flex; flex-direction: column; padding: .75rem; border-radius: var(--ep-admin-radius-control); }
.ep-admin .ep-admin-diagnostics-run-metrics strong { font-size: 1.25rem; }
.ep-admin .ep-admin-diagnostics-grid { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(280px, 1fr); gap: var(--ep-admin-space-4); align-items: start; }
.ep-admin .ep-admin-diagnostics-results h2,
.ep-admin .ep-admin-diagnostics-history h2,
.ep-admin .ep-admin-diagnostics-sukl h2 { margin: 0; font-size: 1.25rem; }
.ep-admin .ep-admin-diagnostics-results > p,
.ep-admin .ep-admin-diagnostics-history > p,
.ep-admin .ep-admin-diagnostics-sukl > p { margin: var(--ep-admin-space-1) 0 var(--ep-admin-space-3); font-size: .875rem; }
.ep-admin .ep-admin-diagnostics-checks,
.ep-admin .ep-admin-diagnostics-history-list { display: flex; flex-direction: column; gap: var(--ep-admin-space-2); }
.ep-admin .ep-admin-diagnostics-check,
.ep-admin .ep-admin-diagnostics-history-item { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; align-items: center; gap: .75rem; min-height: 58px; padding: .625rem .875rem; border: 1px solid var(--ep-admin-border); border-radius: var(--ep-admin-radius-control); color: var(--ep-admin-text); text-decoration: none; }
.ep-admin .ep-admin-diagnostics-check.is-selected { background: var(--ep-admin-selected-bg); }
.ep-admin .ep-admin-diagnostics-check span:nth-child(2),
.ep-admin .ep-admin-diagnostics-history-item span:nth-child(2) { display: flex; flex-direction: column; }
.ep-admin .ep-admin-diagnostics-check small,
.ep-admin .ep-admin-diagnostics-history-item small { color: var(--ep-admin-muted); }
.ep-admin .ep-admin-diagnostics-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ep-admin-muted); }
.ep-admin .ep-admin-diagnostics-dot.is-error,
.ep-admin .ep-admin-diagnostics-dot.is-failed { background: var(--ep-admin-status-danger); }
.ep-admin .ep-admin-diagnostics-dot.is-warning { background: var(--ep-admin-status-warning); }
.ep-admin .ep-admin-diagnostics-dot.is-success { background: var(--ep-admin-status-success); }
.ep-admin .ep-admin-diagnostics-findings { margin-top: var(--ep-admin-space-4); }
.ep-admin .ep-admin-diagnostics-findings h2 { margin: 0; font-size: 1.25rem; }
.ep-admin .ep-admin-diagnostics-findings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ep-admin-space-3); margin-bottom: var(--ep-admin-space-3); }
.ep-admin .ep-admin-diagnostics-findings-header p { margin: var(--ep-admin-space-1) 0 0; font-size: .875rem; }
.ep-admin .ep-admin-diagnostics-findings-table { min-width: 48rem; }
.ep-admin .ep-admin-diagnostics-pager { display: flex; justify-content: space-between; align-items: center; color: var(--ep-admin-muted); font-size: .8125rem; }
.ep-admin .ep-admin-diagnostics-pager nav { display: flex; gap: var(--ep-admin-space-1); }
.ep-admin .ep-admin-diagnostics-pager a { padding: .25rem .5rem; color: var(--ep-admin-brand); text-decoration: none; }
.ep-admin .ep-admin-diagnostics-pager a.is-active { color: var(--ep-admin-on-brand); background: var(--ep-admin-brand); border-radius: var(--ep-admin-radius-control); }
.ep-admin .ep-admin-diagnostics-history-item { grid-template-columns: 10px minmax(0, 1fr) auto; min-height: 96px; }
.ep-admin .ep-admin-diagnostics-history-item.is-selected { border: 2px solid var(--ep-admin-brand); background: var(--ep-admin-selected-brand-bg); }
.ep-admin .ep-admin-diagnostics-history-item em { margin-top: var(--ep-admin-space-2); color: var(--ep-admin-brand); font-size: .8125rem; font-style: normal; font-weight: 600; }
.ep-admin .ep-admin-diagnostics-retention { margin: var(--ep-admin-space-4) 0 0; color: var(--ep-admin-muted); font-size: .75rem; }
.ep-admin .ep-admin-diagnostics-sukl > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ep-admin-space-3); }
.ep-admin .ep-admin-diagnostics-sukl span { display: flex; flex-direction: column; padding: .75rem; border-radius: var(--ep-admin-radius-control); background: var(--ep-admin-page); }
.ep-admin .ep-admin-diagnostics-sukl strong { color: var(--ep-admin-brand); font-size: 1.125rem; }
.ep-admin .ep-admin-diagnostics-sukl small { color: var(--ep-admin-muted); }

@media (max-width: 991.98px) {
  .ep-admin .ep-admin-diagnostics-summary { grid-template-columns: 44px minmax(0, 1fr); }
  .ep-admin .ep-admin-diagnostics-actions { grid-column: 1 / -1; align-items: stretch; }
  .ep-admin .ep-admin-diagnostics-actions small { display: none; }
  .ep-admin .ep-admin-diagnostics-grid { grid-template-columns: 1fr; }
  .ep-admin .ep-admin-diagnostics-run-metrics,
  .ep-admin .ep-admin-diagnostics-sukl > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .ep-admin .ep-admin-diagnostics-summary { grid-template-columns: 1fr; }
  .ep-admin .ep-admin-diagnostics-symbol { display: none; }
  .ep-admin .ep-admin-diagnostics-run-metrics,
  .ep-admin .ep-admin-diagnostics-sukl > div { grid-template-columns: 1fr; }
  .ep-admin .ep-admin-diagnostics-check-count { display: none; }
  .ep-admin .ep-admin-diagnostics-findings-header { align-items: stretch; flex-direction: column; }
}

/* Scoped directory presentation; saved row metadata is filtered without editing forms. */
.ep-directory-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--ep-admin-space-3); }
/* Detail pages compose the same panels and tables without directory filtering. */
.ep-admin-detail .ep-admin-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ep-admin-space-3); align-items: start; }
.ep-admin-detail .ep-admin-detail-identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ep-admin-space-3); }
.ep-admin-detail .ep-admin-detail-identity dt { color: var(--ep-admin-muted); font-size: .875rem; font-weight: 600; margin-bottom: var(--ep-admin-space-2); }
.ep-admin-detail .ep-admin-detail-identity dd { overflow-wrap: anywhere; }
.ep-admin-detail .ep-admin-detail-card { margin: 0; min-width: 0; }
.ep-admin-detail .ep-admin-directory-table thead th { border-radius: 0; }
.ep-admin-detail .ep-admin-directory-table tbody > tr > * { border-bottom: 0; box-shadow: none; }
.ep-admin-detail .ep-admin-transactions-table { min-width: 68rem; }
.ep-admin-detail .ep-admin-transactions-table > :not(caption) > * > * { padding-inline: var(--ep-admin-space-2); }
.ep-admin-detail .form-check-input:checked { background-color: var(--ep-admin-brand); border-color: var(--ep-admin-brand); }
.ep-admin-detail .form-check-input { border-color: var(--ep-admin-control-border); }
.ep-admin-detail .form-check-input:focus-visible { outline: 2px solid var(--ep-admin-brand); outline-offset: 3px; }
.ep-admin-detail .ep-admin-detail-section > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--ep-admin-space-3); list-style: none; cursor: pointer; min-height: 44px; }
.ep-admin-detail .ep-admin-detail-section > summary::-webkit-details-marker { display: none; }
.ep-admin-detail .ep-admin-detail-section > summary .ep-admin-section-title { margin: 0; }
.ep-admin-detail .ep-admin-detail-section[open] > summary { margin-bottom: var(--ep-admin-space-3); }
.ep-admin-detail .ep-admin-detail-section[open] > summary .app-icon { transform: rotate(180deg); }
.ep-admin-detail .ep-admin-detail-section > summary:focus-visible { outline: 2px solid var(--ep-admin-brand); outline-offset: 3px; border-radius: var(--ep-admin-radius-control); }
.ep-admin-detail .form-switch { min-height: 44px; padding-left: 3.5rem; display: flex; align-items: center; gap: var(--ep-admin-space-2); }
.ep-admin-detail .form-switch .form-check-input { flex-shrink: 0; width: 2.5rem; height: 1.5rem; margin-left: -3.5rem; margin-top: 0; }
.ep-admin-campaign-detail .ep-admin-dialog .form-control[type="number"] { min-width: 7rem; }
.ep-admin-campaign-detail .ep-admin-dialog .ep-admin-table { min-width: 42rem; }
.ep-admin-campaign-detail .ep-admin-dialog .modal-body { padding-bottom: var(--ep-admin-space-4); }
.ep-admin-campaign-detail .ep-admin-dialog .modal-footer { justify-content: flex-start; }
.ep-admin-campaign-detail .ep-admin-dialog .modal-content > form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
@media (min-width: 768px) {
  .ep-admin-detail .ep-admin-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ep-admin-detail .ep-admin-detail-identity { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ep-admin-directory [hidden] { display: none !important; }
.ep-admin.ep-admin-directory .ep-admin-directory-table > tbody > tr > * { background: var(--ep-admin-surface); box-shadow: none; border-bottom: 0; padding-block: .75rem; }
.ep-admin.ep-admin-directory .ep-admin-directory-table > tbody > tr.ep-directory-alternate > * { background: var(--ep-admin-page); }
.ep-admin-directory .ep-admin-directory-table :is(input:not([type="checkbox"]), select) { min-width: 7rem; }
.ep-admin-directory .ep-admin-directory-table td:last-child { white-space: nowrap; }
.ep-admin-directory .ep-admin-directory-table thead th { border-radius: 0; }

.ep-admin-directory .ep-directory-sync-progress { height: .5rem; background: var(--ep-admin-page); }
.ep-admin-directory .ep-directory-sync-progress .progress-bar { background: var(--ep-admin-brand); }
.ep-admin-directory .ep-directory-user-dialog { --bs-modal-width: 620px; }

.ep-admin-directory .ep-campaign-groups > tbody.ep-directory-alternate > tr:first-child > * { background: var(--ep-admin-page); }
.ep-admin-directory .ep-campaign-groups > tbody > .ep-campaign-details > td { padding: 0; white-space: normal; }
.ep-admin-directory .ep-campaign-groups > tbody > tr > th { width: 40%; }
.ep-admin-directory .ep-campaign-groups > tbody > tr > td:last-child { width: 224px; }
.ep-admin-directory .ep-campaign-nested { min-width: 0; }
.ep-admin-directory .ep-campaign-nested tbody > tr:nth-child(even) > * { background: var(--ep-admin-page); }

.ep-admin-directory .ep-campaign-groups .app-actions { flex-wrap: nowrap; }

/* Shared site navigation adopts admin tokens without restyling other page content. */
.ep-site-header { font-family: var(--ep-admin-font); background: var(--ep-admin-surface); border-bottom: 1px solid var(--ep-admin-border); margin-bottom: var(--ep-admin-space-3); }
.ep-site-header .navbar { min-height: 72px; padding-block: var(--ep-admin-space-2); }
.ep-site-header .navbar-brand { margin-inline-end: var(--ep-admin-space-4); }
.ep-site-header .navbar-brand img { display: block; width: 145.45px; height: 25px; object-fit: contain; }
.ep-site-header .nav-link { display: flex; align-items: center; min-height: 44px; padding: .5rem; color: var(--ep-admin-muted); font-size: .875rem; border-radius: var(--ep-admin-radius-control); }
.ep-site-header .nav-link:is(:hover, :focus-visible, .active) { color: var(--ep-admin-brand); }
.ep-site-header .nav-link.active { font-weight: 600; }
.ep-site-header .ep-site-logout { color: var(--ep-admin-brand); font-weight: 600; white-space: nowrap; }
.ep-site-header :is(a, button):focus-visible { outline: 2px solid var(--ep-admin-brand); outline-offset: 2px; box-shadow: none; }
.ep-site-header .navbar-toggler { min-width: 44px; min-height: 44px; border-color: var(--ep-admin-control-border); }
.ep-site-header .ep-site-account { gap: var(--ep-admin-space-2); flex-shrink: 0; }
.ep-site-header .ep-site-account-name { min-width: 0; }
.ep-site-header .ep-site-account-name .nav-link { display: block; align-content: center; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1399.98px) {
  .ep-site-header .navbar-collapse { padding-top: var(--ep-admin-space-3); }
  .ep-site-header .ep-site-account { margin-top: var(--ep-admin-space-2); padding-top: var(--ep-admin-space-2); border-top: 1px solid var(--ep-admin-border); }
}

/* Prescription detail keeps its operational forms while sharing the admin composition. */
.ep-admin-prescription-detail .ep-admin-prescription-detail-body { display: flex; flex-direction: column; gap: var(--ep-admin-space-4); min-width: 0; }
.ep-admin-prescription-detail .ep-admin-prescription-overview-heading { justify-content: space-between; align-items: flex-start; margin-bottom: 0; }
.ep-admin-prescription-detail .ep-admin-prescription-overview-heading .ep-admin-section-title { margin-bottom: var(--ep-admin-space-2); }
.ep-admin-prescription-detail .ep-admin-prescription-dispatch-heading { justify-content: space-between; align-items: center; }
.ep-admin-prescription-detail .detail-label { color: var(--ep-admin-muted); font-size: .875rem; font-weight: 600; }
.ep-admin-prescription-detail .detail-value { color: var(--ep-admin-text); overflow-wrap: anywhere; }
.ep-admin-prescription-detail .ep-admin-prescription-fields > :is(dt, dd) { padding-block: var(--ep-admin-space-2); margin-bottom: 0; }
.ep-admin-prescription-detail :is(.product-form, .product-actions, .status-form) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ep-admin-space-2); }
.ep-admin-prescription-detail .ep-admin-prescription-status-select { width: min(100%, 16.25rem); }
.ep-admin-prescription-detail .ep-admin-prescription-quantity { width: 7rem; }
.ep-admin-prescription-detail .ep-admin-prescription-product-select { width: min(100%, 22.5rem); }
.ep-admin-prescription-detail .ep-admin-prescription-mapping-select { width: min(100%, 22.5rem); }
.ep-admin-prescription-detail .ep-admin-subsection-title { margin: var(--ep-admin-space-4) 0 var(--ep-admin-space-3); font-size: 1rem; font-weight: 600; }
.ep-admin-prescription-detail .ep-admin-prescription-products-table { min-width: 42rem; }
.ep-admin-prescription-detail .ep-admin-sukl-products-table { min-width: 48rem; }
.ep-admin-prescription-detail .ep-admin-sukl-payloads-table { min-width: 68rem; }
.ep-admin-prescription-detail .tnz-dispatch-table { min-width: 88rem; }
.ep-admin-prescription-detail .tnz-dispatch-table :is(th, td) { vertical-align: middle; }
.ep-admin-prescription-detail .tnz-duplicate-row > * { background: var(--ep-admin-status-warning-bg); }
.ep-admin-prescription-detail :is(.tnz-duplicate-badge, .tnz-orphan-note) { display: inline-flex; margin-inline-start: var(--ep-admin-space-2); padding: var(--ep-admin-space-1) var(--ep-admin-space-2); border-radius: var(--ep-admin-radius-control); font-size: .75rem; font-weight: 700; }
.ep-admin-prescription-detail .tnz-duplicate-badge { color: var(--ep-admin-status-warning-text); background: var(--ep-admin-status-warning-bg); }
.ep-admin-prescription-detail .tnz-orphan-note { color: var(--ep-admin-brand); background: var(--ep-admin-status-info-bg); }
.ep-admin-prescription-detail .ep-admin-dialog .modal-content { border: 0; border-radius: var(--ep-admin-radius-card); }
.ep-admin-prescription-detail .ep-admin-dialog .modal-footer { justify-content: flex-start; }

/* Accrual correction reallocation mirrors the points screens without changing its workflow. */
.ep-admin-reallocation .ep-admin-page-header form,
.ep-admin-reallocation .ep-admin-reallocation-warning { margin: 0; }
.ep-admin-reallocation .ep-admin-reallocation-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ep-admin-space-3) var(--ep-admin-space-4); }
.ep-admin-reallocation .ep-admin-reallocation-summary > div { min-width: 0; }
.ep-admin-reallocation .ep-admin-reallocation-summary dt { margin-bottom: var(--ep-admin-space-1); color: var(--ep-admin-muted); font-size: .875rem; font-weight: 600; }
.ep-admin-reallocation .ep-admin-reallocation-summary dd { margin: 0; overflow-wrap: anywhere; }
.ep-admin-reallocation .ep-admin-reallocation-help { max-width: 62rem; margin: 0 0 var(--ep-admin-space-3); color: var(--ep-admin-muted); font-size: .875rem; }
.ep-admin-reallocation .ep-admin-reallocation-plan { min-width: 68rem; }
.ep-admin-reallocation .ep-admin-reallocation-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ep-admin-space-4); align-items: start; }
.ep-admin-reallocation .ep-admin-reallocation-related-table { min-width: 42rem; }
.ep-admin-reallocation .ep-admin-reallocation-sources-table { min-width: 70rem; }

@media (min-width: 768px) {
  .ep-admin-reallocation .ep-admin-reallocation-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1400px) {
  .ep-admin-reallocation .ep-admin-reallocation-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}
