/* Public source: approved matrix UI; existing theme-global.css tokens. */
.membership-pricing, .membership-pricing-dialog { color: var(--th-text); font-size: 13px; letter-spacing: 0; min-width: 0; }
.membership-pricing [hidden], .membership-pricing-dialog [hidden] { display: none !important; }
.membership-pricing-heading, .membership-pricing-dialog > header, .membership-pricing footer, .membership-pricing-dialog footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 0; }
.membership-pricing h3, .membership-pricing-dialog h3 { font-size: 15px; font-weight: 600; margin: 0; }
.membership-pricing button, .membership-pricing-dialog button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 7px 10px; border: 1px solid var(--th-border); border-radius: 6px; background: var(--th-bg-2); font-size: 13px; color: var(--th-text); }
.membership-pricing button:disabled, .membership-pricing-dialog button:disabled { opacity: .5; cursor: not-allowed; }
.membership-pricing svg, .membership-pricing-dialog svg { width: 16px; height: 16px; flex-shrink: 0; }
.membership-pricing [data-preview], .membership-pricing-dialog [data-publish] { background: var(--th-accent); border-color: var(--th-accent); color: #fff; }
.membership-pricing [data-refresh], .membership-pricing-dialog [data-close] { width: 36px; height: 36px; padding: 0; }
.membership-pricing-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; padding: 14px 0; border-block: 1px solid var(--th-border); }
.membership-pricing-toolbar > label { display: flex; flex-direction: column; gap: 6px; color: var(--th-text-secondary); }
.membership-pricing input:not([type="checkbox"]), .membership-pricing select { min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid var(--th-border); border-radius: 6px; background: var(--th-input-bg); color: var(--th-text); font-size: 13px; }
.membership-pricing option { background: var(--th-bg); color: var(--th-text); }
.membership-pricing [data-batch-rate] { width: 124px; }
.membership-pricing select { max-width: 220px; }
.membership-pricing input[type="checkbox"], .membership-pricing-dialog input[type="checkbox"] { accent-color: var(--th-accent); width: 16px; height: 16px; flex-shrink: 0; }
.membership-pricing .membership-pricing-check, .membership-pricing-dialog .membership-pricing-check { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; min-height: 32px; color: var(--th-text-secondary); }
.membership-pricing-scroll { overflow: auto; max-height: 600px; border-bottom: 1px solid var(--th-border); }
.membership-pricing table, .membership-pricing-dialog table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
.membership-pricing th, .membership-pricing td, .membership-pricing-dialog th, .membership-pricing-dialog td { padding: 12px; border-bottom: 1px solid var(--th-border); vertical-align: top; }
.membership-pricing thead { position: sticky; top: 0; z-index: 1; background: var(--th-bg-2); }
.membership-pricing th { min-width: 135px; font-weight: 500; }
.membership-pricing th:first-child, .membership-pricing td:first-child { min-width: 36px; width: 36px; padding-inline: 8px; }
.membership-pricing tbody th { max-width: 230px; overflow-wrap: anywhere; }
.membership-pricing small, .membership-pricing-dialog small { display: block; margin-top: 5px; color: var(--th-text-muted); font-size: 11px; overflow-wrap: anywhere; }
.membership-pricing-rate { display: flex; align-items: center; gap: 6px; }
.membership-pricing [data-rate] { width: 90px; font-variant-numeric: tabular-nums; }
.membership-pricing [data-dirty="true"] { background: var(--th-surface-muted); }
.membership-pricing [data-pricing-message] { min-height: 20px; margin: 10px 0; overflow-wrap: anywhere; color: var(--th-text-secondary); }
.membership-pricing [data-error="true"] { color: var(--th-danger); }
.membership-pricing :focus-visible, .membership-pricing-dialog :focus-visible { outline: 2px solid var(--th-accent); outline-offset: 2px; }
.membership-pricing-dialog { margin: auto; width: min(860px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 20px; border: 1px solid var(--th-border); border-radius: 8px; background: var(--th-bg); overflow-y: auto; }
.membership-pricing-dialog::backdrop { background: #0009; }
.membership-pricing-dialog h4 { font-size: 14px; font-weight: 600; margin-block: 12px; overflow-wrap: anywhere; }
.membership-pricing-dialog section { padding-block: 12px; border-top: 1px solid var(--th-border); }
.membership-pricing-dialog p { margin-block: 8px; color: var(--th-text-secondary); overflow-wrap: anywhere; }
.membership-pricing-dialog details { padding-block: 8px; }
.membership-pricing-dialog summary { cursor: pointer; overflow-wrap: anywhere; }
.membership-pricing-dialog table { table-layout: fixed; }
.membership-pricing-dialog td { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.membership-pricing-dialog th { font-weight: 500; overflow-wrap: anywhere; }
.membership-pricing-dialog footer { justify-content: flex-end; position: sticky; bottom: -20px; background: var(--th-bg); padding-bottom: 20px; }
@media (max-width: 600px) {
  .membership-pricing-toolbar > label { flex: 1 1 130px; min-width: 0; }
  .membership-pricing-toolbar input:not([type="checkbox"]), .membership-pricing-toolbar select { width: 100%; max-width: 100%; }
  .membership-pricing-dialog { padding: 14px; }
  .membership-pricing-dialog th, .membership-pricing-dialog td { padding: 8px 5px; }
  .membership-pricing-dialog footer { bottom: -14px; padding-bottom: 14px; }
}
