/* DVS UI Core v3 — P0 Design System Contract
   ---------------------------------------------------------------
   OWNERSHIP
   - design-system.css owns: palette, component geometry, padding,
     typography, borders and interaction states.
   - feature stylesheets own: grid/flex placement, widths, positioning,
     overflow and responsive composition.
   - no screen gets a private button/input/chip/row/selected language.
   --------------------------------------------------------------- */

html[data-design-system="dvs-core-v3"] {
  color-scheme: light;

  /* P0.1 — one semantic palette */
  --ui-canvas: #f2f2ed;
  --ui-surface: #fafaf7;
  --ui-surface-raised: #f0f0ea;
  --ui-surface-strong: #e7e7e0;
  --ui-text: #11110f;
  --ui-text-soft: #41413c;
  --ui-muted: #74746d;
  --ui-disabled: #a2a29a;
  --ui-border: #d0d0c8;
  --ui-border-strong: #77776f;
  --ui-hover: #f0f0ea;
  --ui-selected: #e7e7e0;
  --ui-expanded: #deded7;
  --ui-selection-rail: #11110f;
  --ui-success: #2f6f4b;
  --ui-danger: #96343a;
  --ui-focus: #145ea8;

  /* P0.1 — one geometry scale */
  --ui-control-h: 44px;
  --ui-chip-h: 32px;
  --ui-icon-button: 44px;
  --ui-row-action: 36px;
  --ui-tile-h: 64px;
  --ui-row-h: 56px;
  --ui-row-relaxed-h: 60px;
  --ui-row-stacked-h: 84px;
  --ui-row-dense-h: 48px;
  --ui-toolbar-h: 56px;
  --ui-header-h: 56px;
  --ui-section-h: 40px;
  --ui-badge-h: 24px;
  --ui-textarea-h: 88px;
  --ui-pad-x: 14px;
  --ui-pad-panel: 16px;
  --ui-gap: 8px;

  /* Typography */
  --ui-font: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
  --ui-font-md: 14px;
  --ui-font-sm: 12px;
  --ui-font-xs: 10px;
  --ui-line: 1.3;


}

html[data-design-system="dvs-core-v3"][data-theme="dark"] {
  color-scheme: dark;
  --ui-canvas: #10100e;
  --ui-surface: #171715;
  --ui-surface-raised: #1f1f1c;
  --ui-surface-strong: #272723;
  --ui-text: #f4f4ef;
  --ui-text-soft: #d0d0c9;
  --ui-muted: #9e9e96;
  --ui-disabled: #686861;
  --ui-border: #3b3b36;
  --ui-border-strong: #77776f;
  --ui-hover: #20201d;
  --ui-selected: #242420;
  --ui-expanded: #2b2b27;
  --ui-selection-rail: #ecece5;
  --ui-success: #71ca98;
  --ui-danger: #ff858a;
  --ui-focus: #74b7ff;
}

html[data-design-system="dvs-core-v3"],
html[data-design-system="dvs-core-v3"] body {
  font-family: var(--ui-font);
  background: var(--ui-canvas);
  color: var(--ui-text);
}

html[data-design-system="dvs-core-v3"] .dvs-app :where(
  .ui-control,.ui-button,.ui-input,.ui-search,.ui-chip,.ui-badge,
  .ui-panel,.ui-header,.ui-toolbar,.ui-section-header,.ui-row
) {
  border-radius: 0 !important;
  box-shadow: none;
}

/* ================================================================
   CONTROL / BUTTON
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app :where(.ui-control,.ui-button) {
  min-height: var(--ui-control-h) !important;
  height: var(--ui-control-h) !important;
  padding: 0 var(--ui-pad-x) !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  font-size: var(--ui-font-md) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button { cursor: pointer; }
html[data-design-system="dvs-core-v3"] .dvs-app :where(.ui-control,.ui-button):hover:not(:disabled) {
  background: var(--ui-hover) !important;
  border-color: var(--ui-border-strong) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button:active:not(:disabled) {
  background: var(--ui-surface-strong) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button:disabled,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.is-disabled {
  color: var(--ui-disabled) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-border) !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--primary {
  background: var(--ui-text) !important;
  color: var(--ui-canvas) !important;
  border-color: var(--ui-text) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--primary:hover:not(:disabled) {
  background: var(--ui-text-soft) !important;
  border-color: var(--ui-text-soft) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--danger {
  color: var(--ui-danger) !important;
  background: var(--ui-surface) !important;
  border-color: color-mix(in srgb, var(--ui-danger) 58%, var(--ui-border)) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-danger) 9%, var(--ui-surface)) !important;
  border-color: var(--ui-danger) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--icon {
  width: var(--ui-icon-button) !important;
  min-width: var(--ui-icon-button) !important;
  max-width: var(--ui-icon-button) !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-button--tile {
  height: var(--ui-tile-h) !important;
  min-height: var(--ui-tile-h) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-row-action {
  width: var(--ui-row-action) !important;
  min-width: var(--ui-row-action) !important;
  max-width: var(--ui-row-action) !important;
  height: var(--ui-row-action) !important;
  min-height: var(--ui-row-action) !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: var(--ui-font-sm) !important;
}

/* ================================================================
   INPUT / SEARCH / FILE
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-input {
  min-height: var(--ui-control-h) !important;
  height: var(--ui-control-h) !important;
  padding: 0 var(--ui-pad-x) !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  font-size: var(--ui-font-md) !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  outline: 0;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-input::placeholder {
  color: var(--ui-muted) !important;
  opacity: 1;
}
html[data-design-system="dvs-core-v3"] .dvs-app textarea.ui-input,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-input.ui-textarea {
  height: auto !important;
  min-height: var(--ui-textarea-h) !important;
  padding-block: 11px !important;
  line-height: 1.35 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-search {
  display: flex;
  align-items: stretch;
  min-height: var(--ui-control-h) !important;
  height: var(--ui-control-h) !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-search :where(.ui-input,input) {
  min-width: 0;
  height: calc(var(--ui-control-h) - 2px) !important;
  min-height: calc(var(--ui-control-h) - 2px) !important;
  border: 0 !important;
  background: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* Search is one field, not three boxed cells. */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-search :where(.catalog-global-search__label,kbd) {
  border: 0 !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-file {
  width: 100%;
  min-height: var(--ui-control-h) !important;
  height: var(--ui-control-h) !important;
  padding: 0 !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-muted) !important;
  font: inherit;
  font-size: var(--ui-font-sm) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-file::file-selector-button {
  height: calc(var(--ui-control-h) - 2px);
  margin: 0 12px 0 0;
  padding: 0 var(--ui-pad-x);
  border: 0;
  border-right: 1px solid var(--ui-border);
  background: var(--ui-surface-raised);
  color: var(--ui-text);
  font: inherit;
}

/* ================================================================
   CHIP / BADGE
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-chip,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-button.ui-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--ui-chip-h) !important;
  min-height: var(--ui-chip-h) !important;
  padding: 0 10px !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  font-size: var(--ui-font-sm) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-chip:hover:not(:disabled) {
  background: var(--ui-hover) !important;
  border-color: var(--ui-border-strong) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-chip:is(.is-active,.is-selected,[aria-pressed="true"],[aria-selected="true"]) {
  background: var(--ui-selected) !important;
  color: var(--ui-text) !important;
  border-color: var(--ui-border-strong) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-badge {
  display: inline-grid !important;
  place-items: center !important;
  width: auto !important;
  min-width: 28px !important;
  height: var(--ui-badge-h) !important;
  min-height: var(--ui-badge-h) !important;
  padding: 0 7px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
  box-shadow: none !important;
}

/* ================================================================
   PANEL / CHROME
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel {
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app :where(.ui-header,.ui-toolbar) {
  min-height: var(--ui-header-h) !important;
  height: var(--ui-header-h) !important;
  border-bottom: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-section-header {
  min-height: var(--ui-section-h) !important;
  height: var(--ui-section-h) !important;
  border-bottom: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}

/* ================================================================
   PANEL IDENTITY / FOOTER
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel-identity {
  padding: 0 var(--ui-pad-panel) !important;
  border-bottom: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel-kicker {
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel-title {
  margin: 0 !important;
  color: var(--ui-text) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel-meta {
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  line-height: 1.2 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-footer {
  padding: var(--ui-pad-panel) !important;
  border-top: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-footer-metrics {
  color: var(--ui-text) !important;
  font-size: var(--ui-font-xs) !important;
  line-height: 1 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-footer-stat small {
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  font-weight: 400 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-footer-stat b {
  color: var(--ui-text) !important;
  font-size: var(--ui-font-md) !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-footer-status {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: var(--ui-badge-h) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-panel-identity::after,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked::before,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked::after {
  display: none !important;
}

/* ================================================================
   ROW + P0.2 INTERACTION STATE CONTRACT
   selected = tonal + rail
   expanded = stronger tonal + rail, never disabled
   disabled = muted, no selection rail
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row {
  min-height: var(--ui-row-h) !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
  transition: background-color 90ms linear, color 90ms linear, border-color 90ms linear;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:hover:not(.is-active):not(.is-selected):not(.ui-state-expanded):not(:disabled) {
  background: var(--ui-hover) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:is(.is-active,.is-selected,[aria-selected="true"],[aria-pressed="true"]) {
  background: var(--ui-selected) !important;
  color: var(--ui-text) !important;
  box-shadow: inset 3px 0 0 var(--ui-selection-rail) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:is(.ui-state-expanded,.has-inline-editor,[aria-expanded="true"]) {
  background: var(--ui-expanded) !important;
  color: var(--ui-text) !important;
  box-shadow: inset 3px 0 0 var(--ui-selection-rail), inset 0 -1px 0 var(--ui-border-strong) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:is(:disabled,.is-disabled,[aria-disabled="true"]) {
  background: var(--ui-surface) !important;
  color: var(--ui-disabled) !important;
  box-shadow: none !important;
}

/* P3 relaxed row: one stable 60px content lane. Expanded content may be
   appended below it, but hover/selected/expanded never change this lane. */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row.ui-row--relaxed {
  min-height: var(--ui-row-relaxed-h) !important;
}

/* P4 stacked row: reusable three-lane row for compact document/order lists.
   Geometry and typography stay invariant across hover/selected states. */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row.ui-row--stacked {
  height: var(--ui-row-stacked-h) !important;
  min-height: var(--ui-row-stacked-h) !important;
  padding: 9px var(--ui-pad-x) !important;
  overflow: hidden !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__index {
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__copy {
  min-width: 0 !important;
  overflow: hidden !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__title {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--ui-text) !important;
  font-size: var(--ui-font-md) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__description {
  display: block !important;
  min-width: 0 !important;
  margin-top: 3px !important;
  overflow: hidden !important;
  color: var(--ui-text-soft) !important;
  font-size: var(--ui-font-sm) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin-top: 7px !important;
  overflow: hidden !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__meta .ui-chip {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--stacked .ui-row__side {
  align-self: start !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed > .ui-row__main {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: var(--ui-row-relaxed-h) !important;
  min-height: var(--ui-row-relaxed-h) !important;
  padding: 0 var(--ui-pad-x) !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-align: left !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed .ui-row__copy {
  display: block !important;
  min-width: 0 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed .ui-row__copy :where(strong,small) {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed .ui-row__copy strong {
  color: var(--ui-text) !important;
  font-size: var(--ui-font-md) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed .ui-row__copy small {
  margin-top: 4px !important;
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-sm) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row--relaxed:is(.is-active,.is-selected,.ui-state-expanded,.has-inline-editor) .ui-row__copy small {
  color: var(--ui-text-soft) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:is(.is-active,.is-selected,.ui-state-expanded,.has-inline-editor) :where(strong,b,small,span) {
  color: inherit;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-row:is(.is-active,.is-selected,.ui-state-expanded,.has-inline-editor) .ui-badge {
  color: var(--ui-text) !important;
}

/* ================================================================
   FOCUS / REDUCED MOTION
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app :where(.ui-button,.ui-control,.ui-chip,.ui-row,[role="button"]):focus-visible,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-input:focus-visible,
html[data-design-system="dvs-core-v3"] .dvs-app .ui-search:focus-within {
  outline: 2px solid var(--ui-focus) !important;
  outline-offset: -2px !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-design-system="dvs-core-v3"] .dvs-app :where(.ui-button,.ui-chip,.ui-row) { transition: none !important; }
}

/* ================================================================
   LEGACY MARKUP ADAPTERS — visuals still belong to the core.
   These rules do not create screen-specific component variants; they make
   existing markup consume the same primitives while business logic remains.
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app :where(.modal,.modal-backdrop,.surface-card,.toast,.version-banner) {
  border-radius: 0 !important;
  box-shadow: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .modal-backdrop {
  background: var(--ui-canvas) !important;
  backdrop-filter: none !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .modal__eyebrow,
html[data-design-system="dvs-core-v3"] .dvs-app .settings-choice-label,
html[data-design-system="dvs-core-v3"] .dvs-app .database-flow-field > span,
html[data-design-system="dvs-core-v3"] .dvs-app .bulk-value-card > span {
  color: var(--ui-muted) !important;
  font-size: var(--ui-font-xs) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}
html[data-design-system="dvs-core-v3"] .dvs-app .modal__footer {
  min-height: var(--ui-header-h) !important;
  border-top: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .order-tag {
  min-height: var(--ui-badge-h) !important;
  height: var(--ui-badge-h) !important;
  padding: 0 7px !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .toast,
html[data-design-system="dvs-core-v3"] .dvs-app .version-banner {
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .toast.error { border-color: var(--ui-danger) !important; }

/* Order selection must never switch to a separate white-card geometry. */
html[data-design-system="dvs-core-v3"] .dvs-app .order-line.ui-row.is-selected {
  margin: 0 !important;
  background: var(--ui-selected) !important;
  color: var(--ui-text) !important;
  box-shadow: inset 3px 0 0 var(--ui-selection-rail) !important;
}
html[data-design-system="dvs-core-v3"] .dvs-app .order-line.ui-row.is-selected::before,
html[data-design-system="dvs-core-v3"] .dvs-app .order-line.ui-row.is-selected::after { display: none !important; }
html[data-design-system="dvs-core-v3"] .dvs-app .order-line.ui-row.is-selected :where(.order-line__index,.order-line__description,.order-line__color,.order-tag,.order-line__quantity) {
  color: inherit !important;
  background: transparent !important;
}

/* A passive count is never styled like a button. */
html[data-design-system="dvs-core-v3"] .dvs-app :where(.database-level-option small,.order-line__quantity,.catalog-target__positions-header > b,.catalog-target__section-header small).ui-badge {
  border: 0 !important;
  background: transparent !important;
}

/* Mobile changes composition, not component geometry. */
@media (max-width: 640px) {
  html[data-design-system="dvs-core-v3"] { --ui-pad-panel: 12px; }
}


/* ================================================================
   UNIVERSAL SCROLL SURFACE
   Layout decides where scrolling happens; UI Core owns its appearance.
   ================================================================ */
html[data-design-system="dvs-core-v3"] .dvs-app .ui-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--ui-border-strong) transparent;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-scroll::-webkit-scrollbar-track {
  background: transparent;
}
html[data-design-system="dvs-core-v3"] .dvs-app .ui-scroll::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  background: var(--ui-border-strong);
  background-clip: padding-box;
}
