.ex-seg { display: inline-flex; border: 1px solid var(--ds-color-border-control); border-radius: var(--ds-radius-6); overflow: hidden; }
.ex-seg button {
  font: inherit; font-size: var(--ds-text-13); font-weight: 500; line-height: 1.2; min-height: 30px; padding: 4px 9px; border: 0; background: var(--ds-color-white);
  color: var(--ds-color-navy); cursor: pointer;
}
.ex-seg button + button { border-left: 1px solid var(--ds-color-border-line); }
.ex-seg button:hover:not(:disabled):not([aria-pressed="true"]) { background: var(--ds-color-surface-subtle); }
.ex-seg button[aria-pressed="true"] {
  background: var(--ds-color-surface-accent-tint); color: var(--ds-color-navy); font-weight: 700;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ds-color-navy) 70%, var(--ds-color-white));
}
.ex-seg button:focus-visible { outline: 2px solid var(--ds-color-text-accent-link); outline-offset: -2px; }
.ex-select:focus-visible { outline: 2px solid var(--ds-color-text-accent-link); outline-offset: 1px; }
.ex-select {
  font: inherit; font-size: var(--ds-text-13); min-height: 30px; padding: 3px 8px; border: 1px solid var(--ds-color-border-control);
  border-radius: var(--ds-radius-6); background: var(--ds-color-white); color: var(--ds-color-navy);
}
.ex-seg.ex-tabs { display: flex; width: 100%; margin: 8px 0 0; border: 0; border-bottom: 1px solid var(--ds-color-border-line); border-radius: 0; overflow: visible; }
.ex-tabs button {
  flex: 0 0 auto; min-height: 34px; padding: 5px 16px; margin-bottom: -1px; background: none; color: var(--ds-color-text-muted);
  border-bottom: 2px solid transparent; font-weight: 600;
}
.ex-tabs button + button { border-left: 0; }
.ex-tabs button:hover:not([aria-pressed="true"]) { background: none; color: var(--ds-color-navy); }
.ex-seg.ex-tabs button[aria-pressed="true"] { background: none; box-shadow: none; color: var(--ds-color-navy); border-bottom-color: var(--ds-color-navy); font-weight: 700; }
.ex-table-wrap { max-height: 380px; overflow: auto; border-top: 1px solid var(--ds-color-border-line); }
.ex-table { width: 100%; border-collapse: collapse; font-size: var(--ds-text-13); font-variant-numeric: tabular-nums; }
.ex-table th, .ex-table td { padding: 6px 10px 6px 0; text-align: left; border-bottom: 1px solid var(--ds-color-border-line); font-weight: 400; }
.ex-table thead th { position: sticky; top: 0; background: var(--ds-color-white); font-weight: 600; color: var(--ds-color-navy); }
.ex-table .ex-num { text-align: right; padding-right: 18px; white-space: nowrap; }
.ex-table thead th:first-child, .ex-table tbody th { width: 9rem; white-space: nowrap; }
.ex-table th.ex-num { width: 12rem; }
.ex-table .ex-fill { width: auto; }
.ex-seg button:disabled { opacity: .45; cursor: not-allowed; }
.ex-check { display: inline-flex; align-items: center; gap: 6px; font-size: var(--ds-text-13); color: var(--ds-color-navy); cursor: pointer; min-height: 30px; }
.ex-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--ds-color-navy); }
