/**
 * Sultan ERP design system — SCREEN-STANDARD "UI / UX standard"
 * Source of truth: docs/distribution/ui-sample.html (approved)
 * Tokens, shell, badges, tables, filters, phone layout.
 * Every page shares this shell. Old AdminLTE class names are skinned
 * in ds-bridge.css — do not invent a second theme.
 */
:root {
  --ds-bg: #f3f5f6;
  --ds-surface: #ffffff;
  --ds-fg: #17202a;
  --ds-muted: #5c6b78;
  --ds-line: #e1e6ea;
  --ds-accent: #0b6e75;
  --ds-accent-soft: #e3f2f2;
  --ds-nav: #0f2a33;
  --ds-nav-fg: #c9d6db;
  --ds-ok: #1d7a46;
  --ds-ok-bg: #e4f4ea;
  --ds-warn: #9a5b00;
  --ds-warn-bg: #fdf1dc;
  --ds-bad: #b4232c;
  --ds-bad-bg: #fbe6e7;
  --ds-info: #2b4f80;
  --ds-info-bg: #e8eef6;
  --ds-sans: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;
  --ds-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  --ds-radius: 8px;
  --ds-radius-lg: 10px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 24px;
  --ds-space-6: 32px;
  --ds-shadow: 0 1px 2px rgba(15, 42, 51, 0.06);
  --ds-side-w: 232px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ds-bg: #0f1519;
    --ds-surface: #172026;
    --ds-fg: #e4eaee;
    --ds-muted: #93a3ae;
    --ds-line: #26323a;
    --ds-accent: #3fb4bb;
    --ds-accent-soft: #16343a;
    --ds-nav: #0a1013;
    --ds-nav-fg: #9fb1ba;
    --ds-ok: #5fc98a;
    --ds-ok-bg: #163224;
    --ds-warn: #e3a649;
    --ds-warn-bg: #352812;
    --ds-bad: #f07279;
    --ds-bad-bg: #3a1a1d;
    --ds-info: #8db3e6;
    --ds-info-bg: #18273a;
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --ds-bg: #0f1519;
  --ds-surface: #172026;
  --ds-fg: #e4eaee;
  --ds-muted: #93a3ae;
  --ds-line: #26323a;
  --ds-accent: #3fb4bb;
  --ds-accent-soft: #16343a;
  --ds-nav: #0a1013;
  --ds-nav-fg: #9fb1ba;
  --ds-ok: #5fc98a;
  --ds-ok-bg: #163224;
  --ds-warn: #e3a649;
  --ds-warn-bg: #352812;
  --ds-bad: #f07279;
  --ds-bad-bg: #3a1a1d;
  --ds-info: #8db3e6;
  --ds-info-bg: #18273a;
  color-scheme: dark;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html.ds-html,
body.ds-body {
  margin: 0;
  min-height: 100%;
  background: var(--ds-bg);
  color: var(--ds-fg);
  font: 14px/1.45 var(--ds-sans);
  -webkit-font-smoothing: antialiased;
}

a.ds-link {
  color: var(--ds-accent);
  text-decoration: none;
}
a.ds-link:hover {
  text-decoration: underline;
}

/* ——— Shell ——— */
.ds-app {
  display: grid;
  grid-template-columns: var(--ds-side-w) 1fr;
  min-height: 100vh;
}

.ds-side {
  background: var(--ds-nav);
  color: var(--ds-nav-fg);
  padding: var(--ds-space-4) var(--ds-space-3);
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  z-index: 20;
}

.ds-side-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ds-side-search {
  padding: 0 0 8px;
  flex-shrink: 0;
}
.ds-side-search .ds-search {
  width: 100%;
  max-width: none;
  background: rgba(255, 255, 255, 0.06);
  border-color: transparent;
  color: #fff;
}
.ds-side-search .ds-search::placeholder {
  color: var(--ds-nav-fg);
}

.ds-brand {
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 6px 10px 16px;
  display: flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
}
.ds-brand-mark {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--ds-accent);
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}
.ds-top-brand {
  display: none;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--ds-fg);
  font-weight: 700;
  font-size: 14px;
}
.ds-top-brand-name {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ds-top-search {
  flex: 1;
  max-width: 460px;
  display: flex;
  margin: 0;
}
.ds-top-search .ds-search {
  width: 100%;
}

.ds-grp {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.6;
  padding: 14px 10px 4px;
}

.ds-side a.ds-nav-link {
  color: inherit;
  text-decoration: none;
  padding: 7px 10px;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.ds-side a.ds-nav-link:hover {
  background: rgba(255, 255, 255, 0.06);
}
.ds-side a.ds-nav-link.on {
  background: rgba(63, 180, 187, 0.18);
  color: #fff;
  font-weight: 600;
}
.ds-side .ds-pill {
  font-size: 11px;
  background: var(--ds-bad);
  color: #fff;
  border-radius: 9px;
  padding: 0 6px;
  line-height: 1.6;
}

.ds-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.ds-top {
  background: var(--ds-surface);
  border-bottom: 1px solid var(--ds-line);
  display: flex;
  gap: var(--ds-space-3);
  align-items: center;
  padding-block: 10px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 5;
}

.ds-menu-toggle {
  display: none;
  border: 1px solid var(--ds-line);
  background: var(--ds-surface);
  color: var(--ds-fg);
  border-radius: var(--ds-radius);
  width: 36px;
  height: 36px;
  cursor: pointer;
  font-size: 16px;
}

.ds-search {
  flex: 1;
  max-width: 460px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: 8px 12px;
  background: var(--ds-bg);
  color: var(--ds-fg);
  font: inherit;
}
.ds-search::placeholder {
  color: var(--ds-muted);
}

.ds-sp {
  flex: 1;
}

.ds-chip {
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: 7px 10px;
  font-size: 13px;
  background: var(--ds-surface);
  color: var(--ds-fg);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ds-chip b {
  font-weight: 600;
}
.ds-chip .ds-fx {
  color: var(--ds-muted);
  text-decoration: none;
  margin-left: 2px;
}
.ds-chip .ds-fx:hover {
  color: var(--ds-bad);
}

.ds-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ds-accent);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  flex-shrink: 0;
}

.ds-content {
  padding-block: 20px 40px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* ——— Page header ——— */
.ds-ph {
  display: flex;
  align-items: flex-end;
  gap: var(--ds-space-3);
  flex-wrap: wrap;
}
.ds-ph h1 {
  margin: 0;
  font-size: 22px;
  text-wrap: balance;
}
.ds-crumb {
  font-size: 12px;
  color: var(--ds-muted);
}

/* ——— Buttons ——— */
.ds-btn {
  font: inherit;
  font-weight: 600;
  border-radius: var(--ds-radius);
  padding: 8px 14px;
  border: 1px solid var(--ds-line);
  background: var(--ds-surface);
  color: var(--ds-fg);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ds-btn:hover {
  background: var(--ds-bg);
}
.ds-btn.pri {
  background: var(--ds-accent);
  border-color: var(--ds-accent);
  color: #fff;
}
.ds-btn.pri:hover {
  filter: brightness(1.05);
}
.ds-btn.dan {
  color: var(--ds-bad);
  border-color: var(--ds-bad);
}
.ds-btn.ghost {
  border-color: transparent;
  background: transparent;
  color: var(--ds-muted);
}
.ds-btn:focus-visible,
.ds-ic:focus-visible,
.ds-search:focus-visible,
button:focus-visible {
  outline: 2px solid var(--ds-accent);
  outline-offset: 2px;
}

/* ——— Filters ——— */
.ds-filters {
  display: flex;
  gap: var(--ds-space-2);
  flex-wrap: wrap;
  align-items: center;
}
.ds-filters form {
  display: contents;
}
.ds-filters input[type="search"],
.ds-filters input[type="date"],
.ds-filters select {
  font: inherit;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: 7px 10px;
  background: var(--ds-surface);
  color: var(--ds-fg);
  max-width: 100%;
}
.ds-filters input[type="search"] {
  min-width: 180px;
}
.ds-filter-ctrl input,
.ds-filter-ctrl select {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: 150px;
}

/* ——— Table ——— */
.ds-tablewrap {
  overflow-x: auto;
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow);
}
.ds-tablewrap table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  min-width: 880px;
}
.ds-tablewrap th {
  font-size: 12px;
  text-align: left;
  color: var(--ds-muted);
  font-weight: 600;
  padding: 10px 12px;
  border-bottom: 1px solid var(--ds-line);
  position: sticky;
  top: 0;
  background: var(--ds-surface);
  white-space: nowrap;
}
.ds-tablewrap td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--ds-line);
  white-space: nowrap;
}
.ds-tablewrap tr:hover td {
  background: var(--ds-accent-soft);
}
.ds-tablewrap tr.ds-row-click {
  cursor: pointer;
}
.ds-num {
  text-align: right;
}
.ds-mono {
  font-family: var(--ds-mono);
  font-size: 13px;
}
.ds-tablewrap tfoot td {
  font-weight: 700;
  background: var(--ds-bg);
}

/* ——— Badges ——— */
.ds-b {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
}
.ds-b.paid {
  background: var(--ds-ok-bg);
  color: var(--ds-ok);
}
.ds-b.part {
  background: var(--ds-warn-bg);
  color: var(--ds-warn);
}
.ds-b.due {
  background: var(--ds-bad-bg);
  color: var(--ds-bad);
}
.ds-b.void {
  background: var(--ds-line);
  color: var(--ds-muted);
  text-decoration: line-through;
}
.ds-b.held {
  background: var(--ds-info-bg);
  color: var(--ds-info);
}
.ds-b.draft {
  background: var(--ds-line);
  color: var(--ds-muted);
}

/* ——— Row actions ——— */
.ds-acts {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
}
.ds-ic {
  border: 1px solid var(--ds-line);
  background: var(--ds-surface);
  color: var(--ds-fg);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 12px;
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
  line-height: 1.4;
}
.ds-ic:hover {
  background: var(--ds-bg);
}
.ds-ic.v {
  color: var(--ds-bad);
}

/* ——— Pager ——— */
.ds-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--ds-muted);
  flex-wrap: wrap;
  gap: 8px;
}
.ds-pager a {
  color: var(--ds-fg);
  text-decoration: none;
  padding: 4px 8px;
  border: 1px solid var(--ds-line);
  border-radius: 6px;
  background: var(--ds-surface);
}
.ds-pager a[aria-disabled="true"] {
  opacity: 0.4;
  pointer-events: none;
}
.ds-pager select {
  font: inherit;
  border: 1px solid var(--ds-line);
  border-radius: 6px;
  padding: 4px 8px;
  background: var(--ds-surface);
  color: var(--ds-fg);
}

/* ——— Alert / empty ——— */
.ds-alert {
  border-radius: var(--ds-radius);
  padding: 10px 14px;
  font-size: 13px;
  border: 1px solid var(--ds-line);
}
.ds-alert.ok {
  background: var(--ds-ok-bg);
  color: var(--ds-ok);
  border-color: transparent;
}
.ds-alert.warn {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.ds-alert.bad {
  background: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
}
.ds-empty {
  text-align: center;
  padding: 40px 16px;
  color: var(--ds-muted);
}

/* ——— Cards / KPIs (for later pages) ——— */
.ds-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: var(--ds-space-3);
}
.ds-kpi {
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-lg);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ds-kpi .l {
  font-size: 12px;
  color: var(--ds-muted);
}
.ds-kpi .v {
  font-size: 22px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.ds-card {
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-lg);
  padding: 14px;
  min-width: 0;
}

/* ——— Phone booker shell (tokens for field app) ——— */
.ds-phone {
  width: 360px;
  max-width: 100%;
  border: 10px solid var(--ds-fg);
  border-radius: 34px;
  background: var(--ds-bg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 720px;
}
.ds-p-top {
  background: var(--ds-accent);
  color: #fff;
  padding: 14px 16px;
}
.ds-p-top .s {
  font-size: 12px;
  opacity: 0.85;
}
.ds-p-body {
  flex: 1;
  overflow: auto;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ds-prow {
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ds-step {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ds-step button {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--ds-line);
  background: var(--ds-surface);
  color: var(--ds-fg);
  font-size: 20px;
}
.ds-step .q {
  width: 56px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
.ds-p-total {
  background: var(--ds-surface);
  border-top: 1px solid var(--ds-line);
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ds-p-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: var(--ds-surface);
  border-top: 1px solid var(--ds-line);
  font-size: 11px;
  text-align: center;
}
.ds-p-tabs span {
  padding: 10px 0;
}
.ds-p-tabs .on {
  color: var(--ds-accent);
  font-weight: 700;
}

/* ——— Dropdown (export) ——— */
.ds-dd {
  position: relative;
  display: inline-block;
}
.ds-dd-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  min-width: 140px;
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  z-index: 10;
  padding: 4px;
}
.ds-dd.open .ds-dd-menu {
  display: block;
}
.ds-dd-menu a {
  display: block;
  padding: 8px 12px;
  color: var(--ds-fg);
  text-decoration: none;
  border-radius: 6px;
  font-size: 13px;
}
.ds-dd-menu a:hover {
  background: var(--ds-accent-soft);
}

.ds-side-backdrop {
  display: none;
}

/* ——— Sell list: compact + sticky Actions (fits ~1440 with side nav) ——— */
.ds-sell-table table {
  min-width: 0;
  width: 100%;
}
.ds-sell-table th,
.ds-sell-table td {
  padding: 8px 8px;
  font-size: 13px;
}
.ds-sell-table .ds-mono {
  font-size: 12px;
}
.ds-sell-table .ds-col-check {
  width: 28px;
  padding-left: 8px;
  padding-right: 4px;
}
.ds-sell-table .ds-cell-party {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ds-sell-table .ds-col-booker {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ds-sell-table .ds-sticky-r {
  position: sticky;
  right: 0;
  background: var(--ds-surface);
  z-index: 3;
  box-shadow: -6px 0 8px -6px rgba(15, 42, 51, 0.18);
  white-space: nowrap;
}
.ds-sell-table thead .ds-sticky-r {
  z-index: 4;
}
.ds-sell-table tbody tr:hover .ds-sticky-r {
  background: var(--ds-accent-soft);
}
.ds-sell-table tfoot .ds-sticky-r {
  background: var(--ds-bg);
}
.ds-sell-table .ds-acts {
  flex-wrap: nowrap;
}
.ds-sell-table .ds-ic {
  padding: 2px 6px;
  font-size: 11px;
}

.ds-sell-cards {
  display: none;
}

.ds-sell-card {
  background: var(--ds-surface);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ds-sell-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.ds-sell-card-party {
  font-weight: 600;
}
.ds-sell-card-meta,
.ds-sell-card-money {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  color: var(--ds-muted);
}
.ds-sell-card-money b {
  color: var(--ds-muted);
  font-weight: 600;
  margin-right: 4px;
}
.ds-sell-card-money span {
  color: var(--ds-fg);
}
.ds-sell-card-totals {
  background: var(--ds-surface);
  border: 1px dashed var(--ds-line);
  border-radius: var(--ds-radius-lg);
  padding: 12px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ——— Responsive ——— */
@media (max-width: 1200px) {
  .ds-sell-table .ds-col-paid {
    display: none;
  }
  .ds-sell-table .ds-col-booker {
    max-width: 72px;
  }
}

@media (max-width: 900px) {
  .ds-app {
    grid-template-columns: 1fr;
  }
  .ds-side {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.2s ease;
    width: min(280px, 86vw);
  }
  .ds-app.nav-open .ds-side {
    transform: translateX(0);
  }
  .ds-menu-toggle {
    display: grid;
    place-items: center;
  }
  .ds-top-brand {
    display: inline-flex;
  }
  .ds-side-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 42, 51, 0.45);
    z-index: 15;
  }
  .ds-app.nav-open .ds-side-backdrop {
    display: block;
  }
  .ds-top-search {
    max-width: none;
  }
  .ds-top-date {
    display: none;
  }
}

@media print {
  .ds-side,
  .ds-top,
  .ds-side-backdrop,
  .ds-menu-toggle,
  .no-print {
    display: none !important;
  }
  .ds-app {
    display: block !important;
  }
  .ds-content {
    padding: 0 !important;
  }
}

@media (max-width: 480px) {
  .ds-sell-table {
    display: none;
  }
  .ds-sell-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .ds-top-brand-name {
    display: none;
  }
  .ds-chip:not(.ds-filter-ctrl) {
    max-width: 100%;
  }
  .ds-ph .ds-btn:not(.pri) {
    display: none;
  }
}

/* —— Section B list standard (Salesflo-style) —— */
.ds-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 12px;
  max-width: 100%;
}
.ds-filters .ds-input,
.ds-filters select,
.ds-filters input[type="date"],
.ds-filters input[type="search"],
.ds-filters input[type="text"],
.ds-filters input[type="month"] {
  min-height: 36px;
  max-width: 100%;
}
.ds-filters .ds-btn.apply {
  background: var(--ds-accent, #0b6e75);
  color: #fff;
  border: 0;
}
.ds-name-1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
  display: inline-block;
  vertical-align: bottom;
}
.ds-bal-1 {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.ds-tablewrap {
  overflow-x: auto;
  max-width: 100%;
  margin-top: 0;
}
.ds-tablewrap table {
  width: 100%;
  border-collapse: collapse;
}
.ds-tablewrap thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
}
.ds-tablewrap tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 1;
  background: #f0fdfa;
  font-weight: 600;
}
.ds-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 12px;
}
.ds-summary .cell {
  background: #fff;
  border: 1px solid var(--ds-line, #e2e8f0);
  border-radius: 10px;
  padding: 10px 14px;
  min-width: 140px;
}
.ds-summary .cell .l {
  font-size: 11px;
  color: var(--ds-muted, #64748b);
}
.ds-summary .cell .v {
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #134e4a;
}
.ds-age-eq th.age,
.ds-age-eq td.age {
  width: 7%;
  min-width: 64px;
  text-align: right;
}
.ds-more {
  position: relative;
  display: inline-block;
}
.ds-more > summary {
  list-style: none;
  cursor: pointer;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid var(--ds-line, #e2e8f0);
  background: #fff;
  font-size: 12px;
  line-height: 28px;
}
.ds-more > summary::-webkit-details-marker { display: none; }
.ds-more[open] > summary { background: #f0fdfa; }
.ds-more-menu {
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 20;
  min-width: 160px;
  background: #fff;
  border: 1px solid var(--ds-line, #e2e8f0);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  padding: 4px 0;
}
.ds-more-menu a,
.ds-more-menu button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 12px;
  border: 0;
  background: none;
  font-size: 13px;
  color: #134e4a;
  text-decoration: none;
  cursor: pointer;
}
.ds-more-menu a:hover,
.ds-more-menu button:hover { background: #f0fdfa; }
/* Kill forced horizontal scroll patterns on list boards */
.recovery-board-wrap,
.list-table-wrap.recovery-board-wrap {
  overflow-x: auto;
  max-width: 100%;
}
.recovery-board-wrap table {
  white-space: normal;
}
.recovery-board-wrap td:first-child + td a,
.ds-name-1 {
  white-space: nowrap;
}
@media (min-width: 1366px) {
  .ds-tablewrap.no-hscroll-1366,
  .recovery-board-wrap.no-hscroll-1366 {
    overflow-x: visible;
  }
}
/* Content starts early — filters then table well under 450px from top of main */
.ds-content > .ds-ph {
  margin-bottom: 8px;
}
.ds-content > .ds-ph h1 {
  margin: 2px 0 0;
  font-size: 1.35rem;
}
