.source-active { border-left: 3px solid var(--green); padding-left: 19px; }
.source-config-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 12px; }
.source-config-summary > span { color: #718878; font-size: 10px; line-height: 1.6; }
.source-config-summary button { flex-shrink: 0; }
.save-settings { width: 100%; margin-top: 18px; }
.sort-note { padding: 0 22px 14px; color: #64846e; font-size: 10px; line-height: 1.6; }
.product-cell { min-width: 130px; }
.quantity-cell { text-align: center; font-weight: 600; }
.preview-panel table { min-width: 1080px; }
.export-history { border: 1px solid #dce8de; background: #f7faf7; border-radius: 8px; padding: 12px; margin: 0 0 16px; font-size: 12px; }
.history-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.export-history p, .history-entry p { margin: 7px 0; line-height: 1.6; overflow-wrap: anywhere; }
.export-history small, .history-entry small { display: block; color: #6b7b70; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.export-history .button { margin: 4px 0 8px; }
.history-warning { color: #98600e; }
.history-list { max-height: 52vh; overflow-y: auto; margin-top: 16px; }
.history-entry { border-top: 1px solid #e0e8e1; padding: 16px 0; font-size: 12px; }
.history-heading > span { color: #397849; }
@media (max-width: 740px) {
  .source-config-summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .source-active { padding-left: 15px; }
}

:root {
  color: #172033;
  background: #edf1f6;
  --green: #075e48;
  --border: #b9c3cf;
  --muted: #46556a;
  --orange: #b9381e;
}
body { color: #172033; }
.sidebar, .topbar, .panel, .steps { background: #fff; }
.sidebar { border-right-color: #aeb9c7; }
.brand small, .workspace small, .nav-label, .sidebar-bottom p,
.sidebar-foot, .topbar, .eyebrow, .page-heading p, .step small,
.section-number, .saved-label, .source-title small, .field-hint,
.range-fields .field-hint, .source-footer p {
  color: #4b586b;
}
.workspace, .steps, .panel, .topbar, .sidebar { border-color: #aeb9c7; }
.workspace-icon, .count { color: #253247; background: #e4eaf1; border-color: #bdc7d3; }
.workspace-dot, .local-badge i { background: #08734f; }
.nav-item { color: #344257; }
.nav-item.active { color: #064b39; background: #d9eee5; }
.nav-item:hover { background: #e9eef4; }
.topbar strong { color: #182438; }
.local-badge { color: #064b39; background: #e5f3ec; border-color: #8eb6a0; }
.page-heading p { color: #3e4d62; }
.secondary { color: #202d42; border-color: #8996a7; background: #fff; }
.secondary:hover { background: #e8edf4; }
.primary { color: #fff; background: #075e48; border-color: #075e48; }
.primary:hover { background: #034a38; }
.steps { border-width: 1px; }
.step > span { color: #344257; border-color: #8996a7; }
.step.current > span { color: #064b39; background: #d9eee5; border-color: #6da58a; }
.step small { color: #4b586b; }
.panel-heading, .source-card { border-bottom-color: #c2ccd7; }
.text-button, .source-tabs button.selected { color: #064d3a; }
.saved-label { color: #344257; }
.source-title { color: #172033; }
.source-title small { color: #4b586b; }
.sheet-icon { color: #075e48; background: #e0f0e8; border-color: #93bba4; }
.icon-button { color: #46556a; }
.icon-button:hover { color: #9b2c19; background: #ffebe6; }
.source-tabs { border-bottom-color: #b9c3cf; }
.source-tabs button { color: #46556a; }
label { color: #26364b; }
input:not([type=checkbox]), select {
  color: #152238;
  border-color: #8996a7;
}
input::placeholder { color: #59677b; }
input:focus-visible, select:focus-visible { outline-color: #08734f; }
.source-loaded { color: #075e48; }
.source-loaded.error { color: #a32d1b; }
.range-fields { background: #edf2f7; border-color: #aeb9c7; }
.range-fields .field-hint { color: #46556a; }
.range-fields label span { color: #174b35; background: #d8eade; }
.confirm-range { width: 100%; margin-top: 12px; }
.field-hint { color: #46556a; }
.source-details summary { color: #173f31; }
.source-footer { color: #075e48; background: #edf4ee; }
.source-footer p { color: #344257; }
.source-config-summary > span { color: #344f3f; }
.export-history { color: #172033; background: #edf5ef; border-color: #91b39b; }
.export-history small, .history-entry small { color: #344f3f; }
.history-warning { color: #7a4300; }
.history-heading > span { color: #075e48; }
.source-switcher {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 14px 18px;
  border-bottom: 1px solid #b9c3cf;
  background: #e9eef4;
  scrollbar-color: #8090a3 #e9eef4;
}
.source-switcher-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  max-width: 230px;
  min-width: 135px;
  min-height: 48px;
  padding: 8px 12px;
  border: 1px solid #8996a7;
  border-radius: 8px;
  color: #26364b;
  background: #fff;
  text-align: left;
}
.source-switcher-tab:hover { border-color: #075e48; background: #f0f7f3; }
.source-switcher-tab.selected {
  color: #fff;
  background: #075e48;
  border-color: #064b39;
  box-shadow: 0 2px 5px #12352835;
}
.source-switcher-number {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 6px;
  color: #173f31;
  background: #dcece3;
  font-size: 11px;
  font-weight: 750;
}
.source-switcher-tab.selected .source-switcher-number { color: #064b39; background: #fff; }
.source-switcher-name {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.source-switcher-name small {
  display: block;
  margin-top: 4px;
  color: #46556a;
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .5px;
}
.source-switcher-tab.selected .source-switcher-name small { color: #e3f0e9; }
.source-switcher-state {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-left: auto;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .75;
}
.source-switcher-state.loaded { background: #08734f; border-color: #08734f; }
.source-switcher-tab.selected .source-switcher-state.loaded { background: #a9e7c7; border-color: #a9e7c7; }
.source-switcher-tab:focus-visible { outline: 3px solid #bd4a28; outline-offset: 2px; }
.source-card[hidden] { display: none !important; }
.batch-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.batch-actions p { flex-basis: 100%; color: #46556a; font-size: 12px; line-height: 1.7; }
.export-scope { padding: 16px; margin-bottom: 16px; border: 1px solid #c8d8cf; border-radius: 12px; background: #fff; }
.export-scope label { display: block; font-size: 13px; font-weight: 600; color: #173f31; }
.export-scope select { display: block; width: 100%; max-width: 520px; margin-top: 8px; }
.export-scope p { margin: 8px 0 0; font-size: 12px; line-height: 1.6; color: #46556a; }
.read-tabs { margin-top: 12px; }
.unexported-toggle { margin-bottom: 16px; font-size: 12px; }
.notice { color: #17314a; background: #e6f1fb; border: 1px solid #6b8dac; }
.notice.error { color: #7f2114; background: #ffebe6; border-color: #b64b36; }
.stats-row, .preview-tools, .table-footer, .range-note { color: #26364b; }
.stat { color: #26364b; background: #f0f3f7; border-color: #aeb9c7; }
.stat.valid { color: #064b39; background: #e2f2e9; border-color: #78aa8c; }
.stat.invalid { color: #7f2114; background: #ffebe6; border-color: #c77c6c; }
.stat.cod { color: #573800; background: #fff3d6; border-color: #c39a46; }
.preview-panel th { color: #fff; background: #26364b; }
.preview-panel td { color: #172033; border-color: #c2ccd7; }
.preview-panel td small { color: #46556a; }
.status.ok { color: #064b39; background: #dff2e7; border: 1px solid #68a382; }
.status.bad { color: #842518; background: #ffebe6; border: 1px solid #c77c6c; }
.status.warn { color: #674400; background: #fff2ce; border: 1px solid #c39a46; }
.error-list { color: #842518; }
.sort-note, .range-note { color: #344257; }
.stale-banner { color: #674400; background: #fff2ce; border-color: #c39a46; }
.export-bar { color: #172033; background: #f0f3f7; border-color: #aeb9c7; }
.upload-box { color: #173f31; background: #edf5ef; border-color: #5c8f70; }
.empty-state { color: #26364b; }
.empty-state p, .empty-foot { color: #46556a; }
.cod-note { color: #573800; background: #fff3d6; border-color: #c39a46; }
@media (max-width: 740px) {
  .source-switcher { padding: 12px; }
  .source-switcher-tab { min-width: 125px; max-width: 190px; }
}
