/* Load after page styles. Every dimension and color comes from global-tokens.css. */
.pb-ui-consistent .overview-view-filter[hidden],
.pb-ui-consistent #mobileOverviewScope:has(> .overview-view-filter[hidden]) {
  display: none;
}

.pb-ui-consistent .overview-ai-assistant .overview-search-submit {
  border: var(--pb-layout-zero);
  background: transparent;
  box-shadow: none;
}

/* Match Optimization's outlined controls, including externally referenced SVG paths. */
.pb-ui-consistent :is(.overview-toolbar, .shortage-command-bar, .charts-header,
  .optimization-page .charts-header, .tasks-controls-header, .contacts-toolbar,
  .messages-toolbar, .reports-controls-header, .utilities-toolbar,
  .inventory-table-caption, .tasks-timeline-frame-header, .contacts-list-header,
  .messages-list-header, .messages-detail-header, .reports-builder-header,
  .reports-preview-header, .opt-chart-card-header, .card-header) svg:not(.is-filled) {
  --pb-icon-stroke: var(--pb-control-icon-stroke);
  inline-size: var(--pb-control-icon-size);
  block-size: var(--pb-control-icon-size);
  stroke-width: var(--pb-control-icon-stroke) !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pb-ui-consistent :is(.overview-toolbar, .shortage-command-bar, .charts-header,
  .optimization-page .charts-header, .tasks-controls-header, .contacts-toolbar,
  .messages-toolbar, .reports-controls-header, .utilities-toolbar,
  .inventory-table-caption, .tasks-timeline-frame-header, .contacts-list-header,
  .messages-list-header, .messages-detail-header, .reports-builder-header,
  .reports-preview-header, .opt-chart-card-header, .card-header) svg:not(.is-filled)
  :is(path, circle, rect, line, polyline, polygon, ellipse, use):not([stroke="none"]) {
  stroke-width: var(--pb-control-icon-stroke) !important;
}

.pb-ui-consistent :is(
  .pb-button, .pb-icon-button, .shortage-view-toggle, .chart-icon-btn, .sub-icon-btn,
  .inventory-stack-btn, .inventory-filter-toggle, .tasks-view-toggle,
  .tasks-filter-toggle, .tasks-frame-today-btn, .tasks-frame-icon-btn,
  .tasks-row-report-btn, .contacts-category-btn, .contacts-primary-btn,
  .contacts-sort-icon-btn, .contacts-list-row-action, .messages-module-toggle,
  .messages-header-icon-btn, .messages-filter-tab, .messages-icon-btn,
  .messages-icon-action, .messages-primary-btn, .utilities-icon-btn, .editor-btn,
  .entry-scan-submit, .reports-small-button, .reports-type-button,
  .tutorials-add-button, .tutorials-sort-button, .tutorials-open-document,
  .overview-search-submit, .overview-alert-control
),
.pb-ui-consistent .overview-view-toggle > button {
  box-sizing: border-box;
  min-inline-size: var(--pb-layout-zero);
  min-block-size: var(--pb-control-height);
  block-size: auto;
  flex-shrink: var(--pb-layout-no-shrink);
  border-radius: var(--pb-control-radius);
  gap: var(--pb-control-gap);
  padding-block: var(--pb-space-1);
  font-family: var(--pb-font-sans);
  font-size: var(--pb-control-font-size);
  font-weight: var(--pb-control-font-weight);
  line-height: var(--pb-control-line-height);
}

.pb-ui-consistent :is(
  .shortage-view-toggle, .tasks-view-toggle, .contacts-list-row-action,
  .editor-btn, .reports-small-button, .messages-icon-action
) {
  min-block-size: var(--pb-control-height-compact);
}

.pb-ui-consistent :is(
  .chart-icon-btn, .sub-icon-btn, .inventory-stack-btn, .tasks-frame-icon-btn,
  .contacts-sort-icon-btn, .messages-header-icon-btn, .messages-icon-btn,
  .utilities-icon-btn, .tutorials-sort-button, .overview-search-submit
) {
  inline-size: var(--pb-control-height);
  min-inline-size: var(--pb-control-height);
  padding: var(--pb-layout-zero);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pb-ui-consistent :is(.contacts-list-row-action, .messages-icon-action) {
  inline-size: var(--pb-control-height-compact);
  padding: var(--pb-layout-zero);
}

.pb-ui-consistent :is(
  .shortage-view-toggle, .tasks-view-toggle, .contacts-primary-btn,
  .messages-primary-btn, .reports-small-button, .reports-type-button,
  .tutorials-add-button, .overview-view-toggle > button, .editor-btn
) {
  inline-size: auto;
  padding-inline: var(--pb-control-padding-x);
}

.pb-ui-consistent :is(
  .shortage-search-field, .tasks-search-wrap, .contacts-search,
  .overview-ai-assistant, .messages-search, .inventory-select-field
) {
  min-inline-size: var(--pb-layout-zero);
  min-block-size: var(--pb-control-height);
  max-inline-size: var(--pb-layout-full);
  gap: var(--pb-control-gap);
  border-radius: var(--pb-control-radius);
  font-size: var(--pb-control-font-size);
  font-weight: var(--pb-control-font-weight);
  line-height: var(--pb-control-line-height);
}

.pb-ui-consistent :is(
  .shortage-search-field, .tasks-search-wrap, .contacts-search,
  .overview-ai-assistant, .messages-search
) input {
  min-inline-size: var(--pb-layout-zero);
  max-inline-size: var(--pb-layout-full);
  font: inherit;
}

/* Entry fields share the Overview search's border and soft focus ring. */
.pb-ui-consistent :is(.shortage-search-field, .tasks-search-wrap, .contacts-search,
  .overview-ai-assistant, .messages-search, .inventory-select-field,
  .pb-select-field:has(> select:not(.tasks-select)), .charts-select-field):focus-within,
.pb-ui-consistent :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="hidden"]),
  select, textarea, [contenteditable="true"]):focus-visible {
  border-color: var(--pb-design-search-focus-border);
  box-shadow: var(--pb-design-search-focus-shadow);
  outline: var(--pb-layout-zero);
}
.pb-ui-consistent :is(.shortage-search-field, .tasks-search-wrap, .contacts-search,
  .overview-ai-assistant, .messages-search) input:focus-visible {
  box-shadow: none;
}

.pb-ui-consistent :is(.shortage-view-toggle, .tasks-view-toggle, .chart-icon-btn,
  .sub-icon-btn, .inventory-stack-btn, .contacts-category-btn, .messages-module-toggle,
  .messages-filter-tab, .overview-view-toggle > button):is(
  .active, .is-active, [aria-pressed="true"], [aria-selected="true"]
) {
  background: var(--pb-control-active-surface);
  border-color: var(--pb-control-active-surface);
  color: var(--pb-control-active-foreground);
}

.pb-ui-consistent :is(.contacts-primary-btn, .messages-primary-btn, .pb-button-primary) {
  background: var(--pb-control-active-surface);
  border-color: var(--pb-control-active-surface);
  color: var(--pb-control-active-foreground);
}

.pb-ui-consistent :is(.chart-icon-btn, .sub-icon-btn, .shortage-view-toggle,
  .tasks-view-toggle, .contacts-category-btn, .contacts-primary-btn,
  .contacts-sort-icon-btn, .messages-icon-btn, .messages-header-icon-btn,
  .utilities-icon-btn, .overview-view-toggle > button, .overview-search-submit) svg {
  inline-size: var(--pb-control-icon-size);
  block-size: var(--pb-control-icon-size);
  min-inline-size: var(--pb-control-icon-size);
  flex-shrink: var(--pb-layout-no-shrink);
  stroke-width: var(--pb-control-icon-stroke);
}

.pb-ui-consistent :is(.shortage-view-toggle, .tasks-view-toggle,
  .contacts-list-row-action, .editor-btn) svg {
  inline-size: var(--pb-control-icon-size-compact);
  block-size: var(--pb-control-icon-size-compact);
  min-inline-size: var(--pb-control-icon-size-compact);
}

.pb-ui-consistent :is(.pb-button, .chart-icon-btn, .sub-icon-btn,
  .shortage-view-toggle, .tasks-view-toggle, .contacts-category-btn,
  .contacts-primary-btn, .contacts-sort-icon-btn, .messages-icon-btn,
  .editor-btn, .tutorials-item, .tutorials-add-button):focus-visible {
  outline: var(--pb-control-focus-width) solid var(--pb-control-focus);
  outline-offset: var(--pb-control-focus-offset);
}

/* Preserve table, chart, timeline and print-canvas dimensions. */
.pb-ui-consistent :is(.shortage-table-shell, .charts-workspace-shell,
  .opt-main-card, .tasks-workspace, .contacts-list-pane, .messages-list-pane,
  .messages-detail-pane, .reports-workspace, .utilities-layout-shell) {
  border-radius: var(--pb-layout-workspace-radius);
  min-inline-size: var(--pb-layout-zero);
  min-block-size: var(--pb-layout-zero);
}

.pb-ui-consistent :is(#inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) {
  padding: var(--pb-layout-card-padding);
  border-radius: var(--pb-layout-workspace-radius);
}
.pb-ui-consistent :is(#inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) .card-header {
  padding: var(--pb-layout-zero);
}
.pb-ui-consistent #topUsedViewToggleBtn {
  min-block-size: var(--pb-control-height-compact);
  block-size: auto;
  border-radius: var(--pb-control-radius);
  font-size: var(--pb-control-font-size);
  font-weight: var(--pb-control-font-weight);
  line-height: var(--pb-control-line-height);
}

.pb-ui-consistent .overview-summary-grid[data-ai-mode="accordion"] :is(#topUsedItemsCard, #pyxisMetricsCard) {
  padding-block-start: var(--pb-layout-card-padding);
}

.pb-ui-consistent :is(.inventory-table-title-group h1, .page-header-caption,
  .opt-chart-title-row h2, .tasks-timeline-frame-title, .contacts-list-header h2,
  .messages-list-header h1, .reports-builder-header h2, .reports-preview-header h2) {
  margin: var(--pb-layout-zero);
  min-inline-size: var(--pb-layout-zero);
  font-size: var(--pb-type-workspace-title-size);
  font-weight: var(--pb-type-title-weight);
  line-height: var(--pb-type-workspace-title-line);
}

/* These legacy mobile rules use IDs; keep the workspace title role authoritative. */
.pb-ui-consistent :is(#inventoryTableTitle, #contactsListTitle, #chartsHeaderCaption, #optChartTitle),
.pb-ui-consistent .charts-workspace-shell h1.page-header-caption,
.pb-ui-consistent .opt-main-card .opt-chart-title-row h2 {
  font-size: var(--pb-type-workspace-title-size);
  font-weight: var(--pb-type-title-weight);
  line-height: var(--pb-type-workspace-title-line);
}

.pb-ui-consistent :is(#inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) .card-title,
.pb-ui-consistent .utilities-pane-heading {
  font-size: var(--pb-type-section-title-size);
  font-weight: var(--pb-type-title-weight);
  line-height: var(--pb-type-section-title-line);
}

.pb-ui-consistent :is(.utilities-pane-description, .editor-label,
  .editor-small-display, .settings-label, .settings-mini-label, .form-field-label) {
  font-size: var(--pb-type-caption-size);
  line-height: var(--pb-type-caption-line);
}



.pb-ui-consistent .analytics-content:has(> .overview-summary-grid) {
  padding: var(--pb-layout-zero) var(--pb-layout-page-gutter) var(--pb-layout-page-gutter);
}

.pb-ui-consistent .overview-operational-grid { gap: var(--pb-layout-section-gap); }



.pb-ui-consistent body:has(> :is(.tasks-container, .utilities-shell)) {
  padding: var(--pb-layout-zero);
}

.pb-ui-consistent .reports-content {
  padding: var(--pb-layout-page-gutter);
}


.pb-ui-consistent :is(.reports-preview, .reports-preview-body) {
  background: var(--pb-layout-workspace-surface);
  color: var(--pb-color-text-primary);
}

/* Explicitly allocated toolbar groups cannot overlap the snapshot label. */
.pb-ui-consistent .charts-toolbar-header .chart-type-icons { flex-wrap: wrap; }
.pb-ui-consistent .chart-as-of-label {
  flex-shrink: var(--pb-layout-no-shrink);
  white-space: normal;
}

.pb-ui-consistent :is(.tutorials-subject-list, .tutorials-subject-group,
  .tutorials-subject-items, .tutorials-item-copy) {
  min-inline-size: var(--pb-layout-zero);
  grid-template-columns: minmax(var(--pb-layout-zero), 1fr);
}
.pb-ui-consistent .tutorials-subject-list { overflow-x: hidden; }
.pb-ui-consistent .tutorials-item {
  max-inline-size: var(--pb-layout-full);
  min-inline-size: var(--pb-layout-zero);
}
.pb-ui-consistent.pb-mobile #mobileNewTask {
  margin: var(--pb-layout-zero);
  inline-size: var(--pb-control-height-touch);
  min-inline-size: var(--pb-control-height-touch);
  min-block-size: var(--pb-control-height-touch);
  block-size: var(--pb-control-height-touch);
  flex-shrink: var(--pb-layout-no-shrink);
  border-radius: var(--pb-control-radius);
  font-size: var(--pb-control-font-size);
  font-weight: var(--pb-control-font-weight);
  line-height: var(--pb-control-line-height);
}
.pb-ui-consistent.pb-mobile .tasks-top-controls > #mobileNewTask {
  position: static;
  inset: auto;
  margin-block: var(--pb-layout-focus-clearance);
}
.pb-ui-consistent.pb-mobile #mobileNewTask svg { margin-inline-start: var(--pb-layout-zero); }

.pb-ui-consistent.pb-mobile :is(#inventoryPage, #mobileTaskViewToggle, #mobileContactViewToggle) .shortage-view-toggle,
.pb-ui-consistent.pb-mobile :is(.charts-page, .optimization-page) .shortage-view-toggle,
.pb-ui-consistent.pb-mobile #contactsCategoryNav .contacts-category-btn,
.pb-ui-consistent.pb-mobile :is(#inventoryFilterPanelToggle, #tasksFilterPanelToggle, #newContactBtn, #sortContactsBtn) {
  font-size: var(--pb-control-font-size);
  font-weight: var(--pb-control-font-weight);
  line-height: var(--pb-control-line-height);
  border-radius: var(--pb-control-radius);
  min-block-size: var(--pb-control-height-touch);
}

.pb-ui-consistent.pb-mobile :is(.contacts-sort-icon-btn, .contacts-primary-btn) {
  inline-size: var(--pb-control-height-touch);
  min-inline-size: var(--pb-control-height-touch);
  padding-inline: var(--pb-layout-zero);
}
.pb-ui-consistent.pb-mobile .contacts-category-nav {
  overflow-x: auto;
  overflow-y: hidden;
  padding-block: var(--pb-layout-focus-clearance);
  min-block-size: calc(var(--pb-control-height-touch) + var(--pb-layout-focus-clearance) * 2);
}
.pb-ui-consistent #dashboardNavigation .sidebar-tab svg {
  inline-size: var(--pb-sidebar-icon-size);
  block-size: var(--pb-sidebar-icon-size);
}
.pb-ui-consistent #dashboardNavigation .sidebar-tab {
  padding-inline-start: var(--pb-sidebar-icon-inset);
}

/* Keep mobile control frames inside the existing workspace gutter. */
.pb-ui-consistent.pb-mobile .tasks-controls-header {
  margin-inline: var(--pb-layout-zero);
  inline-size: auto;
  min-inline-size: var(--pb-layout-zero);
  max-inline-size: var(--pb-layout-full);
}

/* Contacts defines the frame and divider roles for every workspace. */
.pb-ui-consistent.pb-mobile #tasksTimelineFrame,
.pb-ui-consistent :is(.charts-workspace-shell, .tasks-timeline-frame,
  .contacts-list-pane, .messages-list-pane, .reports-builder, .utilities-form-shell,
  .opt-main-card, .contacts-empty-state,
  .contacts-detail-section, .contacts-detail-context-panel,
  .messages-detail-pane, .messages-side-card,
  .reports-preview, .utilities-layout-shell,
  #inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) {
  border: var(--pb-border-width-sm) solid var(--pb-workspace-border);
  border-radius: var(--pb-layout-workspace-radius);
  background: var(--pb-frame-bg);
  box-shadow: var(--pb-workspace-shadow);
}
.pb-ui-consistent .tasks-workspace,
.pb-ui-consistent .tasks-shell > .tasks-card {
  border: var(--pb-layout-zero);
  border-radius: var(--pb-layout-zero);
  box-shadow: none;
}
.pb-ui-consistent :is(.tasks-timeline-frame-footer, .opt-chart-card-footer, .messages-composer) {
  border-block-start: var(--pb-border-width-sm) solid var(--pb-workspace-divider);
}

.pb-ui-consistent :is(.inventory-table-caption, .tasks-timeline-frame-header,
  .contacts-list-header, .messages-list-header, .messages-detail-header,
  .reports-builder-header, .reports-preview-header, .opt-chart-card-header,
  .utilities-pane-title),
.pb-ui-consistent .charts-workspace-shell > .charts-header,
.pb-ui-consistent :is(#inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) .card-header {
  border-block-end: var(--pb-border-width-sm) solid var(--pb-workspace-divider);
  background: var(--pb-frame-bg);
}

.pb-ui-consistent :is(#inventoryHealthCard, #topUsedItemsCard, #pyxisMetricsCard) .card-header {
  padding-block-end: var(--pb-layout-card-padding-compact);
  margin-block-end: var(--pb-layout-card-padding-compact);
}

/* Keep each pane framed, with the same open separator track as Contacts. */
.pb-ui-consistent .reports-workspace {
  border: var(--pb-layout-zero);
  border-radius: var(--pb-layout-zero);
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.pb-ui-consistent :is(.reports-builder, .reports-preview) { min-inline-size: var(--pb-layout-zero); }
.pb-ui-consistent .messages-main { --messages-splitter-width: var(--pb-layout-divider-track); }

.pb-ui-consistent :is(.contacts-splitter, .messages-splitter, .reports-splitter, .util-splitter, .tasks-splitter, #optCabinetSplitter) {
  inline-size: var(--pb-layout-divider-track);
  min-inline-size: var(--pb-layout-divider-track);
  border: var(--pb-layout-zero);
  background: transparent;
}
.pb-ui-consistent :is(.contacts-splitter, .messages-splitter, .reports-splitter, .util-splitter, #optCabinetSplitter)::after {
  content: "";
  position: absolute;
  inset: auto;
  inset-inline-start: var(--pb-layout-half);
  inset-block-start: var(--pb-layout-half);
  inline-size: var(--pb-workspace-divider-handle-width);
  block-size: var(--pb-workspace-divider-handle-height);
  border-radius: var(--pb-workspace-divider-handle-radius);
  background: var(--pb-workspace-divider-handle-surface);
  transform: var(--pb-workspace-divider-transform);
}
.pb-ui-consistent :is(.contacts-splitter, .messages-splitter, .reports-splitter, .util-splitter, .tasks-splitter, #optCabinetSplitter):is(
  :hover, :focus-visible, :focus-within, .is-dragging, [data-ai-state="resizing"]
)::after { background: var(--pb-workspace-divider-handle-active); }
.pb-ui-consistent .reports-splitter-handle { display: none; }
.pb-ui-consistent .tasks-splitter::after { content: none; }
.pb-ui-consistent .utilities-type-toggle .utilities-icon-btn {
  inline-size: auto;
  min-inline-size: var(--pb-control-height);
  padding-inline: var(--pb-control-padding-x);
}

/* Only the Overview grouping wrapper paints outside; charts keep their scroll owners. */
.pb-ui-consistent .overview-summary-grid[data-ai-mode="accordion"] .overview-summary-card.is-primary[data-ai-accordion-state="expanded"] {
  overflow: visible;
}
.pb-ui-consistent body .overview-summary-grid[data-ai-mode="accordion"] {
  --overview-v2-panel-border: var(--pb-workspace-border);
  --overview-v2-panel-radius: var(--pb-layout-workspace-radius);
  --overview-v2-panel-shadow: var(--pb-workspace-shadow);
  --overview-v2-panel-bg: var(--pb-frame-bg);
}
.pb-ui-consistent .reports-compile-row {
  padding-block-end: var(--pb-workspace-shadow-clearance);
  border-block-start: var(--pb-border-width-sm) solid var(--pb-workspace-divider);
}

/* Constrain the header independently of the wide data tracks. */
.pb-ui-consistent .optimization-page .opt-main-card {
  grid-template-columns: minmax(var(--pb-layout-zero), 1fr);
}
.pb-ui-consistent .optimization-page .opt-chart-card-header {
  min-inline-size: var(--pb-layout-zero);
  max-inline-size: var(--pb-layout-full);
  box-sizing: border-box;
  grid-template-columns: minmax(var(--pb-layout-zero), 1fr) auto;
}
.pb-ui-consistent .optimization-page .pb-btn {
  min-block-size: var(--pb-control-height);
  padding: var(--pb-space-1) var(--pb-control-padding-x);
  border: var(--pb-border-width-sm) solid var(--pb-workspace-border);
  border-radius: var(--pb-control-radius);
  background: var(--pb-frame-bg);
  color: var(--pb-color-text-primary);
  font: var(--pb-control-font-weight) var(--pb-control-font-size) / var(--pb-control-line-height) var(--pb-font-sans);
  cursor: pointer;
}
.pb-ui-consistent .optimization-page .pb-btn:hover { background: var(--pb-color-surface-subtle); }
.pb-ui-consistent .optimization-page .pb-btn:focus-visible {
  outline: var(--pb-control-focus-width) solid var(--pb-control-focus);
  outline-offset: var(--pb-control-focus-offset);
}

@media (max-width: 1024px) {
  .pb-ui-consistent.pb-mobile .optimization-page {
    --pb-optimization-chart-min-width: var(--pb-layout-zero);
    --pb-optimization-chart-min-width-compact: var(--pb-layout-zero);
    --pb-optimization-item-min-width: var(--pb-layout-zero);
    --pb-optimization-item-min-width-compact: var(--pb-layout-zero);
  }
  .pb-ui-consistent.pb-mobile .optimization-page :is(.opt-row, .opt-chart-column-head) {
    grid-template-columns: repeat(var(--opt-summary-column-count, var(--pb-mobile-opt-metric-columns)), minmax(var(--pb-layout-zero), 1fr));
    min-inline-size: var(--pb-layout-zero);
    gap: var(--pb-space-2);
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-row {
    padding-block: var(--pb-space-3);
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-row > :is(.opt-row-left, .opt-bar-wrap) {
    grid-column: 1 / -1;
    grid-row: auto;
    min-inline-size: var(--pb-layout-zero);
    padding: var(--pb-layout-zero);
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-row > .opt-row-left {
    align-items: flex-start;
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-row > .opt-row-metric {
    grid-column: auto;
    grid-row: auto;
    min-inline-size: var(--pb-layout-zero);
    overflow-wrap: anywhere;
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-chart-column-head > :is(#optChartGroupHead, .opt-chart-bar-head) {
    grid-column: 1 / -1;
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-chart-column-head > .is-number {
    grid-column: auto;
    grid-row: auto;
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-chart-bar-head:empty {
    display: none;
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-chart-axis {
    display: block;
    min-inline-size: var(--pb-layout-zero);
  }
  .pb-ui-consistent.pb-mobile .optimization-page .opt-chart-axis > :not(.opt-chart-axis-scale-shell) {
    display: none;
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more {
    right: var(--pb-space-4);
    bottom: var(--pb-space-2);
    inline-size: var(--pb-contacts-menu-width);
    min-inline-size: var(--pb-layout-zero);
    max-inline-size: calc(var(--pb-layout-full) - var(--pb-space-8));
    padding: var(--pb-space-2);
    gap: var(--pb-space-1);
    border-radius: var(--pb-layout-workspace-radius);
    border-color: var(--pb-workspace-border);
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more .pb-mobile-button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-inline-size: var(--pb-layout-zero);
    min-block-size: var(--pb-control-height-touch);
    padding: var(--pb-space-2) var(--pb-space-3);
    gap: var(--pb-space-3);
    border-radius: var(--pb-control-radius);
    color: var(--pb-color-text-primary);
    font-size: var(--pb-control-font-size);
    font-weight: var(--pb-control-font-weight);
    line-height: var(--pb-control-line-height);
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more .pb-mobile-button svg {
    inline-size: var(--pb-control-icon-size);
    block-size: var(--pb-control-icon-size);
    flex-shrink: var(--pb-layout-no-shrink);
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more .pb-mobile-button span {
    min-inline-size: var(--pb-layout-zero);
    overflow-wrap: anywhere;
    text-align: start;
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more .pb-mobile-button[aria-current="page"] {
    color: var(--pb-color-text-primary);
    background: var(--pb-dropdown-list-item-active-bg);
    border-color: var(--pb-dropdown-list-item-active-border);
  }
  .pb-ui-consistent.pb-mobile .pb-mobile-more .pb-mobile-button:focus-visible {
    outline: var(--pb-control-focus-width) solid var(--pb-control-focus);
    outline-offset: var(--pb-control-focus-offset);
  }
  /* Output actions stay on desktop; mobile retains chart selection and filters. */
  .pb-ui-consistent :is(.charts-page, .optimization-page) :is(
    [data-ai-intent="print"], [data-ai-intent="export"], [data-ai-intent="download"],
    #purchaseHeaderExportBtn, .opt-toolbar-download, .opt-toolbar-print
  ) { display: none; }
  .pb-ui-consistent .optimization-page .opt-chart-card-header {
    grid-template-columns: minmax(var(--pb-layout-zero), 1fr);
    position: sticky;
    inset-inline-start: var(--pb-layout-zero);
  }
  .pb-ui-consistent .optimization-page .opt-chart-card-actions {
    inline-size: var(--pb-layout-full);
    min-inline-size: var(--pb-layout-zero);
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media (max-width: 56rem) {
  .pb-ui-consistent .reports-workspace { gap: var(--pb-layout-section-gap); }
}
.pb-ui-consistent.pb-mobile .tasks-top-controls {
  min-inline-size: var(--pb-layout-zero);
  gap: var(--pb-layout-toolbar-row-gap);
  padding-block: var(--pb-layout-focus-clearance);
}
.pb-ui-consistent.pb-mobile .contacts-list-header {
  padding-inline: var(--pb-layout-page-gutter);
}
.pb-ui-consistent.pb-mobile .contacts-category-nav {
  box-sizing: border-box;
  padding-inline: var(--pb-layout-focus-clearance);
  scroll-padding-inline: var(--pb-layout-focus-clearance);
}
@media (max-width: 1024px) {
.pb-ui-consistent :is(.reports-builder-header, .reports-preview-header) {
  block-size: auto;
  flex-basis: auto;
  padding: var(--pb-layout-page-gutter);
  gap: var(--pb-layout-toolbar-row-gap);
  flex-wrap: wrap;
}
}

/* Match the canonical --pb-mobile-breakpoint; media queries cannot use var(). */
@media (min-width: 1025px) {
.pb-ui-consistent .tasks-shell {
  grid-template-columns: minmax(var(--pb-tasks-left-pane-min-width), var(--left-pane-width)) var(--pb-layout-divider-track) minmax(var(--pb-layout-zero), 1fr);
}
.pb-ui-consistent .tasks-shell.left-collapsed {
  grid-template-columns: var(--pb-layout-zero) var(--pb-layout-divider-track) minmax(var(--pb-layout-zero), 1fr);
}
.pb-ui-consistent .tasks-shell.right-collapsed {
  grid-template-columns: minmax(var(--pb-layout-zero), 1fr) var(--pb-layout-divider-track) var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) :is(.contacts-page, .messages-page) {
  padding: var(--pb-layout-page-gutter);
  gap: var(--pb-layout-section-gap);
}

.pb-ui-consistent:not(.pb-mobile) .contacts-main {
  padding-block-start: var(--pb-layout-section-gap);
}

.pb-ui-consistent:not(.pb-mobile) .overview-summary-grid {
  inline-size: var(--pb-layout-full);
  max-inline-size: var(--pb-layout-full);
  margin-inline: var(--pb-layout-zero);
}

.pb-ui-consistent:not(.pb-mobile) :is(.overview-toolbar, .shortage-command-bar,
  .tasks-controls-header, .reports-controls-header, .utilities-toolbar,
  .contacts-toolbar, .messages-toolbar,
  .charts-toolbar-header .header-content, .opt-main-pane > .charts-header .header-content) {
  padding: var(--pb-layout-toolbar-padding);
  gap: var(--pb-layout-toolbar-row-gap);
  min-block-size: var(--pb-layout-toolbar-min-height);
  flex-shrink: var(--pb-layout-no-shrink);
  align-items: center;
  border-block: var(--pb-layout-zero);
}

.pb-ui-consistent:not(.pb-mobile) :is(.overview-toolbar, .shortage-command-bar,
  .charts-toolbar-header, .opt-main-pane > .charts-header, .utilities-toolbar,
  .contacts-toolbar, .messages-toolbar, .tasks-container > .analytics-header,
  .reports-header) {
  margin-block-start: var(--pb-layout-toolbar-top-gap);
}
.pb-ui-consistent:not(.pb-mobile) :is(.contacts-page, .messages-page) {
  padding-block-start: var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) .contacts-page {
  grid-template-rows: auto minmax(var(--pb-layout-zero), 1fr);
}
.pb-ui-consistent:not(.pb-mobile) .contacts-category-nav {
  padding-block: var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) :is(.tasks-controls-header, .reports-controls-header,
  .charts-toolbar-header > .header-content, .opt-main-pane > .charts-header > .header-content) {
  margin-block-start: var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) .overview-view-controls {
  margin: var(--pb-layout-zero);
  min-block-size: var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) .overview-view-filter {
  flex: var(--pb-layout-no-shrink) var(--pb-layout-flex) var(--pb-overview-scope-width);
  min-inline-size: var(--pb-layout-zero);
  max-inline-size: var(--pb-overview-scope-width);
}
.pb-ui-consistent:not(.pb-mobile) .overview-view-filter select {
  inline-size: var(--pb-layout-full);
  min-inline-size: var(--pb-layout-zero);
  max-inline-size: var(--pb-layout-full);
}
.pb-ui-consistent:not(.pb-mobile) :is(.shortage-command-left, .shortage-command-right) {
  padding-block-start: var(--pb-layout-zero);
}
.pb-ui-consistent:not(.pb-mobile) :is(.overview-view-toggle > button,
  .reports-type-toggle .reports-type-button, .utilities-type-toggle > button) {
  min-block-size: var(--pb-control-height-compact);
  block-size: var(--pb-control-height-compact);
}

.pb-ui-consistent:not(.pb-mobile) :is(.shortage-table-shell,
  .charts-workspace-shell) {
  margin-inline: var(--pb-layout-page-gutter);
}

.pb-ui-consistent:not(.pb-mobile) :is(.tasks-content, .opt-charts-content, .utilities-body) {
  padding: var(--pb-layout-page-gutter);
}

.pb-ui-consistent:not(.pb-mobile) :is(.inventory-table-caption, .tasks-timeline-frame-header,
  .contacts-list-header, .messages-list-header, .reports-builder-header,
  .reports-preview-header, .opt-chart-card-header,
  .charts-workspace-shell > .charts-header .header-content) {
  min-block-size: var(--pb-layout-workspace-header-min);
  block-size: auto;
  padding-inline: var(--pb-layout-card-padding);
  gap: var(--pb-layout-toolbar-row-gap);
  flex-wrap: wrap;
}

.pb-ui-consistent:not(.pb-mobile) .charts-toolbar-header .header-content {
  display: flex;
  flex-wrap: wrap;
}

.pb-ui-consistent:not(.pb-mobile) .charts-toolbar-header .controls-left {
  flex: var(--pb-layout-flex) var(--pb-layout-flex) auto;
  flex-wrap: wrap;
  gap: var(--pb-layout-toolbar-row-gap);
}

.pb-ui-consistent:not(.pb-mobile) .charts-toolbar-header .controls-right {
  flex: var(--pb-layout-no-shrink) var(--pb-layout-no-shrink) auto;
  margin-inline-start: auto;
}
}

/* Inventory uses the same framed workspace treatment as the other main panels. */
.pb-ui-consistent .shortage-table-shell { border: var(--pb-border-width-sm) solid var(--pb-workspace-border); box-shadow: var(--pb-workspace-shadow); }
