/* Credit control view (Receivables & Payables on IQ Books ledgers). House tokens only. */

.cc-hero .liq-hero-chart-card { min-width: 0; display: flex; flex-direction: column; }
.cc-hero .cc-ladder { flex: 1; min-height: 300px; }
.cc-lanes-host { overflow-x: auto; }
.cc-lanes { width: 100%; min-width: 640px; height: auto; display: block; font-family: var(--liq-font-body); }
.cc-lanes .cc-lane-bg { fill: var(--liq-bg, #f6f8f7); }
.cc-lanes .cc-grid { stroke: var(--liq-border, #dfe6e2); stroke-width: 1; stroke-dasharray: 3 4; }
.cc-lanes .cc-grid-due { stroke: #4b5854; stroke-dasharray: none; stroke-width: 1.5; }
.cc-lanes .cc-grid-break { stroke-dasharray: 2 3; }
.cc-lanes .cc-tick { font-size: 11px; fill: var(--liq-text-muted, #6b7a74); font-family: var(--liq-font-mono); }
.cc-lanes .cc-lane-name { font-size: 12.5px; fill: var(--liq-text, #1a2420); font-weight: 600; }
.cc-lanes .cc-lane-total { font-size: 12px; fill: var(--liq-text-secondary, #4b5854); font-family: var(--liq-font-mono); }
.cc-lanes .cc-usual { fill: rgba(31, 92, 77, 0.16); }
.cc-lanes .cc-usual.early { fill: rgba(94, 168, 146, 0.22); }
.cc-lanes .cc-usual.borrowed { fill: rgba(107, 122, 116, 0.14); }
.cc-lanes .cc-usual-dot { fill: rgba(31, 92, 77, 0.35); }
.cc-lanes .cc-dot { stroke: #fff; stroke-width: 1.5; opacity: 0.92; cursor: default; transition: opacity 0.15s; }
.cc-lanes .cc-dot:hover { opacity: 1; stroke-width: 2.5; }

.cc-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 10px 4px 2px; font-size: 12px; color: var(--liq-text-secondary, #4b5854); }
.cc-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.cc-legend-item i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.cc-legend-item i.band { width: 22px; height: 10px; border-radius: 5px; background: rgba(31, 92, 77, 0.16); }

.cc-lanes-card, .cc-list-card { margin-top: 18px; }
.cc-ladder-foot { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 4px 4px 0; font-size: 12.5px; color: var(--liq-text-secondary, #4b5854); }

.cc-table-wrap { overflow-x: auto; }
.cc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cc-table th { text-align: left; font-family: var(--liq-font-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--liq-text-muted, #6b7a74); font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--liq-border, #dfe6e2); white-space: nowrap; }
.cc-table td { padding: 10px; border-bottom: 1px solid var(--liq-border, #dfe6e2); vertical-align: top; }
.cc-table .num { text-align: right; font-family: var(--liq-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cc-table .cc-row { cursor: pointer; }
.cc-table .cc-row:hover td, .cc-table .cc-row.is-open td { background: var(--liq-bg, #f6f8f7); }
.cc-table .cc-row:focus-visible { outline: 2px solid var(--liq-accent, #4a9080); outline-offset: -2px; }
.cc-table .cc-warn { color: #9a4a3f; font-weight: 600; }
.cc-table .cc-zero { color: var(--liq-text-muted, #6b7a74); }
.cc-muted { color: var(--liq-text-muted, #6b7a74); font-size: 12px; }
.cc-table .cc-more { display: none; }
.cc-show-all .cc-table .cc-more { display: table-row-group; }
.cc-show-more { margin: 12px 0 2px; }

.cc-action { display: inline-block; font-size: 12.5px; line-height: 1.35; padding: 3px 9px; border-radius: 6px; margin-right: 6px; }
.cc-action.chase, .cc-action.doubtful { background: rgba(176, 101, 90, 0.12); color: #8a4338; }
.cc-action.stale { background: rgba(110, 90, 85, 0.12); color: #5c4a45; }
.cc-action.allocate, .cc-action.credit { background: rgba(197, 137, 31, 0.13); color: #7f5a12; }
.cc-action.watch { background: rgba(197, 137, 31, 0.08); color: #7f5a12; }
.cc-action.ok { background: rgba(31, 92, 77, 0.08); color: #1f5c4d; }
.cc-table .cc-ask { margin-top: 6px; }

.cc-inv-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.cc-inv-table td { padding: 6px 8px; border-bottom: 1px dashed var(--liq-border, #dfe6e2); }
.cc-detail > td { background: var(--liq-bg, #f6f8f7); padding: 4px 10px 10px; }
.cc-pill { display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 999px; color: #fff; }
.cc-pill.on_track { background: #1f5c4d; }
.cc-pill.late_usual { background: #c5891f; }
.cc-pill.beyond { background: #b0655a; }
.cc-pill.doubtful, .cc-pill.stale { background: #6e5a55; }

.cc-loading, .cc-empty { padding: 36px 18px; text-align: center; color: var(--liq-text-secondary, #4b5854); font-size: 14px; }
.cc-spinner { display: inline-block; width: 14px; height: 14px; margin-right: 10px; vertical-align: -2px; border: 2px solid var(--liq-border, #dfe6e2); border-top-color: var(--liq-accent, #4a9080); border-radius: 50%; animation: cc-spin 0.8s linear infinite; }
@keyframes cc-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cc-spinner { animation: none; } .cc-lanes .cc-dot { transition: none; } }

/* The overview's funding chart, moved off the hero on IQ Books ledgers */
.rp-funding-card { margin-bottom: 18px; }
.rp-funding-host { min-height: 360px; }
