/* Sorting workstation theme aligned with the factory console. */
.main-content.is-sorting-page {
  --sorting-accent: var(--factory-green-700, #176b55);
  --sorting-accent-dark: var(--factory-forest-900, #12352e);
  --sorting-accent-soft: var(--factory-green-100, #dfeee9);
  --sorting-success: #23865f;
  --sorting-success-soft: #e3f3e9;
  --sorting-warning: #b97119;
  --sorting-warning-soft: #fff1db;
  --sorting-danger: #c84343;
  --sorting-danger-soft: #fbe9e7;
  --sorting-info: #2d6e9d;
  --sorting-info-soft: #e4f0f7;
  --sorting-ink: #172b27;
  --sorting-muted: #63736e;
  --sorting-line: #d6e0db;
  --sorting-surface: #fff;
  --sorting-canvas: #edf1ef;
  background: var(--sorting-canvas);
  color: var(--sorting-ink);
}

body:has(.main-content.is-sorting-page) .sidebar {
  border-right-color: rgba(255,255,255,.07);
  background: #152b27;
  box-shadow: 4px 0 16px rgba(12,34,28,.12);
}
body:has(.main-content.is-sorting-page) .sidebar-logo { background: #10231f; }
body:has(.main-content.is-sorting-page) .brand-mark { background: var(--sorting-accent); }
body:has(.main-content.is-sorting-page) .sidebar-menu a { color: #b9c8c2; }
body:has(.main-content.is-sorting-page) .sidebar-menu a:hover { background: #1c3a33; color: #fff; }
body:has(.main-content.is-sorting-page) .sidebar-menu a.active { background: #1a5949; color: #fff; }
body:has(.main-content.is-sorting-page) .sidebar-menu a.active::before { background: #58b094; }
body:has(.main-content.is-sorting-page) .sidebar-menu a.active .icon { background: rgba(255,255,255,.10); }

.sorting-page,
.main-content.is-sorting-page #pageContainer { background: var(--sorting-canvas); }
.sorting-left-panel,
.sorting-current-order-bar,
.sorting-location-detail-panel,
.sorting-model-card {
  border-color: var(--sorting-line);
  border-radius: 5px;
  background: var(--sorting-surface);
  box-shadow: none;
}

.sorting-left-header {
  border-bottom-color: var(--sorting-line);
  color: var(--sorting-ink);
}
.sorting-panel-toggle { color: var(--sorting-muted); }
.sorting-panel-toggle:hover,
.sorting-panel-toggle:focus-visible,
.sorting-left-panel.is-collapsed:hover {
  border-color: #85aa9b;
  background: #f4f9f6;
  color: var(--sorting-accent);
}
.sorting-order-section-title { border-left-color: #a8b5af; color: var(--sorting-ink); }
.sorting-order-section-title.is-current { border-left-color: var(--sorting-accent); }
.sorting-order-section-title.is-progress { border-left-color: var(--sorting-warning); }
.sorting-order-section-title.is-complete { border-left-color: var(--sorting-success); }
.sorting-order-card {
  content-visibility: auto;
  contain-intrinsic-size: 0 74px;
  border-color: var(--sorting-line);
  border-radius: 4px;
  background: #fff;
  color: var(--sorting-ink);
}
.sorting-order-card:hover { border-color: #85aa9b; background: #f7fbf9; }
.sorting-order-card.is-current { border-color: #77a996; background: var(--sorting-accent-soft); }
.sorting-order-card.is-progress:not(.is-current) { border-color: #e2c18e; background: var(--sorting-warning-soft); }
.sorting-order-card.is-complete:not(.is-current) { border-color: #a9d1be; background: var(--sorting-success-soft); }
.sorting-order-card-progress { background: #e6ebe8; }
.sorting-order-card-progress > div { background: #9aa8a2; }
.sorting-order-card.is-current .sorting-order-card-progress > div { background: var(--sorting-accent); }
.sorting-order-card.is-progress .sorting-order-card-progress > div { background: var(--sorting-warning); }
.sorting-order-card.is-complete .sorting-order-card-progress > div { background: var(--sorting-success); }

.sorting-page .sorting-current-order-bar {
  border-color: var(--sorting-accent-dark);
  border-left-color: #0a2e26;
  background: var(--sorting-accent);
  color: #fff;
  box-shadow: 0 3px 10px rgba(18,53,46,.18);
}
.sorting-current-order-bar > span:first-child { white-space: nowrap; }
.sorting-page .sorting-current-project { border-left-color: rgba(255,255,255,.38); }
.sorting-page .sorting-current-count,
.sorting-page .sorting-current-progress,
.sorting-page .sorting-user-name { color: #fff; }
.sorting-page .sorting-current-progress { color: #dff5ec; }
.sorting-inline-input {
  border-color: rgba(255,255,255,.76);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(9,42,34,.15);
}
.sorting-inline-input:focus-within { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.22); }
.sorting-inline-input select { border-color: #c8d5ce; background: #f7faf8; color: #344b42; }
.sorting-rate-control input[type="range"] { accent-color: var(--sorting-accent); }
.sorting-user-actions { border-left-color: rgba(255,255,255,.28); }

.sorting-page button:not(.sorting-table-sort):not(.sorting-column-drag) {
  border-color: #c8d5ce;
  border-radius: 4px;
  background: #fff;
  color: #344b42;
  box-shadow: none;
}
.sorting-page button:not(.sorting-table-sort):not(.sorting-column-drag):hover,
.sorting-page button:not(.sorting-table-sort):not(.sorting-column-drag):focus-visible {
  border-color: #85aa9b;
  background: #f4f9f6;
  color: var(--sorting-accent);
}
.sorting-current-order-bar .sorting-group-open,
.sorting-current-order-bar .sorting-order-actions-toggle,
.sorting-current-order-bar .sorting-user-actions > button {
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.12);
  color: #fff;
}
.sorting-current-order-bar .sorting-group-open:hover,
.sorting-current-order-bar .sorting-order-actions-toggle:hover,
.sorting-current-order-bar .sorting-user-actions > button:hover,
.sorting-current-order-bar .sorting-group-open:focus-visible,
.sorting-current-order-bar .sorting-order-actions-toggle:focus-visible,
.sorting-current-order-bar .sorting-user-actions > button:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--sorting-accent-dark);
}
.sorting-order-actions-menu {
  border-color: var(--sorting-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15,38,32,.16);
}
.sorting-order-actions-menu button { border-color: transparent !important; background: transparent !important; }
.sorting-order-actions-menu .is-complete { color: var(--sorting-success) !important; }
.sorting-order-actions-menu .is-complete:hover { background: var(--sorting-success-soft) !important; }
.sorting-order-actions-menu .is-reset { color: var(--sorting-danger) !important; }
.sorting-order-actions-menu .is-reset:hover { background: var(--sorting-danger-soft) !important; }

.sorting-completed-search,
.sorting-location-search,
.sorting-column-search,
.sorting-rule-condition select,
.sorting-rule-condition input,
.sorting-rule-message,
.sorting-rule-link-field,
.sorting-rule-link-input,
.sorting-settings-panel .sorting-settings-select select,
.sorting-settings-panel .sorting-settings-select input {
  border-color: #c8d5ce;
  border-radius: 4px;
  background: #fff;
  color: var(--sorting-ink);
}
.sorting-completed-search:focus,
.sorting-location-search:focus,
.sorting-column-search:focus,
.sorting-rule-condition select:focus,
.sorting-rule-condition input:focus,
.sorting-rule-message:focus,
.sorting-rule-link-field:focus,
.sorting-rule-link-input:focus,
.sorting-settings-panel .sorting-settings-select select:focus,
.sorting-settings-panel .sorting-settings-select input:focus {
  border-color: var(--sorting-accent);
  box-shadow: 0 0 0 3px rgba(23,107,85,.11);
}

#sortingGrid { background: var(--sorting-canvas); box-shadow: 0 -10px 0 var(--sorting-canvas); }
.sorting-page .sorting-location-card,
.sorting-page .sorting-location-card.is-unstarted {
  border-color: #b9c7c0;
  border-left-color: #77998b;
  background: #fff;
}
.sorting-page .sorting-location-card.is-progress {
  border-color: #ddb777;
  border-left-color: var(--sorting-warning);
  background: var(--sorting-warning-soft);
}
.sorting-page .sorting-location-card.is-complete {
  border-color: #9fcbb6;
  border-left-color: var(--sorting-success);
  background: var(--sorting-success-soft);
}
.sorting-page .sorting-location-card:hover { border-color: #76a592; filter: none; box-shadow: 0 3px 9px rgba(23,75,57,.12); }
.sorting-page .sorting-location-card.is-selected {
  border-color: var(--sorting-accent);
  outline: 3px solid rgba(23,107,85,.28);
  outline-offset: -3px;
  box-shadow: 0 4px 12px rgba(23,107,85,.16);
}
.sorting-page .sorting-location-card-title,
.sorting-page .sorting-location-card.is-progress .sorting-location-card-title,
.sorting-page .sorting-location-card.is-complete .sorting-location-card-title { color: var(--sorting-ink); }
.sorting-page .sorting-location-card-name { color: #3f5149; }
.sorting-page .sorting-location-card-count { color: var(--sorting-muted); }
.sorting-page .sorting-location-card-progress { border-color: rgba(56,86,73,.16); background: rgba(255,255,255,.76); }
.sorting-page .sorting-location-card-progress > div { background: #77998b; }
.sorting-page .sorting-location-card.is-progress .sorting-location-card-progress > div { background: var(--sorting-warning); }
.sorting-page .sorting-location-card.is-complete .sorting-location-card-progress > div { background: var(--sorting-success); }

.sorting-location-detail-panel,
.sorting-model-card { background: #fff; }
.sorting-location-table .sorting-row-pending > td { background: var(--sorting-warning-soft) !important; }
.sorting-location-table .sorting-row-scanned > td { background: var(--sorting-success-soft) !important; }
.sorting-location-table .sorting-row-pending:hover > td { background: #ffe8c7 !important; }
.sorting-location-table .sorting-row-scanned:hover > td { background: #d7eee2 !important; }
.sorting-location-table th.sorting-status-column { background: #f4f7f5; }
.sorting-location-table .sorting-row-replacement > td { background: var(--sorting-danger-soft) !important; color: #8e312d; }
.sorting-location-table .sorting-row-replacement:hover > td { background: #f7d8d5 !important; }

.sorting-column-panel,
.sorting-settings-panel {
  border: 1px solid var(--sorting-line);
  border-radius: 6px;
  background: #fff;
  color: var(--sorting-ink);
  box-shadow: 0 18px 45px rgba(15,38,32,.20);
}
.sorting-settings-head { border-bottom-color: var(--sorting-line); color: #233b34; font-weight: 800; }
.sorting-settings-tabs,
.sorting-segmented,
.sorting-panel-view-toggle { border-radius: 4px; background: #e9eeeb; }
.sorting-page .sorting-user-actions .sorting-settings-tab.is-active,
.sorting-page .sorting-user-actions .sorting-settings-tabs .sorting-settings-tab.is-active:hover,
.sorting-page .sorting-user-actions .sorting-settings-tabs .sorting-settings-tab.is-active:focus-visible,
.sorting-page .sorting-segmented button.is-active,
.sorting-page .sorting-panel-view-toggle button.is-active {
  border-color: transparent;
  background: #fff;
  color: var(--sorting-accent);
  box-shadow: 0 1px 4px rgba(24,60,45,.14);
  transform: none;
}
.sorting-settings-panel output { color: var(--sorting-accent); }
.sorting-settings-panel input[type="range"],
.sorting-settings-panel .sorting-rule-enabled input,
.sorting-group-check input { accent-color: var(--sorting-accent); }
.sorting-settings-panel .sorting-setting-toggle input[type="checkbox"]:checked {
  border-color: var(--sorting-accent);
  background: var(--sorting-accent);
}
.sorting-settings-panel .sorting-setting-toggle input[type="checkbox"]:focus-visible { box-shadow: 0 0 0 3px rgba(23,107,85,.18); }
.sorting-rule-card,
.sorting-rule-empty,
.sorting-cabinet-preview { border-color: var(--sorting-line); border-radius: 5px; background: #fff; box-shadow: none; }
.sorting-rule-card.is-disabled { background: #f4f7f5; }
.sorting-user-actions .sorting-rule-add,
.sorting-settings-panel .sorting-rule-media-upload,
.sorting-user-actions .sorting-rule-link-add {
  border-color: #9db8ad;
  background: #fff;
  color: var(--sorting-accent-dark);
}
.sorting-user-actions .sorting-rule-add:hover,
.sorting-settings-panel .sorting-rule-media-upload:hover,
.sorting-user-actions .sorting-rule-link-add:hover { border-color: var(--sorting-accent); background: var(--sorting-accent-soft); color: var(--sorting-accent-dark); }
.sorting-rule-media-priority:focus { border-color: var(--sorting-accent); box-shadow: 0 0 0 2px rgba(23,107,85,.12); }
.sorting-page .sorting-rule-delete { border-color: #e4c2bf; background: #fff; color: var(--sorting-danger); }
.sorting-page .sorting-rule-delete:hover { background: var(--sorting-danger-soft); }

.sorting-status-actions > button {
  border-color: #c8d5ce;
  border-radius: 4px;
  background: #fff;
  color: #344b42;
}
.sorting-status-actions > button:hover { border-color: #85aa9b; background: #f4f9f6; color: var(--sorting-accent); }
.sorting-status-actions > button.is-selected { border-color: var(--sorting-accent); box-shadow: inset 0 0 0 1px var(--sorting-accent); }
.sorting-status-actions > button.is-replacement { border-color: var(--sorting-danger); background: var(--sorting-danger); color: #fff; }
.sorting-status-actions > button.is-replacement:hover { background: #a93636; color: #fff; }
.sorting-status-actions > button.is-complete { border-color: var(--sorting-success); background: var(--sorting-success); color: #fff; }
.sorting-status-actions > button.is-complete:hover { background: #176b4a; color: #fff; }

.sorting-group-overlay { background: rgba(10,27,22,.52); backdrop-filter: blur(2px); }
.sorting-group-dialog {
  border-color: var(--sorting-line, #d6e0db);
  border-radius: 8px;
  background: #fff;
  color: var(--sorting-ink, #172b27);
  box-shadow: 0 24px 65px rgba(0,0,0,.24);
}
.sorting-group-dialog > header {
  border-bottom-color: var(--sorting-line, #d6e0db);
  background: #f7faf8;
  color: #233b34;
}
.sorting-group-dialog header p { color: #63736e; opacity: 1; }
.sorting-group-close {
  border-color: transparent;
  background: transparent;
  color: #63736e;
}
.sorting-group-close:hover,
.sorting-group-close:focus-visible { border-color: #c8d5ce; background: #edf3f0; color: #233b34; }
.sorting-group-lock { border-bottom-color: #bdd7cc; background: var(--sorting-accent-soft, #dfeee9); color: #315e4e; }
.sorting-group-lock b { color: var(--sorting-accent, #176b55); }
.sorting-group-recommendations { border-bottom-color: var(--sorting-line, #d6e0db); }
.sorting-group-plan {
  border-color: #c8d5ce;
  border-radius: 4px;
  background: #fff;
  color: #344b42;
}
.sorting-group-plan > b { color: #244b3e; }
.sorting-group-plan > strong,
.sorting-group-summary b { color: var(--sorting-accent, #176b55); }
.sorting-group-plan:hover:not(:disabled) { border-color: #85aa9b; background: #f4f9f6; }
.sorting-group-plan.is-active { border-color: var(--sorting-accent, #176b55); background: var(--sorting-accent-soft, #dfeee9); box-shadow: inset 0 0 0 1px var(--sorting-accent, #176b55); }
.sorting-group-toolbar input,
.sorting-group-name { border-radius: 4px; color: var(--sorting-ink, #172b27); }
.sorting-group-toolbar input:focus,
.sorting-group-name:focus { border-color: var(--sorting-accent, #176b55); box-shadow: 0 0 0 3px rgba(23,107,85,.11); }
.sorting-group-toolbar button,
.sorting-group-dialog footer button,
.sorting-group-split {
  border-color: #c8d5ce;
  border-radius: 4px;
  background: #fff;
  color: #344b42;
}
.sorting-group-toolbar button,
.sorting-group-dialog footer .sorting-group-save {
  border-color: var(--sorting-accent, #176b55);
  background: var(--sorting-accent, #176b55);
  color: #fff;
}
.sorting-group-toolbar button:hover,
.sorting-group-dialog footer .sorting-group-save:hover { background: var(--sorting-accent-dark, #12352e); }
.sorting-group-list { border-color: var(--sorting-line, #d6e0db); border-radius: 5px; }
.sorting-group-row { border-bottom-color: #e4ebe7; }
.sorting-group-row:hover { background: #f4f9f6; }
.sorting-group-name:hover { border-color: #c8d5ce; }
.sorting-group-count { color: var(--sorting-success, #23865f); }
.sorting-group-split:hover:not(:disabled) { border-color: #85aa9b; background: #f4f9f6; color: var(--sorting-accent, #176b55); }
.sorting-group-dialog > footer { border-top-color: var(--sorting-line, #d6e0db); background: #fbfcfb; }

body:has(.main-content.is-sorting-page) .modal-overlay { background: rgba(10,27,22,.52); backdrop-filter: blur(2px); }
body:has(.main-content.is-sorting-page) .modal { border: 1px solid var(--sorting-line); border-radius: 8px; box-shadow: 0 24px 65px rgba(0,0,0,.24); }
body:has(.main-content.is-sorting-page) .modal-header { background: #f7faf8; color: #233b34; }
body:has(.main-content.is-sorting-page) .modal-footer { background: #fbfcfb; }

@media (max-width: 768px) {
  .sorting-page { background: var(--sorting-canvas); }
  .sorting-current-order-bar .sorting-user-actions > button { background: rgba(255,255,255,.12); color: #fff; }
  /* Keep this full-screen control surface clear of the collapsed main navigation. */
  .sorting-page .sorting-settings-panel,
  .sorting-page .sorting-settings-panel[data-active-tab="reminder"],
  .sorting-page .sorting-settings-panel[data-active-tab="ignore"] {
    position: fixed;
    top: 4px;
    right: 4px;
    bottom: 4px;
    left: 64px;
    z-index: 200;
    width: auto;
    max-height: none;
    overflow-y: auto;
  }
  .sorting-group-overlay { padding: 6px; }
}
