@tailwind base;
@tailwind components;
@tailwind utilities;
/* PrimeReact Custom Theme using Ford Design System (@ui/fof-styles) */
/* Using CSS custom properties from @ui/fof-styles */
/* Fonts inherit from body element which is set by ford_light/lincoln_light theme */

/* DataTable Root Styles */
.p-datatable {
  overflow: hidden;
  width: 100%;
  font-family: var(--font-family-ford-body2-regular);
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border-radius: var(--radius-ford-radius-md, 8px);
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080);
}

/* Responsive DataTable */
@media (max-width: 1200px) {
  .p-datatable {
    overflow-x: auto;
  }
}

@media (max-width: 768px) {
  .p-datatable {
    border-radius: var(--radius-ford-radius-sm, 4px);
    font-size: 12px;
  }

  .p-datatable .p-datatable-table {
    min-width: 600px; /* Ensure table doesn't get too compressed */
  }
}

.search-input-wrapper {
  position: relative;
}

.search-input-wrapper .p-inputtext {
  padding-left: 2.5rem;
}

.search-input-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

/* DataTable table element */
.p-datatable .p-datatable-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* DataTable Header Area (above table) */
.p-datatable .p-datatable-header {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2);
  padding: var(--spacing-ford-space-xl, 24px);
  font-family: var(--font-family-ford-body2-medium);
}

/* Table header cells */
.p-datatable .p-datatable-thead > tr > th {
  text-align: left;
  vertical-align: middle;
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2);
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-lg, 16px);
  color: var(--semantic-ford-text-subtle, #666);
  font-family: var(--font-family-ford-body2-bold, "Ford F-1");
  font-size: var(--font-size-ford-body2-bold, 14px);
  font-style: normal;
  font-weight: var(--font-weight-ford-body2-bold, 700);
  line-height: var(--line-height-ford-body2-bold, 20px);
}

.p-datatable .p-datatable-thead > tr > th:not(:last-child),
.p-datatable .p-datatable-thead > tr > th.p-sortable-column:not(:last-child),
.p-datatable .p-datatable-thead > tr > th.p-sortable-column:hover:not(:last-child),
.p-datatable .p-datatable-thead > tr > th.p-sortable-column.p-highlight:not(:last-child),
.p-datatable .p-datatable-scrollable-header-box .p-datatable-thead > tr > th:not(:last-child),
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column:not(:last-child),
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column:hover:not(:last-child),
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column.p-highlight:not(:last-child) {
  box-shadow: inset calc(-1 * var(--ford-border-width-xs, 1px)) 0 0 var(--semantic-ford-stroke-subtle-dividers, #b2b2b2);
}

/* Responsive table headers */
@media (max-width: 768px) {
  .p-datatable .p-datatable-thead > tr > th {
    padding: var(--spacing-ford-space-xs, 4px) var(--spacing-ford-space-md, 12px);
    font-size: 12px;
    line-height: 16px;
  }
}

@media (max-width: 480px) {
  .p-datatable .p-datatable-thead > tr > th {
    padding: var(--spacing-ford-space-xs, 4px) var(--spacing-ford-space-sm, 8px);
    font-size: 11px;
    line-height: 14px;
  }
}

/* Header content wrapper */
.p-datatable .p-datatable-thead > tr > th > .p-column-header-content,
.p-datatable .p-column-header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  white-space: nowrap;
  width: 100%;
}

/* Selection column header - center align checkbox */
.p-datatable .p-datatable-thead > tr > th.p-selection-column .p-column-header-content {
  justify-content: center;
}

/* Column title */
.p-datatable .p-column-title {
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--semantic-ford-text-subtle, #666666);
}

/* Sortable column styles */
.p-datatable .p-sortable-column {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease;
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

/* .p-datatable .p-sortable-column:hover {
  background-color: var(--ford-opacity-hover-strong, #e8f2fd);
} */

.p-datatable .p-sortable-column.p-highlight {
  background-color: var(--semantic-fill-interactive-subtle, #d6e8fb); /*bad*/
}

/* Ensure sticky headers maintain background when scrolling */
.p-datatable .p-datatable-scrollable-header-box .p-datatable-thead > tr > th {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

.p-datatable .p-datatable-scrollable-header-box .p-sortable-column {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

.p-datatable .p-datatable-scrollable-header-box .p-sortable-column:hover {
  background-color: var(--semantic-fill-interactive-subtler, #e8f2fd); /*bad*/
}

.p-datatable .p-datatable-scrollable-header-box .p-sortable-column.p-highlight {
  background-color: var(--semantic-fill-interactive-subtle, #d6e8fb); /*bad*/
}

.p-datatable .p-datatable-thead > tr > th.p-sortable-column,
.p-datatable .p-datatable-thead > tr > th.p-sortable-column:hover,
.p-datatable .p-datatable-thead > tr > th.p-sortable-column.p-highlight,
.p-datatable .p-datatable-scrollable-header-box .p-datatable-thead > tr > th,
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column,
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column:hover,
.p-datatable .p-datatable-scrollable-header-box .p-sortable-column.p-highlight {
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2) !important;
}

/* Sort icon */
.p-datatable .p-sortable-column-icon {
  flex-shrink: 0;
  transition: color 0.2s ease;
  margin-left: var(--spacing-ford-space-xs, 4px);
  font-size: var(--font-size-ford-caption-regular, 12px);
  width: 16px;
  height: 16px;
  color: var(--semantic-ford-stroke-subtle-dividers, #808080);
}

.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
  color: var(--semantic-ford-fill-interactive, #0562d2);
}

/* Sort badge for multi-column sorting */
.p-datatable .p-sortable-column-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: var(--spacing-ford-space-xs, 4px);
  font-size: 10px;
  min-width: 20px;
  height: 20px;
  border-radius: var(--radius-ford-radius-full, 400px);
  background-color: var(--semantic-ford-fill-interactive, #0562d2);
  color: var(--semantic-text-on-fill, #ffffff); /*bad*/
  font-weight: var(--font-weight-ford-body1-semibold, 600);
}

.p-datatable .p-checkbox {
  width: 20px;
  height: 20px;
  display: inline-flex;
  position: relative;
  visibility: visible;
  opacity: 1;
}

.p-datatable .p-checkbox .p-checkbox-input {
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  border: none;
  background: none;
}

.p-datatable .p-checkbox-box {
  width: 20px;
  height: 20px;
  visibility: visible;
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-strong, #1a1a1a);
  border-radius: var(--radius-ford-radius-sm, 4px) !important;
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
}

.p-datatable .p-checkbox-box:hover {
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-width: var(--ford-border-width-sm, 2px); /*bad*/
}

.p-datatable .p-checkbox.p-highlight .p-checkbox-box,
.p-datatable .p-checkbox[data-p-highlight="true"] .p-checkbox-box,
.p-datatable .p-checkbox-box[data-p-highlight="true"] {
  background-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-width: var(--ford-border-width-xs, 1px); /*bad*/
}

.p-datatable .p-checkbox-box.p-focus {
  display: inline-block;
  font-weight: bold;
}

.p-datatable .p-checkbox:not(.p-highlight) .p-checkbox-icon,
.p-datatable .p-checkbox:not([data-p-highlight="true"]) .p-checkbox-icon,
.p-datatable .p-checkbox-box:not([data-p-highlight="true"]) .p-checkbox-icon {
  display: none;
}

/* Selection column styling */
.p-datatable .p-selection-column {
  text-align: center;
  padding: 0;
}

.p-datatable .p-selection-column .p-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
}

.p-datatable .selection-disabled-row .p-selection-column .p-checkbox-box {
  background-color: var(--semantic-ford-fill-disabled, #e5e5e5ff);
  border-color: var(--semantic-ford-stroke-disabled, #808080ff);
}

.p-datatable .selection-disabled-row > td.p-selection-column {
  cursor: not-allowed !important;
}

.p-datatable .selection-disabled-row .p-selection-column .p-checkbox,
.p-datatable .selection-disabled-row .p-selection-column .p-checkbox-box,
.p-datatable .selection-disabled-row .p-selection-column .p-checkbox-input {
  cursor: not-allowed !important;
}

.p-datatable .selection-disabled-row .p-selection-column .p-checkbox-input {
  pointer-events: none;
}

/* Table body rows */
.p-datatable .p-datatable-tbody > tr {
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  transition: background-color 0.2s ease;
}

.p-datatable .p-datatable-tbody > tr:nth-child(even) {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

/* Table body cells */
.p-datatable .p-datatable-tbody > tr > td {
  padding: var(--spacing-ford-space-md, 12px) var(--spacing-ford-space-lg, 16px);
  color: var(--semantic-ford-text-moderate-default, #333);
  font-family: var(--font-family-ford-body2-regular, "Ford F-1");
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-style: normal;
  font-weight: var(--font-weight-ford-body2-regular, 400);
  line-height: var(--line-height-ford-body2-regular, 20px);
}

/* Responsive table body cells */
@media (max-width: 768px) {
  .p-datatable .p-datatable-tbody > tr > td {
    padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-md, 12px);
    font-size: 12px;
    line-height: 16px;
  }
}

@media (max-width: 480px) {
  .p-datatable .p-datatable-tbody > tr > td {
    padding: var(--spacing-ford-space-xs, 4px) var(--spacing-ford-space-sm, 8px);
    font-size: 11px;
    line-height: 14px;
  }
}


.p-datatable .p-checkbox.p-highlight .p-checkbox-box,
.p-datatable .p-checkbox[data-p-highlight="true"] .p-checkbox-box,
.p-datatable .p-checkbox-box[data-p-highlight="true"] {
  background-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-width: var(--ford-border-width-xs, 1px); /*bad*/
}

.p-datatable .p-checkbox-box.p-focus {
  outline: 2px solid var(--semantic-stroke-interactive, #0562d2);
  outline-offset: 2px;
}

.p-datatable .p-checkbox-icon {
  width: 10px;
  height: 10px;
  color: var(--semantic-text-on-brand, #ffffff);
  display: inline-block;
  font-weight: bold;
}

.p-datatable .p-checkbox:not(.p-highlight) .p-checkbox-icon,
.p-datatable .p-checkbox:not([data-p-highlight="true"]) .p-checkbox-icon,
.p-datatable .p-checkbox-box:not([data-p-highlight="true"]) .p-checkbox-icon {
  display: none;
}

/* Selection column styling */
.p-datatable .p-selection-column {
  text-align: center;
  padding: var(--space-2x, 8px);
}

.p-datatable .p-selection-column .p-checkbox {
  display: inline-flex;
}

/* Table body rows */
.p-datatable .p-datatable-tbody > tr {
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-stroke-subtle, #e0e0e0); /*bad*/
  transition: background-color 0.2s ease;
}

.p-datatable .p-datatable-tbody > tr:nth-child(even) {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

/* Table body cells */
.p-datatable .p-datatable-tbody > tr > td {
  font-size: 14px;
  color: var(--semantic-text-primary, #1a1a1a);
  font-family: var(--font-family-ford-body2-regular);
  line-height: 1.5;
  border-bottom: 1px solid var(--semantic-stroke-subtle, #e0e0e0);
  vertical-align: middle;
}

.p-datatable .p-datatable-tbody > tr.p-datatable-row-expansion,
.p-datatable .p-datatable-tbody > tr.p-datatable-row-expansion > td {
  padding: var(--spacing-ford-space-lg, 16px) var(--spacing-ford-space-lg, 16px) 0 var(--spacing-ford-space-lg, 16px);
  background-color: #ffffff;
}

.p-datatable .p-datatable-tbody > tr:has(+ tr.p-datatable-row-expansion) > td {
  border-bottom: none;
}

/* Gridlines (when showGridlines is enabled) */
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {
  border-right: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
}

.p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child,
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
  border-right: none;
}


/* Filter Row Styles */
.p-datatable .p-datatable-thead > tr.p-filter-row > th {
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-lg, 16px);
}

.p-datatable .p-datatable-thead > tr.p-filter-row > th .p-column-filter {
  width: 100%;
}

.p-datatable .p-column-filter-element {
  width: 100%;
}

.p-datatable .p-column-filter-element input {
  width: 100%;
  height: 2rem;
  padding: var(--spacing-ford-space-xs, 4px) var(--spacing-ford-space-sm, 8px);
  font-family: var(--font-family-ford-body2-regular);
  font-size: var(--font-size-ford-body2-regular, 14px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080); /*bad*/
  border-radius: var(----radius-ford-radius-sm, 4px);
  outline: none;
  transition: border-color 0.2s;
}

.p-datatable .p-column-filter-element input::placeholder {
  color: var(--semantic-ford-text-subtle, #666666);
  font-family: var(--font-family-ford-body2-regular);
}

.p-datatable .p-column-filter-element input:hover {
  border-color: var(--semantic-ford-stroke-strong, #1a1a1a);
}

.p-datatable .p-column-filter-element input:focus {
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  outline: 2px solid var(--semantic-ford-fill-interactive, #0562d2);
  outline-offset: 2px;
}

.p-filter-column {
  border-right: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
}

/* Checkbox Styles - Ford Design System (Generic outside DataTable) */
.p-checkbox {
  width: 20px;
  height: 20px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.p-checkbox-box {
  border: var(--ford-border-width-sm, 2px) solid var(--semantic-ford-stroke-moderate-default, #808080); /*bad*/
  background: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  width: 20px;
  height: 20px;
  visibility: hidden;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.p-checkbox-box:hover {
  border-color: var(--semantic-stroke-strong, #4a4a4a);
}

.p-checkbox-box.p-highlight {
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  background: var(--semantic-ford-fill-interactive, #0562d2);
}

.p-checkbox-box.p-highlight:hover {
  border-color: var(--semantic-fill-interactive-hover, #044ea8);
  background: var(--semantic-fill-interactive-hover, #044ea8);
}

.p-checkbox-box .p-checkbox-icon {
  color: var(--semantic-text-on-fill, #ffffff);
  font-size: var(--font-size-ford-caption-regular, 12px);
  width: 12px;
  height: 12px;
}

/* DataTable checkbox column alignment */
.p-datatable .p-datatable-thead > tr > th.p-selection-column,
.p-datatable .p-datatable-tbody > tr > td.p-selection-column {
  text-align: center;
  vertical-align: middle;
  padding: 0;
  min-width: 40px;
}

/* Paginator Styles - Ford Design System */
.p-paginator {
  color: var(--semantic-ford-text-moderate-default, #333333);
  padding: var(--spacing-ford-space-lg, 16px);
  border-top: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--spacing-ford-space-md, 12px);
  font-family: var(--font-family-ford-body2-regular);
  flex-wrap: wrap;
}

.p-paginator .p-paginator-pages {
  display: flex;
  align-items: center;
  gap: var(--spacing-ford-space-xs, 4px);
}

.p-paginator .p-paginator-pages .p-paginator-page {
  min-width: 36px;
  height: 36px;
  padding: 0 var(--spacing-ford-space-sm, 8px);
  border: var(--ford-border-width-xs, 1px) solid transparent; /*bad*/
  border-radius: var(----radius-ford-radius-sm, 4px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-weight: 500;
  transition: all 0.2s ease;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.p-paginator .p-paginator-pages .p-paginator-page:hover:not(.p-highlight) {
  background-color: var(--semantic-fill-interactive-subtler, #e8f2fd);
  border-color: var(--semantic-ford-stroke-subtle-dividers, #b2b2b2);
}

.p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
  background-color: var(--semantic-ford-fill-interactive, #0562d2);
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  color: var(--semantic-text-on-fill, #ffffff);
  font-weight: var(--font-weight-ford-body1-semibold, 600);
}

.p-paginator .p-paginator-prev,
.p-paginator .p-paginator-next,
.p-paginator .p-paginator-first,
.p-paginator .p-paginator-last {
  min-width: 36px;
  height: 36px;
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  border-radius: var(----radius-ford-radius-sm, 4px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  transition: all 0.2s ease;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.p-paginator .p-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.p-paginator .p-dropdown {
  height: 36px;
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080); /*bad*/
  border-radius: var(----radius-ford-radius-sm, 4px);
  background: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-family: var(--font-family-ford-body2-regular);
  padding: 0;
  transition: all 0.2s ease;
  width: auto;
  display: flex;
  align-items: center;
}

.p-paginator .p-dropdown:hover {
  border-color: var(--semantic-ford-stroke-strong, #1a1a1a);
}

.p-paginator .p-dropdown:focus,
.p-paginator .p-dropdown.p-focus {
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  outline: none;
}

/* Dropdown trigger */
.p-paginator .p-dropdown .p-dropdown-trigger {
  color: var(--semantic-ford-text-subtle, #666666);
  width: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-paginator .p-dropdown .p-dropdown-label {
  padding: 0 var(--spacing-ford-space-sm, 8px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-family: var(--font-family-ford-body2-regular);
  flex: 1;
  display: flex;
  align-items: center;
}

/* Dropdown Styles - Ford Design System */
.p-dropdown-panel {
  background: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  border-radius: var(--radius-ford-radius-md, 8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  margin-top: var(--spacing-ford-space-xs, 4px);
  overflow: hidden;
}

.p-dropdown-panel .p-dropdown-items-wrapper {
  max-height: 300px;
  overflow-y: auto;
}

.p-dropdown-panel .p-dropdown-items {
  padding: var(--spacing-ford-space-xs, 4px);
}

.p-dropdown-panel .p-dropdown-items .p-dropdown-item {
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-md, 12px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-family: var(--font-family-ford-body2-regular);
  font-size: var(--font-size-ford-body2-regular, 14px);
  transition: background-color 0.2s ease;
  cursor: pointer;
  border-radius: var(----radius-ford-radius-sm, 4px);
  margin: 2px 0;
}

/* Scrollbar for dropdown */
.p-dropdown-panel .p-dropdown-items-wrapper::-webkit-scrollbar {
  width: 6px;
}

.p-dropdown-panel .p-dropdown-items-wrapper::-webkit-scrollbar-track {
  background: var(--semantic-ford-fill-subtlest, #fafafa);
}

.p-dropdown-panel .p-dropdown-items-wrapper::-webkit-scrollbar-thumb {
  background: var(--semantic-ford-stroke-moderate-default, #808080);
  border-radius: var(----radius-ford-radius-sm, 4px);
}

.p-dropdown-panel .p-dropdown-items-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--semantic-ford-text-subtle, #666666);
}

/* MultiSelect Styles - Ford Design System (matching dropdown styling) */
.p-multiselect {
  height: 36px;
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080); /*bad*/
  border-radius: var(----radius-ford-radius-sm, 4px);
  background: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-family: var(--font-family-ford-body2-regular);
  padding: 0;
  transition: all 0.2s ease;
  width: auto;
  display: flex;
  align-items: center;
}

.p-multiselect:hover {
  border-color: var(--semantic-ford-stroke-strong, #1a1a1a);
}

.p-multiselect:focus,
.p-multiselect.p-focus {
  border-color: var(--semantic-ford-fill-interactive, #0562d2);
  outline: none;
}

/* MultiSelect trigger */
.p-multiselect .p-multiselect-trigger {
  color: var(--semantic-ford-text-subtle, #666666);
  width: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-multiselect .p-multiselect-label-container {
  padding: 0 var(--spacing-ford-space-sm, 8px);
  flex: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.p-multiselect .p-multiselect-label {
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-family: var(--font-family-ford-body2-regular);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-multiselect .p-multiselect-label.p-placeholder {
  color: var(--semantic-ford-text-subtle, #666666);
  font-style: normal;
}

/* When multiselect is empty (no selection) */
.p-multiselect .p-multiselect-label-container:empty::before {
  content: attr(data-placeholder);
  color: var(--semantic-ford-text-subtle, #666666);
}

/* MultiSelect panel */
.p-multiselect-panel {
  background: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  border-radius: var(--radius-ford-radius-md, 8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  margin-top: var(--spacing-ford-space-xs, 4px);
  overflow: hidden;
}

.p-multiselect-panel .p-multiselect-items-wrapper {
  max-height: 300px;
  overflow-y: auto;
}

.p-multiselect-panel .p-multiselect-items {
  padding: var(--spacing-ford-space-xs, 4px);
}

.p-multiselect-panel .p-multiselect-item {
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-md, 12px);
  color: var(--semantic-ford-text-moderate-default, #333333);
  font-family: var(--font-family-ford-body2-regular);
  font-size: var(--font-size-ford-body2-regular, 14px);
  transition: background-color 0.2s ease;
  cursor: pointer;
  border-radius: var(----radius-ford-radius-sm, 4px);
  margin: 2px 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-ford-space-sm, 8px);
}

.p-multiselect-panel .p-multiselect-item:hover {
  background-color: var(--semantic-fill-interactive-subtler, #e8f2fd);
}

.p-multiselect-panel .p-multiselect-item.p-highlight {
  background-color: var(--semantic-fill-interactive-subtle, #d6e8fb);
  color: var(--semantic-ford-text-moderate-default, #333333);
}

/* MultiSelect header (select all) */
.p-multiselect-panel .p-multiselect-header {
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-md, 12px);
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
  border-bottom: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-subtle-dividers, #b2b2b2); /*bad*/
  display: flex;
  align-items: center;
  gap: var(--spacing-ford-space-sm, 8px);
}

.p-multiselect-panel .p-multiselect-header .p-checkbox {
  margin-right: var(--spacing-ford-space-xs, 4px);
}

/* Scrollbar for multiselect */
.p-multiselect-panel .p-multiselect-items-wrapper::-webkit-scrollbar {
  width: 6px;
}

.p-multiselect-panel .p-multiselect-items-wrapper::-webkit-scrollbar-track {
  background: var(--semantic-ford-fill-subtlest, #fafafa);
}

.p-multiselect-panel .p-multiselect-items-wrapper::-webkit-scrollbar-thumb {
  background: var(--semantic-ford-stroke-moderate-default, #808080);
  border-radius: var(----radius-ford-radius-sm, 4px);
}

.p-multiselect-panel .p-multiselect-items-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--semantic-ford-text-subtle, #666666);
}

/* MultiSelect token (selected chips) */
.p-multiselect .p-multiselect-token {
  background-color: var(--semantic-fill-interactive-subtle, #d6e8fb);
  color: var(--semantic-ford-text-moderate-default, #333333);
  padding: var(--spacing-ford-space-xs, 4px) var(--spacing-ford-space-sm, 8px);
  margin: 2px;
  border-radius: var(----radius-ford-radius-sm, 4px);
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-ford-space-xs, 4px);
  font-size: var(--font-size-ford-caption-regular, 12px);
}

.p-multiselect .p-multiselect-token-icon {
  cursor: pointer;
  color: var(--semantic-ford-text-subtle, #666666);
  font-size: 10px;
}

.p-multiselect .p-multiselect-token-icon:hover {
  color: var(--semantic-ford-text-moderate-default, #333333);
}

/* Empty Message */
.p-datatable .p-datatable-emptymessage td {
  text-align: center;
  padding: var(--spacing-ford-space-2xl, 32px);
  color: var(--semantic-ford-text-subtle, #666666);
  font-size: var(--font-size-ford-body2-regular, 14px);
  font-family: var(--font-family-ford-body2-regular);
}

/* Loading Overlay */
.p-datatable .p-datatable-loading-overlay {
  background-color: rgba(255, 255, 255, 0.8);
}

.p-datatable .p-datatable-loading-icon {
  color: var(--semantic-ford-fill-interactive, #0562d2);
  font-size: var(--font-size-ford-headline3-large-regular, 32px);
}

/* Focus States - Ford Design System */
.p-datatable .p-datatable-thead > tr > th:focus-visible,
.p-datatable .p-datatable-tbody > tr > td:focus-visible,
.p-checkbox-box:focus-visible,
.p-paginator button:focus-visible,
.p-dropdown:focus-visible {
  outline: 2px solid var(--semantic-ford-fill-interactive, #0562d2);
  outline-offset: 2px;
}

/* Resizable columns - Ford Design System */
.p-datatable .p-column-resizer {
  width: var(--ford-border-width-xs, 1px); /*bad*/
  background-color: var(--semantic-ford-stroke-moderate-default, #808080);
  cursor: col-resize;
  opacity: 0.6;
  visibility: visible;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  transition: all 0.2s ease;
}

.p-datatable .p-datatable-thead > tr > th:last-child .p-column-resizer {
  display: none;
}

.p-datatable .p-column-resizer:hover {
  background-color: var(--semantic-ford-fill-interactive, #0562d2);
  width: 4px;
  opacity: 1;
  box-shadow: 0 0 4px rgba(5, 98, 210, 0.3);
}

/* Ensure resizable column headers have relative positioning */
.p-datatable .p-datatable-thead > tr > th.p-resizable-column {
  position: relative;
}

/* Reorderable columns */
.p-datatable .p-datatable-thead > tr > th.p-reorderable-column {
  cursor: move;
}

.p-datatable .p-datatable-thead > tr > th.p-reorderable-column.p-column-dragging {
  opacity: 0.5;
  background-color: var(--semantic-fill-interactive-subtle, #d6e8fb);
}

/* Scrollable table - Custom scrollbar styling */
.p-datatable .p-datatable-scrollable-body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.p-datatable .p-datatable-scrollable-body::-webkit-scrollbar-track {
  background: var(--semantic-ford-fill-subtlest, #fafafa);
}

.p-datatable .p-datatable-scrollable-body::-webkit-scrollbar-thumb {
  background: var(--semantic-ford-stroke-moderate-default, #808080);
  border-radius: var(----radius-ford-radius-sm, 4px);
}

.p-datatable .p-datatable-scrollable-body::-webkit-scrollbar-thumb:hover {
  background: var(--semantic-ford-text-subtle, #666666);
}

/* ============================= */
/* TreeTable Styles              */
/* ============================= */

/* TreeTable Root Styles */
.p-treetable {
  overflow: hidden;
  width: 100%;
}

/* Responsive TreeTable */
@media (max-width: 1200px) {
  .p-treetable {
    overflow-x: auto;
  }
}

@media (max-width: 768px) {
  .p-treetable {
    font-size: 12px;
  }

  .p-treetable .p-treetable-table {
    min-width: 700px; /* Ensure table doesn't get too compressed */
  }
}

/* TreeTable table element */
.p-treetable .p-treetable-table {
  font-family: var(--font-family-ford-body2-regular);
  font-size: var(--font-size-sm, 14px);
  font-weight: var(--caption-bold-font-weight, 400);
  line-height: var(--caption-bold-line-height, 20px);
  width: 100%;
  border-spacing: 0;
}

/* Table header cells */
.p-treetable .p-treetable-thead > tr > th {
  vertical-align: middle;
  text-align: center;
  height: 56px;
  background-color: var(--semantic-ford-fill-subtlest, #ffffff);
  border-radius: var(--radius-none, 0);
  padding: var(--space-sm, 8px) var(--space-lg, 16px);
}

/* Responsive TreeTable headers */
@media (max-width: 768px) {
  .p-treetable .p-treetable-thead > tr > th {
    height: 48px;
    padding: var(--space-xs, 4px) var(--space-md, 12px);
  }
}

@media (max-width: 480px) {
  .p-treetable .p-treetable-thead > tr > th {
    height: 40px;
    padding: var(--space-xs, 4px) var(--space-sm, 8px);
  }
}

/* Header content wrapper */
.p-treetable .p-treetable-thead > tr > th > .p-column-header-content {
  display: flex;
  align-items: center;
  font-family: var(--caption-bold-font-family, "Ford F-1");
  font-size: var(--caption-bold-font-size, 14px);
  font-weight: var(--caption-bold-font-weight, 700);
  line-height: var(--caption-bold-line-height, 20px);
  color: var(--color-text-onlight-subtle, #666);
  justify-content: center;
}

.p-treetable .p-treetable-thead > tr > th.vehicle-line-header {
  text-align: left;
  border-bottom: var(--border-width-xs, 2px) solid var(--color-stroke-onlight-strong, #1A1A1A);
}

.matrix-container .p-treetable .p-treetable-tbody > tr > td:nth-child(2) {
  text-align: left;
}

.allocation-summary .p-treetable .p-treetable-thead > tr > th:nth-child(n+2) > .p-column-header-content {
  justify-content: center;
}

.allocation-summary .p-treetable .p-treetable-tbody > tr > td:nth-child(1) {
  text-align: left;
}

.p-treetable .p-treetable-thead > tr > th:nth-child(n+3) > .p-column-header-content,
.p-treetable .p-treetable-tbody > tr > td:nth-child(n+3) {
  justify-content: center;
}


/* Alternating row colors */
.p-treetable .p-treetable-tbody > tr:nth-child(even) {
  background-color: var(--semantic-ford-fill-subtlest, #fafafa);
}

/* Hover state */
.p-treetable .p-treetable-tbody > tr:hover {
  background-color: var(--semantic-ford-fill-subtle, #f0f0f0);
}

/* Table body cells */
.p-treetable .p-treetable-tbody > tr > td {
  height: 56px;
  text-align: center;
  vertical-align: middle;
  padding: 16px;
  border-bottom: 0.25px solid var(--semantic-ford-border-subtle, #e5e5e5);
  color: var(--color-text-onlight-moderate-default, #333);
  font-family: var(--body-2-regular-font-family, "Ford F-1");
  font-size: var(--body-2-regular-font-size, 14px);
  font-style: normal;
  font-weight: var(--body-2-regular-font-weight, 400);
  line-height: var(--body-2-regular-line-height, 20px);
}

/* Responsive TreeTable body cells */
@media (max-width: 768px) {
  .p-treetable .p-treetable-tbody > tr > td {
    height: 48px;
    padding: 12px;
    font-size: 12px;
    line-height: 16px;
  }
}

@media (max-width: 480px) {
  .p-treetable .p-treetable-tbody > tr > td {
    height: 40px;
    padding: 8px;
    font-size: 11px;
    line-height: 14px;
  }
}

/* Loading overlay */
.p-treetable .p-treetable-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 3;
}

.p-treetable .p-treetable-loading-icon {
  color: var(--semantic-ford-fill-interactive, #0562d2);
  font-size: var(--font-size-ford-headline3-large-regular, 32px);
}

.p-treetable .p-treetable-thead > tr > th.expander-header {
  width: 0px !important;
  margin: 0 !important;
  border-bottom: var(--border-width-xs, 2px) solid var(--color-stroke-onlight-strong, #1A1A1A);
}

.p-treetable .p-treetable-tbody > tr > td.expander-cell {
  max-width: 89px;
  min-width: 89px;
}

.p-treetable .p-column-resizer {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  width: 0.5rem;
  height: 100%;
  padding: 0;
  cursor: col-resize;
  border: 1px solid transparent;
}

.p-treetable .p-column-resizer:hover {
  border-color: var(--semantic-ford-stroke-interactive-default, #0066cc);
}

.allocation-summary .p-treetable .p-treetable-toggler {
  padding: 0 16px;
}

.base-treetable-container .muted-text {
  color: #9ea1a7;
}

.column-header-wrapper {
  display: flex;
}

/* Section Headers */
.card-header {
  display: inline-flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
  padding: 0 4px;
}

.card-title {
  color: #000;
  font-family: var(--title-semibold-font-family, "Ford F-1");
  font-size: var(--title-semibold-font-size, 32px);
  font-style: normal;
  font-weight: var(--title-semibold-font-weight, 600);
  line-height: var(--title-semibold-line-height, 40px);
}

.allocation-modal-card {
  border-radius: var(--radius-lg, 12px);
  border: 1px solid var(--color-stroke-onlight-moderate-default, #808080);
  background: var(--color-fill-onlight-highcontrast-default, #FFF);
  min-width: 90%;
}

.matrix-container {
  background-color: #fff;
  padding: 48px;
  max-width: 100%;
  margin: 0 auto;
}

/* Responsive padding for matrix container */
@media (max-width: 1200px) {
  .matrix-container {
    padding: 32px;
    max-width: 100%;
  }
}

.matrix-header-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  flex-wrap: wrap;
  gap: 16px;
}

/* Responsive header layout */
@media (max-width: 768px) {
  .header-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .topbar-right {
    width: 100%;
    justify-content: flex-start;
  }
}

.matrix-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 12px;
}

.topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Responsive topbar layout */
@media (max-width: 768px) {
  .topbar-right {
    width: 100%;
    justify-content: flex-start;
    gap: 8px;
  }
}

@media (max-width: 480px) {
  .topbar-right {
    flex-wrap: wrap;
    gap: 6px;
  }
}

/* Allocation Summary Header Row */
.allocation-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.allocation-header-row h3 {
  font-weight: 700;
  margin: 0;
}

.scheduling-date-label {
  margin: 0 0 var(--space-md, 16px) 0;
  font-family: var(--typography-title-font-family, 'Ford F-1');
  color: var(--semantic-ford-text-moderate, #333333);
  font-size: var(--font-size-sm, 12px);
  line-height: var(--typography-title-line-height, 16px);
  font-weight: var(--typography-title-font-weight-semibold, 400);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.date-text {
  font-weight: 500;
  color: var(--semantic-ford-text-strong, #000);
}

.toggle-wrapper {
  display: flex;
  align-items: center;
}

.allocation-summary-table-section {
  display: flex;
  flex-direction: column;
}

.allocation-summary-header .card-title {
  display: inline-flex;
  color: #000;
  font-family: var(--title-semibold-font-family, "Ford F-1");
  font-size: var(--title-semibold-font-size, 24px);
  font-style: normal;
  font-weight: var(--title-semibold-font-weight, 600);
  line-height: var(--title-semibold-line-height, 32px);
}

.divider {
  height: 0;
  border-bottom: var(--border-width-xs, 1px)
  solid var(--semantic-ford-border-subtle, #B2B2B2);
  margin: var(--space-sm, 12px) 0 var(--space-md, 16px) 0;
}

.allocation-close-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin-left: auto;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  flex-shrink: 0;
}

.allocation-summary-table-section .p-treetable,
.allocation-summary-table-section .p-treetable > .p-treetable-wrapper {
  overflow: visible;
}

/* Sticky table headers */
.allocation-summary-table-section .p-treetable .p-treetable-thead > tr > th {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: var(--semantic-ford-fill-subtlest, #ffffff);
}

/* Allocation Summary Total Row */
.allocation-summary .p-treetable .p-treetable-tbody > tr.allocation-total-row,
.allocation-total-row {
  font-weight: 600 !important;
}


.allocation-summary .p-treetable .p-treetable-tbody > tr.allocation-total-row > td,
.allocation-total-row td {
  font-family: var(--title-semibold-font-family, "Ford F-1");
  font-size: var(--title-semibold-font-size, 14px);
  color: var(--semantic-ford-text-strong, #333) !important;
  line-height: var(--title-semibold-line-height, 20px);
}

/* Sticky total row — offset by header height to sit flush beneath it */
.allocation-summary-table-section .allocation-total-row td {
  position: sticky;
  top: 56px;
  z-index: 1;
}

@media (max-width: 768px) {
  .allocation-summary-table-section .allocation-total-row td {
    top: 48px;
  }
}

@media (max-width: 480px) {
  .allocation-summary-table-section .allocation-total-row td {
    top: 40px;
  }
}

/* Allocation Note */
.allocation-note {
  font-family: var(--title-semibold-font-family, "Ford F-1");
  font-size: var(--title-semibold-font-size, 12px);
  line-height: var(--title-semibold-line-height, 16px);
  color: var(--semantic-ford-text-subtle, #333);
  padding-top: 16px;
}


/* ============================= */
/* Order Type Dropdown (PrimeReact) */
/* ============================= */

.order-type-dropdown.p-dropdown {
  min-width: 180px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--semantic-ford-stroke-subtle, #b2b2b2);
  background: var(--semantic-ford-fill-highcontrast, #ffffff);
}

/* Responsive dropdown sizing */
@media (max-width: 768px) {
  .order-type-dropdown.p-dropdown {
    min-width: 160px;
    height: 36px;
  }
}

@media (max-width: 480px) {
  .order-type-dropdown.p-dropdown {
    min-width: 140px;
    width: 100%;
    max-width: 200px;
  }
}

.matrix-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

@media (max-width: 768px) {
  .table-container {
    margin: 0 -16px;
    padding: 0 16px;
  }
}

@media (max-width: 480px) {
  .table-container {
    margin: 0 -12px;
    padding: 0 12px;
  }
}

/* Optimized for resolutions 1440px to 1920px */
@media (min-width: 1440px) and (max-width: 1920px) {
  .matrix-container,
  .allocation-summary {
    padding: 16px;
    max-width: 100%;
  }

  .summary-cards {
    gap: 18px;
  }

  .summary-card {
    flex: 1 1 0;
  }

  .summary-card.card-unscheduled {
    flex: 0.175 1 0;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .matrix-container {
    border: 2px solid;
  }

  .summary-card {
    border-width: 3px;
  }
}

.order-type-dropdown.p-dropdown:not(.p-disabled):hover {
  border-color: var(--semantic-ford-stroke-moderate, #808080);
}

.order-type-dropdown.p-dropdown.p-focus {
  box-shadow: none;
  border-color: var(--semantic-ford-stroke-interactive-focus, #0066cc);
  outline-offset: 2px;
}

/* label text */
.order-type-dropdown .p-dropdown-label {
  padding: 0 12px;
  line-height: 32px;
  font-size: 13px;
  color: var(--semantic-ford-text-moderate-default, #333333);
}

/* caret/trigger area */
.order-type-dropdown .p-dropdown-trigger {
  width: 32px;
  border-left: 1px solid var(--semantic-ford-stroke-subtle, #b2b2b2);
  color: var(--semantic-ford-text-subtle, #666666);
}

/* dropdown panel */
.p-dropdown-panel {
  border-radius: 8px;
  border: 1px solid var(--semantic-ford-stroke-subtle, #b2b2b2);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  overflow: hidden;
}

.p-dropdown-items .p-dropdown-item {
  font-size: 13px;
  padding: 10px 12px;
}

.p-dropdown-items .p-dropdown-item.p-highlight {
  background: var(--semantic-ford-fill-informational-subtle, #e8f2fd);
  color: var(--semantic-ford-stroke-strong, #1a1a1a);
}

.link-btn {
  color: #0066cc;
  font-weight: 600;
  cursor: pointer;
}

.zero-count-btn {
  color: var(--semantic-ford-text-subtle, #B2B2B2);
}

/* Responsive button sizing */
@media (max-width: 768px) {
  .link-btn,
  .zero-count-btn {
    font-size: 12px;
    padding: 2px 4px;
  }
}

@media (max-width: 480px) {
  .link-btn,
  .zero-count-btn {
    font-size: 11px;
    padding: 1px 2px;
  }
}

/* Summary cards base layout - optimized for 1440px-1920px */
.summary-cards {
  display: flex;
  gap: 16px;
  margin: 24px 0;
  align-items: stretch;
  flex-wrap: nowrap;
  overflow-x: auto;
  width: 100%;
}

/* For screens below 1440px (fallback) */
@media (max-width: 1439px) {
  .summary-cards {
    flex-direction: column;
    gap: 16px;
    margin: 20px 0;
    overflow-x: visible;
  }

  .summary-cards-divider {
    display: none;
  }

  .summary-card {
    flex: none;
    width: 100%;
  }

  .summary-card.card-unscheduled {
    flex: none;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .summary-cards {
    margin: 16px 0;
    gap: 12px;
  }

  .summary-card {
    padding: 12px;
    height: 80px;
  }
}

.other-summary-cards {
  display: flex;
  gap: 16px;
  align-items: stretch;
  flex-wrap: nowrap;
  flex: 1;
}

.summary-card {
  border-radius: 16px;
  padding: 16px 16px;
  border: 2px solid var(--semantic-ford-stroke-subtle, #333A7C);
  height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  flex: 1 1 0;
}

.summary-card.card-unscheduled {
  max-height: 96px;
  border-color: #B16201;
  height: 96px;
  position: relative;
  flex: 0.175 1 0;
}

/* Responsive summary card sizing */
@media (max-width: 480px) {
  .summary-card {
    padding: 10px;
    height: 72px;
    border-radius: 12px;
  }
}

.card-value {
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
  margin-bottom: 2px;
}

.card-overline,
.card-caption {
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  color: var(--color-text-onlight-subtle, #666);
  align-self: stretch;
}

/* Responsive card content sizing */
@media (max-width: 768px) {
  .card-value {
    font-size: 18px;
    line-height: 22px;
  }

  .card-overline,
  .card-caption {
    font-size: 11px;
    line-height: 14px;
    align-self: stretch;
  }
}

@media (max-width: 480px) {
  .card-value {
    font-size: 16px;
    line-height: 20px;
  }

  .card-overline,
  .card-caption {
    font-size: 10px;
    line-height: 12px;
    align-self: stretch;
  }
}

/* Alternating row colors for the TreeTable */
.p-treetable .p-treetable-tbody > tr:nth-child(odd) {
  background-color: #ffffff;
}

.p-treetable .p-treetable-tbody > tr:nth-child(even) {
  background-color: #FAFAFA;
}


.p-treetable .col-unscheduled-header {
  color: #B16201;
  border-bottom: var(--border-width-xs, 2px) solid var(--color-stroke-onlight-strong, #1A1A1A);
}

.p-treetable .col-status-header {
  border-bottom: var(--border-width-xs, 2px) solid var(--color-stroke-onlight-strong, #1A1A1A);
}

.p-treetable .col-unscheduled-header .p-column-title {
  color: #B16201;
}

.summary-cards-divider {
  width: 1px;
  height: 64px;
  background-color: #B2B2B2;
  margin: 0 8px;
  align-self: center;
}

.footer-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: fit-content;
  height: fit-content;
  gap: var(--space-xs, 8px);
  flex: 0 0 auto;
  padding: 50px 0 0 0;
}

.ford-toggle-container {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm, 8px);
}

.ford-toggle {
  display: flex;
  padding: 2px 2px 2px 26px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 24px;
  background: var(--toggle-onlight-default, #066FEF);
}

.ford-toggle-label {
  color: var(--color-text-onlight-moderate-default, #333);
  font-family: var(--body-2-regular-font-family, "Ford F-1");
  font-size: var(--body-2-regular-font-size, 14px);
  font-style: normal;
  font-weight: var(--body-2-regular-font-weight, 400);
  line-height: var(--body-2-regular-line-height, 20px);
}

.p-cascadeselect {
  display: flex;
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080);
  border-radius: var(--radius-ford-radius-md, 8px);
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-lg, 16px);
  font-family: var(--font-family-ford-body1-regular, 'Ford F-1');
  font-style: normal;
  font-size: var(--font-size-ford-body1-regular, 16px);
  font-weight: var(--font-weight-ford-body1-regular, 400);
  color: var(--semantic-ford-text-subtle, #666666);
  min-width: 200px;
}

.p-cascadeselect .p-cascadeselect-trigger {
  height: 24px;
  width: 24px;
  color: var(--semantic-ford-icon-strong-default, #333333);
}

.p-cascadeselect-panel .p-cascadeselect-items {
  background-color: var(--semantic-ford-fill-highcontrast-default, #ffffff);
  border: var(--ford-border-width-xs, 1px) solid var(--semantic-ford-stroke-moderate-default, #808080);
  border-radius: var(--radius-ford-radius-md, 8px);
  max-height: 240px;
  font-family: var(--font-family-ford-body1-regular, 'Ford F-1');
  font-style: normal;
  font-size: var(--font-size-ford-body1-regular, 16px);
  font-weight: var(--font-weight-ford-body1-regular, 400);
  color: var(--semantic-ford-text-subtle, #666666);
  margin-top: var(--spacing-ford-space-sm, 8px);
  margin-right: var(--spacing-ford-space-sm, 8px);
}

.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-sublist {
  margin-left: var(--spacing-ford-space-sm, 8px);
}

.p-cascadeselect-item-content {
  padding: var(--spacing-ford-space-sm, 8px) var(--spacing-ford-space-lg, 16px);
}

.p-cascadeselect-item:hover {
  background-color: var(--semantic-ford-fill-informational-subtle, #F3F4F6);
}

.p-cascadeselect-item:hover:first-child{
  border-radius: var(--radius-ford-radius-md, 8px) var(--radius-ford-radius-md, 8px) 0 0;
}

.p-cascadeselect-item:hover:last-child {
  border-radius: 0 0 var(--radius-ford-radius-md, 8px) var(--radius-ford-radius-md, 8px);
}

.p-cascadeselect-item:hover {
  background-color: #F3F4F6 !important;
}

.status-table-footer {
  color: var(--color-text-onlight-moderate-default, #333);
  text-align: right;
  padding: 16px 32px 0 0;

  font-family: var(--body-2-regular-font-family, "Ford F-1");
  font-size: var(--body-2-regular-font-size, 14px);
  font-style: normal;
  font-weight: var(--body-2-regular-font-weight, 400);
  line-height: var(--body-2-regular-line-height, 20px);
}

/* --- SCREEN STYLES --- */
/* Hide the print portal entirely on the screen so the user doesn't see double */
.host-print-portal {
  display: none;
}

/* --- PRINT STYLES --- */
@media print {
  /* 1. Hide app shell only during host-orchestrated print sessions */
  body.host-print-active #root,
  body.host-print-active .backdrop,
  body.host-print-active .modal {
    display: none !important;
  }

  /* 2. Restore header/footer within the print portal */
  body.host-print-active .host-print-portal .host-print-header {
    display: flex !important;
  }

  body.host-print-active .host-print-portal .host-print-footer {
    display: block !important;
  }

  /* 3. Show the portal content and force it to fill the page */
  body.host-print-active .host-print-portal {
    display: block !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: white;
    color: black;
  }

  /* Page setup (Standard Letter or A4) */
  /* Default to portrait - can be overridden by inline styles */
  @page {
    size: letter portrait;
    /* 1. Setting margin to 0 removes browser headers, footers, and default margins */
    margin: 0;
    /*margin: 10mm 5mm 10mm 5mm; !* Margins for page headers/footers *!*/
  }

  body {
    /* 2. Apply padding here to act as your new, clean page margins */
    padding: 1.6cm;
    background-color: #fff;
  }

  /* 4. Style the printed document */
  body.host-print-active .host-print-document {
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }

  body.host-print-active .host-print-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #555;
    padding-top: 40px;
    padding-left: 1.6cm;
    padding-right: 1.6cm;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  body.host-print-active .host-print-header .document-meta {
    text-align: right;
  }

  body.host-print-active .host-print-body {
    flex-grow: 1;
    padding: 1cm;
  }

  /* Ensure page breaks don't slice table rows in half */
  body.host-print-active tr,
  body.host-print-active .printable-section {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Header row styling for print */
  body.host-print-active th {
    background-color: #f0f0f0 !important;
    -webkit-print-color-adjust: exact; /* Force browser to print background color */
    print-color-adjust: exact;
  }

  body.host-print-active img {
    -webkit-print-color-adjust: exact; /* Force browser to print background color */
    print-color-adjust: exact;
  }

  /* Fixed footer at the bottom of every printed page */
  body.host-print-active .host-print-footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    border-top: 1px solid #ccc;
    padding-top: 10px;
    font-size: 10px;
    text-align: center;
  }
}


/*# sourceMappingURL=main.8dd73bf8cb49796e0cd1.css.map*/