/* Commission (Figma 421:3528 pending, 421:59571 ready, 421:60409 payout modal) + partner ledger (420:3046). Reuses ct-/pm- classes of contracts.css. */
.cm .cm-kpi__sub { display: inline-flex; align-items: center; gap: 8px; }
.cm-trend { display: inline-flex; align-items: center; gap: 2px; height: 20px; padding: 0 6px; border-radius: var(--radius-full); background: var(--color-gray-100, #f1f5f9); color: var(--color-text-secondary); font: var(--text-caption); }
.cm-trend .icon { width: 12px; height: 12px; }
.cm-trend.is-up { background: var(--tone-green-bg); color: var(--color-success, #16a34a); }
.cm-trend.is-down { background: var(--tone-red-bg); color: var(--color-danger, #dc2626); }
.cm .cm-tabs { margin-inline-start: auto; }

.cm-card { padding: 0; overflow: hidden; }
.cm-bulk { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; background: var(--color-brand-navy-50); border-bottom: 1px solid var(--color-border); }
.cm-bulk[hidden] { display: none; }
.cm-bulk__count { font: var(--text-body-strong); }
.cm-bulk .btn { background: var(--color-surface-card); }
.cm-bulk__cancel { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; font: var(--text-body-strong); color: var(--color-text-primary); cursor: pointer; }
.cm-bulk__cancel .icon { width: 16px; height: 16px; }

.cm-table td { height: 48px; }
.cm-table tbody tr.is-selected td { background: var(--color-brand-navy-50); }
.cm-title { font: var(--text-body-strong); color: var(--color-text-primary); unicode-bidi: plaintext; text-align: right; }
.cm-table .cell-stack, .pl-table .cell-stack { align-items: stretch; text-align: right; }
.cm-table td.col-actions { white-space: nowrap; }
.cm-table .cm-noplan { display: block; margin-top: 2px; font: var(--text-caption); color: var(--color-text-muted); }
.cm-table .menu form { margin: 0; }
.cm-table .menu form button { width: 100%; }
.cm-table .menu__note { display: block; padding: 8px 12px; font: var(--text-small); color: var(--color-text-muted); }
.cm-held { display: inline-block; position: relative; margin-inline-start: 4px; }
.cm-held > summary { list-style: none; }
.cm-held > summary::-webkit-details-marker { display: none; }
.cm-held .pop { inset-inline-end: 0; min-width: 280px; }
.cm-held .pop__foot { display: flex; gap: 8px; justify-content: flex-end; }
.cm-note { margin-top: 16px; }

/* payout modal (421:60409) */
.cm-modal { width: min(560px, calc(100vw - 32px)); }
.cm-paybox { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: var(--radius-md); background: var(--color-gray-50, #f8fafc); }
.cm-paybox b { font: var(--text-body-strong); }
.cm-paybox span { font: var(--text-small); color: var(--color-text-secondary); }
.cm-paybox .cm-paybox__neg { color: var(--color-danger, #dc2626); }
.cm-counter { font: var(--text-caption); color: var(--color-text-muted); text-align: left; margin-top: 4px; }
.cm-lock { margin: 0; font: var(--text-small); color: var(--color-text-muted); }

/* partner ledger (420:3046) */
.pl-head { padding: 24px; display: flex; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.pl-head__main { display: flex; gap: 16px; align-items: flex-start; }
.pl-head__avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--tone-amber-bg); color: var(--color-brand-amber-700); display: grid; place-items: center; font: 700 18px/1 var(--font-family); flex: none; }
.pl-head__name { font: var(--text-h2, 700 22px/32px var(--font-family)); margin: 0 0 8px; }
.pl-head__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.pl-head__meta { font: var(--text-small); color: var(--color-text-secondary); }
.pl-head__side { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; }
.pl-head__actions { display: flex; gap: 8px; align-items: center; }
.pl-head__totals { display: flex; gap: 32px; align-items: flex-end; }
.pl-head__totals div { display: flex; flex-direction: column; gap: 6px; }
.pl-head__totals span { font: var(--text-small); color: var(--color-text-secondary); }
.pl-head__totals b { font: 700 18px/28px var(--font-family); }
.pl-head__unit { font: var(--text-caption); color: var(--color-text-muted); align-self: flex-start; }
.pl-banner { margin-bottom: 16px; }
.pl-table .col-num { text-align: left; }
.pl-table .cm-title { font: var(--text-body-strong); }
.pl-table tr.is-adjustment td { background: var(--tone-blue-bg); }
.pl-payouts { margin-top: 24px; }
.pl-payouts h2 { font: var(--text-h3, 700 16px/24px var(--font-family)); margin: 0; padding: 16px 20px; border-bottom: 1px solid var(--color-border); }
