.channel-view { color:var(--text-primary); }
.channel-view button.channel-metric { background:transparent; border-color:transparent; box-shadow:none; min-width:72px; }
.channel-heading { display:flex;align-items:center;min-height:38px;margin-bottom:12px; }
.channel-heading h1 { margin:0;font-size:20px;line-height:1.3; }
.channel-view .toolbar,.channel-view footer,.channel-dialog .actions,.channel-dialog .vault-toolbar { display:flex;align-items:center;gap:10px; }
.channel-view .toolbar { flex-wrap:wrap;margin-bottom:12px; }
.channel-view .toolbar #count { margin-right:auto;color:var(--text-secondary);font-size:13px; }
.channel-view .toolbar select { min-width:190px; }
.channel-view .toolbar .select { width:auto; }
.channel-dialog :is(input:not([type=checkbox]),textarea):not(.input) { font:inherit;color:var(--text-primary);background-color:var(--bg-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3); }
.channel-view button.channel-toggle.is-enabled { background:#16805b;border-color:#16805b;color:#fff; }
.channel-view button.channel-toggle.is-disabled { background:#b94035;border-color:#b94035;color:#fff; }
#channelSearch { flex:1 1 240px;min-width:0;max-width:420px; }
.channel-view .table-wrap,.channel-dialog .table-wrap { overflow:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-elevated); }
.channel-view .data-table,.channel-dialog .data-table { min-width:970px; }
.channel-view td button,.channel-dialog td button { margin:2px; }
.channel-view .data-table th,.channel-view .data-table td { text-align:center;vertical-align:middle; }
.channel-view .data-table td input[type="number"] { text-align:center; }
.channel-view footer { justify-content:flex-end;padding:var(--sp-4) 0; }
.channel-view .muted,.channel-dialog .muted { color:var(--text-secondary); }
.channel-view .new-locations,.channel-dialog .new-locations { display:flex;flex-wrap:wrap;justify-content:center;gap:5px; }
.channel-view .new-badge,.channel-dialog .new-badge { display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--pos-border);border-radius:var(--r-md);background:var(--pos-soft);color:var(--pos-on-soft);white-space:nowrap; }
.channel-view .new-badge.failed { color:var(--neg-on-soft);background:var(--neg-soft);border-color:var(--neg-border); }
.channel-view .model-warning { color:var(--warn);font-weight:800; }
.channel-dialog { width:min(690px,95vw); max-height:90dvh; overflow:auto; overscroll-behavior:contain; }
.channel-dialog p { font-size:13px;line-height:1.5; }
.channel-dialog label { display:grid;gap:5px;font-size:var(--fs-xs);font-weight:var(--fw-medium); }
.channel-dialog label input,.channel-dialog label select,.channel-dialog label textarea { width:100%;font-weight:400; }
.channel-dialog .fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.channel-dialog .wide { grid-column:1/-1; }
#supplierBalanceChannels { display:grid;gap:8px;max-height:180px;overflow:auto; }
#supplierBalanceChannels label { display:flex;align-items:center;overflow-wrap:anywhere; }
#supplierBalanceChannels input { width:auto;flex-shrink:0; }
#credentialForm label:has(input[name="upstreamPat"]) { grid-column:auto; }
.channel-dialog .actions { justify-content:flex-end;margin-top:18px; }
.channel-dialog .model-choices { display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px 16px;max-height:220px;overflow:auto;margin:8px 0;padding:8px;border:1px solid var(--border);border-radius:6px; }
.channel-dialog .model-choices .model-option { max-width:100%; }
.channel-dialog .model-option,.channel-dialog .switch-row { display:flex;align-items:center;gap:6px;font-weight:400;min-width:0; }
.channel-dialog .model-option input,.channel-dialog .switch-row input { width:auto;flex-shrink:0; }
.channel-dialog .model-option span { min-width:0;white-space:normal;overflow-wrap:anywhere; }
.channel-dialog .model-list { display:flex;flex-wrap:wrap;gap:8px;max-height:55dvh;overflow:auto;align-content:flex-start; }
.channel-dialog .model-chip { max-width:100%;padding:6px 9px;border:1px solid var(--border);border-radius:6px;font-size:13px;overflow-wrap:anywhere; }
.channel-dialog .channel-switches { display:flex;align-items:center;gap:18px; }
.channel-dialog .mapping-editor { display:grid;gap:8px; }
.channel-dialog .mapping-heading { display:flex;justify-content:space-between;gap:12px; }
.channel-dialog .mapping-heading p { margin:3px 0 0; }
.channel-dialog .mapping-columns,.channel-dialog .mapping-row { display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) auto;align-items:center;gap:8px; }
.channel-dialog .mapping-columns { color:var(--text-secondary);font-size:12px; }
.channel-dialog .mapping-columns span:nth-child(2) { grid-column:3; }
.channel-dialog .mapping-row input { min-width:0;width:100%; }
.channel-dialog .mapping-arrow { text-align:center; }
.channel-dialog .mapping-empty { padding:14px;text-align:center;border:1px dashed var(--border);border-radius:6px; }
.channel-tabs { display:flex;gap:20px;border-bottom:1px solid var(--border);margin-bottom:16px; }
.channel-view .channel-tabs button { background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;padding:12px 4px; }
.channel-view .channel-tabs button[aria-selected="true"] { border-bottom-color:var(--primary-edge);font-weight:600; }
.channel-view [role="tabpanel"][hidden] { display:none; }
.channel-view .vault-table { min-width:1100px; }
.channel-view .vault-toolbar { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0; }
#credentialSearch { flex:1 1 260px;min-width:0;max-width:420px; }
.channel-view #vaultSelectedCount { margin-right:auto; }
.channel-view .select-cell { width:42px; }
.channel-view .select-cell input,.channel-view .credential-select { width:auto; }
.channel-view .vault-key { max-width:320px;word-break:break-all;text-align:center;font-family:ui-monospace,monospace; }
.channel-view .vault-address { text-align:center; }
@media(max-width:650px) {
  .channel-view .toolbar .select { min-width:130px;max-width:100%; }
  .channel-dialog { padding:16px; }
  .channel-dialog .fields { grid-template-columns:1fr; }
  .channel-dialog .mapping-columns { display:none; }
  .channel-dialog .mapping-row { grid-template-columns:1fr auto; }
  .channel-dialog .mapping-row input[data-map-field="to"] { grid-column:1; }
  .channel-dialog .mapping-row .mapping-arrow { display:none; }
  .channel-dialog .mapping-delete { grid-column:2;grid-row:1/3; }
}
.upstream-link{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 38%,transparent);text-underline-offset:2px}
.upstream-link:hover{text-decoration-color:currentColor}
.channel-view .new-badge.checking { color:var(--muted);background:transparent;border-color:currentColor; }
#groupDialog { width:min(1040px,95vw);max-width:95vw; }
#groupDialog .new-group-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-height:60dvh;overflow:auto;padding:2px; }
#groupDialog .new-group-card { min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--bg-elevated); }
#groupDialog .new-group-card.is-selected { border-color:var(--pos-border); }
#groupDialog .new-group-card.has-error { border-color:var(--neg-border); }
#groupDialog .new-group-heading { display:flex;align-items:center;justify-content:space-between;gap:12px; }
#groupDialog .new-group-heading h3 { margin:0;font-size:15px;overflow-wrap:anywhere; }
#groupDialog .new-group-heading span { font-size:12px;white-space:nowrap; }
#groupDialog .new-group-actions { display:flex;gap:8px;margin:12px 0; }
#groupDialog .new-group-actions button { padding:4px 10px;font-size:12px; }
#groupDialog .new-group-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
#groupDialog .model-option { padding:10px;border:1px solid var(--border);border-radius:7px;cursor:pointer; }
#groupDialog .model-option:has(input:checked) { background:var(--pos-soft);border-color:var(--pos-border); }
#groupDialog .model-option span { white-space:normal;overflow-wrap:anywhere; }
#groupDialog .new-group-card p:empty { display:none; }
@media(max-width:700px) { #groupDialog .new-group-grid { grid-template-columns:1fr; } }
#sortChannelBalance { border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;box-shadow:none;cursor:pointer; }

/* Keep the group rates heading and actions visible while the list scrolls. */
#supplierRatesDialog[open] {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  max-height:90dvh;
}
#supplierRatesDialog > :not(.table-wrap) { flex-shrink:0; }
#supplierRatesDialog > .table-wrap {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
#supplierRatesDialog thead th {
  position:sticky;
  top:0;
  z-index:1;
  background:var(--bg-elevated);
}

#vaultRows .credential-actions-cell { width:26.6667%;min-width:284px;white-space:normal;container-type:inline-size; }
#vaultRows .credential-actions { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }
#vaultRows .credential-actions button { padding-inline:4px;width:100%;min-width:0;margin:0;white-space:nowrap; }


#vaultRows .credential-actions button.credential-status-enabled {
  color:var(--pos-on-soft);background:var(--pos-soft);border-color:var(--pos-border);
}
#vaultRows .credential-actions button.credential-status-disabled {
  color:var(--neg-on-soft);background:var(--neg-soft);border-color:var(--neg-border);
}
#vaultRows .credential-actions button.credential-status-mixed {
  color:var(--warn);background:transparent;border-color:var(--warn);
}
.channel-dialog .model-option[hidden]{display:none}
#modelCatalogInstance{width:auto;max-width:220px;margin:6px}
#credentialModelSearch{margin-top:8px}
#newModelPicker{width:min(900px,94vw)}
#newModelPicker .model-choices{max-height:55dvh;min-height:120px}
.model-picker-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.model-picker-toolbar .input{flex:1;min-width:180px}
#newModelStatus{color:var(--text-muted);margin:12px 0}
