.delivery-marketplace-view {
  --dm-ink: #101820;
  --dm-ink-soft: #1b2d3c;
  --dm-cappuccino: #c9aa83;
  --dm-cappuccino-soft: #eadbc6;
  --dm-surface: #fffdf9;
  --dm-surface-muted: #f5efe6;
  --dm-border: #cfb998;
  --dm-success: #147a58;
  --dm-warning: #9a5a12;
  --dm-danger: #a83030;
  --dm-shadow: 0 14px 34px rgba(16, 24, 32, .09);
  color: var(--dm-ink);
}

.delivery-marketplace-view .surface,
.delivery-marketplace-view .dm-feature-banner {
  border: 1px solid var(--dm-border);
  border-radius: 18px;
  background: var(--dm-surface);
  box-shadow: var(--dm-shadow);
}

.dm-heading { align-items: flex-start; }
.dm-heading > div:first-child { max-width: 760px; }
.dm-heading h2 { margin-block: 4px 8px; }
.dm-heading p:last-child { max-width: 68ch; line-height: 1.75; }

.dm-feature-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-block: 18px;
  padding: 18px 20px;
  min-height: 72px;
}

.dm-feature-banner strong,
.dm-feature-banner span { display: block; }
.dm-feature-banner span { margin-top: 4px; color: #4c4033; }
.dm-feature-banner.is-disabled { border-inline-start: 5px solid var(--dm-warning); }
.dm-feature-banner.is-enabled { border-inline-start: 5px solid var(--dm-success); }

.dm-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-block: 16px 20px;
  padding: 6px;
  border: 1px solid var(--dm-border);
  border-radius: 16px;
  background: var(--dm-surface-muted);
  scrollbar-width: thin;
}

.dm-tabs button {
  flex: 0 0 auto;
  min-height: 44px;
  padding-inline: 18px;
  border-radius: 12px;
  color: var(--dm-ink);
  white-space: nowrap;
}

.dm-tabs button.active {
  color: #fff;
  border-color: var(--dm-ink);
  background: var(--dm-ink);
  box-shadow: 0 8px 18px rgba(16, 24, 32, .18);
}

.dm-tabs button:focus-visible,
.delivery-marketplace-view button:focus-visible,
.delivery-marketplace-view input:focus-visible,
.delivery-marketplace-view select:focus-visible,
.delivery-marketplace-view textarea:focus-visible {
  outline: 3px solid rgba(20, 122, 88, .42);
  outline-offset: 2px;
}

.dm-panel[hidden] { display: none !important; }
.dm-metrics { margin-bottom: 20px; }
.dm-metrics .metric { min-height: 112px; border-color: var(--dm-border); background: var(--dm-surface); }
.dm-metrics .metric strong { color: var(--dm-ink); font-variant-numeric: tabular-nums; }
.dm-kpi-surface { margin-bottom: 20px; padding: 22px; }
.dm-driver-kpi-list { display: grid; gap: 10px; margin-top: 18px; }
.dm-driver-kpi-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.15fr) repeat(3, minmax(145px, .85fr));
  align-items: center;
  gap: 14px;
  min-height: 104px;
  padding: 16px;
  border: 1px solid #d8c5aa;
  border-radius: 15px;
  background: var(--dm-surface-muted);
}
.dm-driver-kpi-row.is-overdue { border-inline-start: 5px solid var(--dm-danger); }
.dm-kpi-driver { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dm-kpi-driver strong,
.dm-kpi-driver small,
.dm-kpi-value small,
.dm-kpi-value b,
.dm-kpi-value span { display: block; }
.dm-kpi-driver small,
.dm-kpi-value small,
.dm-kpi-value span { color: #5d5145; }
.dm-kpi-rank { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; color: #fff; background: var(--dm-ink); font-weight: 800; }
.dm-kpi-value { min-width: 0; }
.dm-kpi-value b { margin-block: 5px 3px; color: var(--dm-ink); font-size: 1.05rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dm-kpi-settlement span { font-weight: 700; }
.dm-driver-kpi-row.is-overdue .dm-kpi-settlement span { color: #842929; }

.dm-dashboard-grid,
.dm-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  gap: 20px;
}

.dm-two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dm-finance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dm-finance-grid > .surface { padding: 22px; }
.dm-finance-wide { grid-column: 1 / -1; }
.dm-orders-surface,
.dm-health-surface,
.dm-form-surface,
.dm-settings-surface,
.dm-two-column > .surface,
.dm-panel > .surface { padding: 22px; }

.dm-filter-label { min-width: 170px; font-weight: 600; }
.dm-filter-label select { margin-top: 6px; width: 100%; }
.dm-order-list,
.dm-card-list,
.dm-health-list,
.dm-policy-list,
.dm-ledger-list,
.dm-settlement-list,
.dm-adjustment-list,
.dm-close-list { display: grid; gap: 12px; margin-top: 18px; }

.dm-order-card {
  display: grid;
  grid-template-columns: minmax(170px, 1.15fr) repeat(3, minmax(110px, .65fr));
  align-items: center;
  gap: 14px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid #dccbb3;
  border-radius: 14px;
  background: #fffdfa;
}

.dm-order-card:hover { border-color: var(--dm-cappuccino); box-shadow: 0 9px 22px rgba(16, 24, 32, .07); }
.dm-order-card h4 { margin: 0 0 5px; font-size: 1rem; }
.dm-order-card p,
.dm-order-card small { margin: 0; color: #5d5145; overflow-wrap: anywhere; }
.dm-order-cell { min-width: 0; }
.dm-order-cell span { display: block; margin-bottom: 5px; color: #6a5d50; font-size: .78rem; }
.dm-order-cell strong { font-variant-numeric: tabular-nums; }

.dm-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid #c7b698;
  border-radius: 999px;
  color: var(--dm-ink);
  background: var(--dm-cappuccino-soft);
  font-size: .78rem;
  font-weight: 700;
}

.dm-status.available,
.dm-status.delivered,
.dm-status.financially_closed { color: #0c5a3f; border-color: #7db7a1; background: #e3f3ec; }
.dm-status.claimed,
.dm-status.picked_up,
.dm-status.in_transit { color: #173b5a; border-color: #9bb5c9; background: #e8f0f6; }
.dm-status.returned,
.dm-status.return_pending,
.dm-status.failed { color: #7b2626; border-color: #d6a1a1; background: #f7e7e7; }

.dm-health-item,
.dm-partner-card,
.dm-policy-row,
.dm-ledger-row,
.dm-close-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid #dfd1bd;
  border-radius: 13px;
  background: var(--dm-surface-muted);
}

.dm-health-item strong,
.dm-partner-card strong,
.dm-policy-row strong,
.dm-ledger-row strong,
.dm-close-row strong { display: block; margin-bottom: 4px; }
.dm-health-item span,
.dm-partner-card span,
.dm-policy-row span,
.dm-ledger-row span,
.dm-close-row span { color: #5d5145; font-size: .86rem; }
.dm-health-indicator { width: 10px; height: 10px; flex: 0 0 10px; margin-top: 6px; border-radius: 50%; background: var(--dm-success); box-shadow: 0 0 0 4px rgba(20,122,88,.12); }
.dm-health-indicator.warning { background: var(--dm-warning); box-shadow: 0 0 0 4px rgba(154,90,18,.12); }
.dm-inline-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.dm-editor-actions { display: flex; justify-content: flex-end; gap: 10px; }
.dm-editor-actions .button { min-width: 132px; }
.delivery-marketplace-view .button.danger { color: #fff; border-color: var(--dm-danger); background: var(--dm-danger); }
.delivery-marketplace-view .button.danger:hover { border-color: #7f2222; background: #7f2222; }

.dm-list-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, .38fr);
  gap: 12px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #dfd1bd;
  border-radius: 14px;
  background: var(--dm-surface-muted);
}
.dm-list-toolbar label { min-width: 0; color: #514539; font-size: .78rem; font-weight: 700; }
.dm-list-toolbar label > span { display: block; margin-bottom: 6px; }
.dm-list-toolbar input,
.dm-list-toolbar select { width: 100%; min-height: 42px; border-color: #bba789; background: #fff; color: var(--dm-ink); }

.dm-supplier-group {
  overflow: hidden;
  border: 1px solid #d8c5aa;
  border-radius: 16px;
  background: var(--dm-surface);
}
.dm-supplier-header,
.dm-customer-card,
.dm-branch-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
.dm-supplier-header { background: linear-gradient(135deg, #fffdf9, #f7f0e6); }
.dm-entity-identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dm-entity-identity > div { min-width: 0; }
.dm-entity-identity strong,
.dm-entity-identity span,
.dm-entity-identity small { display: block; overflow-wrap: anywhere; }
.dm-entity-identity span,
.dm-entity-identity small { margin-top: 4px; color: #5d5145; }
.dm-entity-avatar,
.dm-branch-index {
  display: grid !important;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin: 0 !important;
  border-radius: 13px;
  color: #fff !important;
  background: var(--dm-ink);
  font-weight: 800;
}
.dm-branch-index { width: 34px; height: 34px; flex-basis: 34px; border-radius: 10px; color: var(--dm-ink) !important; background: var(--dm-cappuccino-soft); font-size: .78rem; }
.dm-branch-toggle {
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #bca98c;
  border-radius: 999px;
  color: var(--dm-ink);
  background: #fff;
  font-weight: 800;
}
.dm-branch-toggle::after { content: '⌄'; display: inline-block; margin-inline-start: 7px; transition: transform .18s ease; }
.dm-branch-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
.dm-branch-panel { padding: 8px 14px 14px; border-top: 1px solid #e4d7c4; background: #f4ede3; }
.dm-branch-panel[hidden] { display: none !important; }
.dm-branch-row { grid-template-columns: minmax(190px, 1fr) auto; margin-top: 8px; border: 1px solid #dfd1bd; border-radius: 13px; background: #fff; }
.dm-inline-empty { padding: 18px; color: #5d5145; text-align: center; }
.dm-customer-card { grid-template-columns: minmax(190px, 1fr) auto; border: 1px solid #d8c5aa; border-radius: 15px; background: var(--dm-surface-muted); }
.dm-customer-card:hover,
.dm-driver-card:hover { border-color: var(--dm-cappuccino); box-shadow: 0 10px 24px rgba(16,24,32,.07); }

.dm-order-builder { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 20px; margin-top: 18px; }
.dm-order-form { display: grid; gap: 16px; }
.dm-order-step { padding: 18px; border: 1px solid #d8c5aa; border-radius: 16px; background: var(--dm-surface-muted); }
.dm-order-step > header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.dm-order-step > header > span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; color: #fff; background: var(--dm-ink); font-weight: 800; }
.dm-order-step h4 { margin: 0 0 4px; color: var(--dm-ink); font-size: 1rem; }
.dm-order-step header p { margin: 0; color: #5d5145; }
.dm-order-summary {
  --dm-summary-bg: #101820;
  --dm-summary-text: #fffaf2;
  --dm-summary-muted: #eadbc6;
  --dm-summary-line: rgba(255, 250, 242, .28);
  position: sticky;
  top: 18px;
  padding: 20px;
  border: 1px solid #33434f;
  border-radius: 17px;
  color: var(--dm-summary-text);
  background: var(--dm-summary-bg);
  box-shadow: 0 14px 30px rgba(16,24,32,.16);
  color-scheme: dark;
}
.dm-order-summary .eyebrow { color: var(--dm-summary-muted); }
.dm-order-summary h4 { margin: 5px 0 16px; color: var(--dm-summary-text); font-size: 1.15rem; }
.dm-order-summary dl { display: grid; gap: 0; margin: 0; }
.dm-order-summary dl > div { display: grid; gap: 4px; padding-block: 11px; border-bottom: 1px solid var(--dm-summary-line); }
.dm-order-summary dt { color: var(--dm-summary-muted); font-size: .78rem; }
.dm-order-summary dd { margin: 0; color: var(--dm-summary-text); font-weight: 800; overflow-wrap: anywhere; }
.dm-order-summary-note { margin: 16px 0 0; color: var(--dm-summary-muted); line-height: 1.65; font-size: .82rem; }

/* Keep the dark review card readable when a portal preset applies global
   !important text colors to every element inside #portal-view. */
html body[data-dashboard-theme] #portal-view .delivery-marketplace-view .dm-order-summary {
  color: var(--dm-summary-text) !important;
  border-color: #33434f !important;
  background: var(--dm-summary-bg) !important;
}
html body[data-dashboard-theme] #portal-view .delivery-marketplace-view .dm-order-summary :is(h4, dd) {
  color: var(--dm-summary-text) !important;
  opacity: 1 !important;
}
html body[data-dashboard-theme] #portal-view .delivery-marketplace-view .dm-order-summary :is(.eyebrow, dt, .dm-order-summary-note) {
  color: var(--dm-summary-muted) !important;
  opacity: 1 !important;
}
html body[data-dashboard-theme] #portal-view .delivery-marketplace-view .dm-order-summary dl > div {
  border-bottom-color: var(--dm-summary-line) !important;
}
.dm-order-submit { width: 100%; min-height: 50px; }

.dm-form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dm-form label { min-width: 0; color: var(--dm-ink); font-weight: 600; }
.dm-form input,
.dm-form select,
.dm-form textarea { width: 100%; min-height: 46px; margin-top: 7px; border-color: #bba789; background: #fff; color: var(--dm-ink); }
.dm-form textarea { min-height: 92px; resize: vertical; }

.dm-gps-picker {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid #cdb999;
  border-radius: 14px;
  background: #fffaf2;
}
.dm-gps-picker legend { padding-inline: 7px; color: var(--dm-ink); font-weight: 800; }
.dm-gps-picker legend span { color: #655649; font-size: .78rem; font-weight: 600; }
.dm-gps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dm-gps-actions,
.dm-entity-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dm-gps-actions { margin-top: 12px; }
.dm-gps-actions .button { min-height: 44px; }
.dm-gps-status { margin: 9px 0 0; color: #5d5145 !important; line-height: 1.6; font-size: .78rem; }
.dm-gps-status[data-state="success"] { color: #0c6649 !important; }
.dm-gps-status[data-state="error"] { color: #982c2c !important; }
.dm-map-link { text-decoration: none; }

.dm-driver-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.dm-driver-card { min-width: 0; padding: 18px; border: 1px solid #d8c5aa; border-radius: 16px; background: var(--dm-surface-muted); }
.dm-driver-card header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.dm-driver-card h4 { margin: 0 0 4px; }
.dm-driver-card p { margin: 0; color: #5d5145; overflow-wrap: anywhere; }
.dm-driver-card .dm-driver-balance { margin-top: 7px; color: var(--dm-ink); font-weight: 700; }
.dm-driver-card footer { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.dm-driver-card button { min-height: 42px; }

.dm-switch,
.dm-check { display: flex !important; align-items: center; gap: 12px; min-height: 52px; }
.dm-switch input,
.dm-check input { width: 22px; height: 22px; min-height: 22px; margin: 0; accent-color: var(--dm-ink); }
.dm-switch span { display: grid; gap: 3px; }
.dm-switch small { color: #5d5145; font-weight: 400; }

.dm-adjustment-card {
  padding: 18px;
  border: 1px solid #d8c5aa;
  border-radius: 16px;
  background: var(--dm-surface-muted);
}
.dm-adjustment-card.is-pending { border-inline-start: 5px solid var(--dm-warning); }
.dm-adjustment-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dm-adjustment-card header strong,
.dm-adjustment-card header span { display: block; }
.dm-adjustment-card header span,
.dm-adjustment-card > p,
.dm-adjustment-card > small { margin-top: 5px; color: #5d5145; }
.dm-adjustment-amounts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-block: 14px; }
.dm-adjustment-amounts .metric { min-height: 84px; padding: 13px; border: 1px solid #dccbb3; box-shadow: none; }
.dm-adjustment-actions { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 8px; margin-top: 14px; }
.dm-adjustment-actions input { min-height: 44px; width: 100%; }
.dm-close-list .dm-empty { min-height: 100px; }

.dm-empty {
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 24px;
  border: 1px dashed #bca98c;
  border-radius: 14px;
  color: #5d5145;
  text-align: center;
}

.dm-skeleton { min-height: 88px; border-radius: 14px; background: linear-gradient(90deg,#efe5d7 25%,#faf6ef 45%,#efe5d7 65%); background-size: 220% 100%; animation: dm-shimmer 1.25s linear infinite; }
@keyframes dm-shimmer { to { background-position-x: -220%; } }

[dir="ltr"] .delivery-marketplace-view { text-align: left; }

@media (max-width: 1100px) {
  .dm-dashboard-grid,
  .dm-two-column,
  .dm-finance-grid { grid-template-columns: 1fr; }
  .dm-finance-wide { grid-column: auto; }
  .dm-driver-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-driver-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-kpi-driver { grid-column: 1 / -1; }
  .dm-order-builder { grid-template-columns: 1fr; }
  .dm-order-summary { position: static; }
}

@media (max-width: 720px) {
  .dm-heading { gap: 14px; }
  .dm-heading .surface-actions { width: 100%; justify-content: space-between; }
  .dm-feature-banner { align-items: flex-start; flex-direction: column; }
  .dm-tabs { margin-inline: -4px; border-radius: 14px; }
  .dm-form { grid-template-columns: 1fr; }
  .dm-gps-grid { grid-template-columns: 1fr; }
  .dm-form .accounting-field-wide { grid-column: auto; }
  .dm-driver-grid { grid-template-columns: 1fr; }
  .dm-order-card { grid-template-columns: 1fr 1fr; }
  .dm-order-card > div:first-child { grid-column: 1 / -1; }
  .dm-orders-surface,
  .dm-health-surface,
  .dm-form-surface,
  .dm-settings-surface,
  .dm-two-column > .surface,
  .dm-panel > .surface { padding: 16px; }
  .dm-finance-grid > .surface { padding: 16px; }
  .dm-adjustment-actions { grid-template-columns: 1fr 1fr; }
  .dm-adjustment-actions input { grid-column: 1 / -1; }
  .dm-driver-kpi-row { grid-template-columns: 1fr 1fr; }
  .dm-list-toolbar { grid-template-columns: 1fr; }
  .dm-supplier-header { grid-template-columns: minmax(0, 1fr) auto; }
  .dm-supplier-header .dm-inline-actions { grid-column: 1 / -1; justify-content: stretch; }
  .dm-supplier-header .dm-inline-actions .button { flex: 1 1 140px; }
  .dm-branch-row,
  .dm-customer-card { grid-template-columns: 1fr; }
  .dm-branch-row > .button,
  .dm-customer-card > .button { width: 100%; }
}

@media (max-width: 420px) {
  .dm-order-card { grid-template-columns: 1fr; }
  .dm-order-card > div:first-child { grid-column: auto; }
  .dm-driver-card footer { grid-template-columns: 1fr; }
  .dm-adjustment-amounts,
  .dm-adjustment-actions { grid-template-columns: 1fr; }
  .dm-adjustment-actions input { grid-column: auto; }
  .dm-driver-kpi-row { grid-template-columns: 1fr; }
  .dm-kpi-driver { grid-column: auto; }
  .dm-editor-actions { flex-direction: column-reverse; }
  .dm-editor-actions .button { width: 100%; }
  .dm-supplier-header { grid-template-columns: 1fr; }
  .dm-branch-toggle { width: 100%; }
  .dm-order-step { padding: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .dm-skeleton { animation: none; background: #efe5d7; }
  .delivery-marketplace-view * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
