/* Extracted from ecosystem.css — Counterparties / refs table. */
 /* Counterparties: compact, table and edit are distinct, persistent modes. */
    body.pro #refs-list.refs-view-table { display:block; }
    .refs-table-wrap {
        overflow:auto; border:1px solid var(--ws-border); border-radius:13px; background:var(--tg-theme-bg-color,#fff);
        box-shadow:0 4px 18px rgba(18,31,53,.035);
    }
 /* table cells ≥13px for typography contract + readable id column. */
    .refs-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; }
    .refs-table th {
        position:sticky; top:0; z-index:1; padding:8px 9px; border-bottom:1px solid var(--ws-border);
        color:var(--ui-muted-strong, color-mix(in srgb, var(--tg-theme-text-color,#111) 90%, #1f2937));
        background:var(--tg-theme-bg-color,#fff);
        font-size:12px; font-weight:800; letter-spacing:.04em; text-align:left; text-transform:uppercase; white-space:nowrap;
    }
    .refs-table td { padding:8px 9px; border-bottom:1px solid var(--ws-border); white-space:nowrap; font-size:13px; }
    .refs-table tbody tr:last-child td { border-bottom:0; }
    .rf-table-row { cursor:pointer; transition:background .14s; }
    .rf-table-row:hover, .rf-table-row:focus-visible { outline:none; background:var(--ws-accent-soft); }
    .rf-table-id {
        width:1%;
        color:var(--ui-muted-strong, color-mix(in srgb, var(--tg-theme-text-color,#111) 90%, #1f2937));
        font-size:13px;
    }
    .rf-table-name { max-width:260px; overflow:hidden; text-align:left; text-overflow:ellipsis; }
    .refs-table td.is-warning { color:#a96918; font-weight:700; }
    .refs-table-stack { display:none; }
    .refs-view-table .refs-pager-strip { margin-bottom:6px !important; }
    body.dense .refs-table th, body.dense .refs-table td { padding:6px 8px; }
    body.lite .refs-table-wrap, body.lite .pf-client-table-wrap { display:none; }
    body.lite .refs-table-stack, body.lite .pf-client-stack { display:grid; gap:6px; }
    body.lite #ref-kinds .rk, body.lite .ref-view-toggle .rv,
    body.lite .ref-create > summary { min-height:44px; }

@media (max-width:700px) {
    .refs-table-wrap { display:none; }
    .refs-table-stack { display:grid; gap:6px; }
    .ref-view-toggle .rv { min-width:42px; min-height:44px; justify-content:center; }
 #ref-kinds .rk, .ref-create > summary { min-height:44px; }
}

/* Extracted from ecosystem.css — #ref-card modal + shell + lite layout. */
/* Desktop-only min-width — must not force overflow on narrow viewports. */
@media (min-width:761px) {
    body.pro #ref-card .modal { width:min(900px,calc(100vw - 28px)); max-width:900px; min-width:700px; }
}
 #ref-card .ref-card-shell { min-width:0; }
 #ref-card .ref-card-intro {
        display:flex; align-items:center; gap:8px; margin:-1px 0 6px;
        color:var(--tg-theme-hint-color,#737c86);
    }
 #ref-card .ref-card-intro > span {
        display:grid; place-items:center; width:30px; height:30px; border-radius:10px;
        background:rgba(51,144,236,.10); font-size:15px;
    }
 #ref-card .ref-card-intro > div { display:flex; flex-direction:column; gap:1px; }
 #ref-card .ref-card-intro b { color:var(--tg-theme-text-color,#20242a); font-size:11px; }
 #ref-card .ref-card-intro small { font-size:9px; }
 #ref-card .ref-kpi-grid {
        display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
        gap:5px; margin:2px 0 7px;
    }
 #ref-card .ref-kpi {
        display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:0;
        min-height:42px; padding:6px 8px; border:1px solid rgba(127,127,127,.09);
        border-radius:9px; background:rgba(127,127,127,.045);
    }
 #ref-card .ref-kpi.is-primary {
        grid-column:span 2; border-color:rgba(51,144,236,.18);
        background:linear-gradient(135deg,rgba(51,144,236,.11),rgba(51,144,236,.035));
    }
 #ref-card .ref-kpi.is-warning { border-color:rgba(224,151,45,.24); background:rgba(224,151,45,.08); }
 #ref-card .ref-kpi.is-warning .ref-kpi-v { color:var(--ref-card-warning,#8a570f); }
 #ref-card .ref-kpi.is-positive .ref-kpi-v { color:var(--pos,#178456); }
 #ref-card .ref-kpi.is-info .ref-kpi-v { color:var(--tg-theme-link-color,#2674bd); }
 #ref-card .ref-kpi-k {
        overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
        font-size:12px; line-height:1.2; text-transform:uppercase; letter-spacing:.025em;
        color:var(--ref-card-muted);
    }
 #ref-card .ref-kpi-v {
        overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
        font-size:12px; line-height:1.25; font-variant-numeric:tabular-nums;
    }
 #ref-card .ref-kpi.is-primary .ref-kpi-v { font-size:15px; }
 #ref-card .ref-primary-actions {
        display:flex; gap:5px; align-items:center; margin-bottom:7px;
    }
 #ref-card .ref-primary-actions .act { min-height:44px; padding:8px 12px; }
 #ref-card .ref-primary-actions .ref-primary {
        background:var(--tg-theme-button-color,#3390ec); color:var(--tg-theme-button-text-color,#fff);
    }
 #ref-card .ref-card-layout {
        display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:7px; align-items:start;
    }
 #ref-card .ref-card-layout.is-single { grid-template-columns:minmax(0,1fr); }
 #ref-card .ref-card-col { display:flex; flex-direction:column; gap:7px; min-width:0; }
 #ref-card .ref-card-sec {
        min-width:0; margin:0; padding:8px; border:1px solid rgba(127,127,127,.12);
        border-radius:10px; background:rgba(127,127,127,.035);
    }
 #ref-card .ref-card-sec-wide { margin-top:7px; }
 #ref-card .iou-sec { margin-top:0; margin-bottom:7px; }
 #ref-card .iou-running {
        position:sticky; top:0; z-index:1; display:flex; flex-wrap:wrap; gap:4px 8px;
        align-items:baseline; margin:0 0 6px; padding:8px 10px; border-radius:10px;
        border:1px solid rgba(51,144,236,.18);
        background:color-mix(in srgb,var(--tg-theme-bg-color,#fff) 88%,rgba(51,144,236,.14));
    }
 #ref-card .iou-running span { color:var(--ref-card-muted); font-size:11px; letter-spacing:.03em; text-transform:uppercase; }
 #ref-card .iou-running b { font-size:16px; font-variant-numeric:tabular-nums; }
 #ref-card .iou-running .is-in,
 #ref-card .ref-ledger-row .is-in { color:var(--ref-card-positive); }
 #ref-card .iou-running .is-out,
 #ref-card .ref-ledger-row .is-out { color:var(--ref-card-negative,#b42318); }
 #ref-card .iou-running i { color:var(--ref-card-muted); font-style:normal; }
 #ref-card .iou-history { max-height:min(42vh,360px); overflow:auto; display:grid; gap:0; }
 #ref-card .iou-row {
        display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:6px; align-items:center;
        padding:7px 2px; border-bottom:1px solid rgba(127,127,127,.10);
        color:var(--tg-theme-text-color,#111);
    }
 #ref-card .iou-row > span { color:var(--tg-theme-text-color,#111); }
 #ref-card .iou-row b { font-variant-numeric:tabular-nums; }
 #ref-card .iou-row.is-in b { color:var(--ref-card-positive); }
 #ref-card .iou-row.is-out b { color:var(--ref-card-negative,#b42318); }
 #ref-card .iou-row.is-reversed { color:var(--ref-card-muted); }
 #ref-card .iou-row.is-reversed b { color:var(--ref-card-muted); }
 #ref-card .iou-row small { grid-column:1 / -1; color:var(--ref-card-muted); }
 #ref-card .iou-rev {
        min-height:32px; padding:4px 8px; border:0; border-radius:8px;
        background:transparent; color:var(--ref-card-muted); font-size:13px;
    }
 #ref-card .ref-sec-head {
        display:flex; align-items:flex-start; justify-content:space-between; gap:7px; margin-bottom:6px;
    }
 #ref-card .ref-sec-head > div { display:flex; flex-direction:column; gap:1px; min-width:0; }
 #ref-card .ref-sec-head b { font-size:11px; line-height:1.25; }
 #ref-card .ref-sec-head small { color:var(--ui-muted-strong, var(--tg-theme-hint-color,#4a5560)); font-size:12px; line-height:1.3; }
 #ref-card .ref-sec-status {
        flex:0 0 auto; padding:2px 6px; border-radius:999px;
        font-size:11px; font-weight:650; white-space:nowrap;
    }
 #ref-card .ref-sec-status.is-on { color:#168d73; background:rgba(22,141,115,.11); }
 #ref-card .ref-sec-status.is-off { color:var(--tg-theme-hint-color,#737c86); background:rgba(127,127,127,.09); }
 #ref-card .ref-access-list, #ref-card .ref-client-chips {
        display:flex; gap:4px; flex-wrap:wrap; margin-bottom:6px;
    }
 #ref-card .ref-access-list span, #ref-card .ref-client-chips span {
        padding:3px 6px; border-radius:7px; background:rgba(127,127,127,.08);
        font-size:9.5px; line-height:1.25;
    }
 #ref-card .ref-client-chips .is-empty { color:var(--tg-theme-hint-color,#737c86); }
 #ref-card .ref-inline-form {
        display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; align-items:center;
    }
 #ref-card .ref-inline-form > input, #ref-card .ref-inline-form > select {
        width:100%; max-width:none; min-height:44px; box-sizing:border-box;
    }
 #ref-card .ref-inline-form > button { min-height:44px; white-space:nowrap; }
 #ref-card .ref-secondary-actions { display:flex; gap:4px; flex-wrap:wrap; margin-top:5px; }
 #ref-card .ref-secondary-actions button { min-height:44px; padding:8px 10px; font-size:13px; }
 #ref-card .ref-date-range { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
 #ref-card .ref-date-range label, #ref-card .ref-field {
        display:flex; flex-direction:column; gap:2px; min-width:0;
        color:var(--ui-muted-strong, var(--tg-theme-hint-color,#4a5560)); font-size:12px;
    }
 #ref-card .ref-date-range input, #ref-card .ref-field select {
        width:100%; max-width:none; min-height:44px; box-sizing:border-box;
    }
 #ref-card .ref-field { margin-top:6px; }
 #ref-card .ref-field-hint { margin-top:3px; color:var(--ui-muted-strong, var(--tg-theme-hint-color,#4a5560)); font-size:12px; }
 #ref-card .cw-list, #ref-card .rc-payers {
        display:flex; flex-direction:column; gap:4px; max-height:170px; overflow-y:auto;
        margin:5px 0; padding-right:2px;
    }
 #ref-card .cw-row, #ref-card .pc-row {
        display:flex; align-items:center; gap:5px; margin:0; padding:5px;
        border:1px solid rgba(127,127,127,.10); border-radius:8px; background:var(--tg-theme-bg-color,#fff);
    }
 #ref-card .cw-main { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
 #ref-card .cw-code {
        user-select:all; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px;
    }
 #ref-card .cw-label { color:var(--ui-muted-strong, var(--tg-theme-hint-color,#4a5560)); font-size:12px; }
 #ref-card .cw-actions, #ref-card .pc-actions { display:flex; gap:3px; flex:0 0 auto; }
 #ref-card .cw-actions button, #ref-card .pc-actions button { min-height:44px; padding:6px 10px; font-size:13px; }
 #ref-card .cw-empty, #ref-card .pc-empty {
        padding:10px; border:1px dashed rgba(127,127,127,.16); border-radius:8px;
        color:var(--tg-theme-hint-color,#737c86); font-size:9.5px; text-align:center;
    }
 #ref-card .ref-wallet-add, #ref-card .ref-payer-add {
        display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;
        gap:4px; align-items:center;
    }
 #ref-card .ref-wallet-add input, #ref-card .ref-payer-add input {
        width:100%; max-width:none; min-width:0; min-height:44px; box-sizing:border-box;
    }
 #ref-card .ref-wallet-add button, #ref-card .ref-payer-add button { min-height:44px; }
 #ref-card .pc-fields { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr); gap:4px; flex:1; }
 #ref-card .pc-fields input { width:100%; max-width:none; min-width:0; box-sizing:border-box; }
 /* #ref-card is now axe AA hard-gated; muted microcopy must remain readable. */
 #ref-card {
        --ref-card-muted: color-mix(in srgb,var(--tg-theme-text-color,#111) 92%,#374151);
        --ref-card-positive: #0f7a49;
        --ref-card-negative: #b42318;
        --ref-card-info: #1767a8;
        --ref-card-warning: #8a570f;
    }
 #ref-card .ref-card-intro,
 #ref-card .ref-card-intro small,
 #ref-card .ref-kpi-k,
 #ref-card .ref-sec-head small,
 #ref-card .ref-sec-status.is-off,
 #ref-card .ref-client-chips .is-empty,
 #ref-card .ref-date-range label,
 #ref-card .ref-field,
 #ref-card .ref-field-hint,
 #ref-card .cw-label,
 #ref-card .cw-empty,
 #ref-card .pc-empty,
 #ref-card .notes-head small,
 #ref-card .iou-rev,
 #ref-card .iou-running span,
 #ref-card .iou-running i,
 #ref-card .iou-row small,
 #ref-card .ref-ledger-row small {
        color: var(--ref-card-muted);
    }
 #ref-card .ref-sec-status.is-on { color:#087660; background:rgba(8,118,96,.13); }
 #ref-card .ref-kpi.is-warning .ref-kpi-v { color:var(--ref-card-warning); }
 #ref-card .ref-kpi.is-positive .ref-kpi-v { color:var(--ref-card-positive); }
 #ref-card .ref-kpi.is-info .ref-kpi-v { color:var(--ref-card-info); }
    html[data-theme="dark"] #ref-card,
 #ref-card[data-theme="dark"] {
        --ref-card-muted: color-mix(in srgb,var(--tg-theme-text-color,#f4f4f5) 88%,#9ca3af);
        --ref-card-positive: #6ed69a;
        --ref-card-negative: #f2a1a1;
        --ref-card-info: #8bc9ff;
        --ref-card-warning: #f0c27a;
    }
body.pro .ref-card-layout {
  align-items: start;
}

body.lite .ecosystem-field-row,
body.lite .ref-inline-form,
body.lite .ref-wallet-add,
body.lite .ref-payer-add {
  align-items: stretch;
  flex-direction: column;
}

/* #ref-card modal min-width reset on narrow viewports (owning extract). */
@media (max-width:760px) {
    body.pro #ref-card .modal { width:100%; max-width:100%; min-width:0; }
    #ref-card .ref-card-layout { grid-template-columns:minmax(0,1fr); }
    #ref-card .iou-rev { min-height:44px; }
}
body.lite #ref-card .ref-card-layout { grid-template-columns:minmax(0,1fr); }
body.lite #ref-card .iou-rev { min-height:44px; }
