.qa-callrail-meta {
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-muted);
}

.qa-callrail-webhook {
    display: block;
    padding: var(--qa-space-3, 0.75rem);
    background: var(--color-surface-muted, #f1f5f9);
    border: 1px solid var(--color-border-subtle, #e2e8f0);
    border-radius: var(--qa-radius-sm, 6px);
    font-family: var(--qa-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-default);
    word-break: break-all;
    user-select: all;
}

.qa-callrail-kv {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qa-space-3, 0.75rem);
    font-size: var(--qa-font-size-sm, 0.875rem);
}

.qa-callrail-kv > span:first-child {
    color: var(--color-text-muted);
}

.qa-uc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qa-space-3, 0.75rem);
    flex-wrap: wrap;
}

.qa-uc-stats {
    display: flex;
    gap: var(--qa-space-4, 1rem);
    flex-wrap: wrap;
}

.qa-uc-stat {
    background: var(--color-surface-base);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--qa-radius-md, 8px);
    padding: var(--qa-space-3, 0.75rem) var(--qa-space-4, 1rem);
    min-width: 140px;
}

.qa-uc-stat-value {
    font-size: var(--qa-font-size-xl, 1.25rem);
    font-weight: 600;
    color: var(--color-text-default);
}

.qa-uc-stat-label {
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-muted);
}

.qa-uc-row-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qa-uc-row-meta-primary {
    font-weight: 500;
    color: var(--color-text-default);
}

.qa-uc-row-meta-sub {
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-muted);
}

.qa-uc-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--qa-space-2, 0.5rem) var(--qa-space-4, 1rem);
}

.qa-uc-detail-grid > dt {
    color: var(--color-text-muted);
    font-size: var(--qa-font-size-sm, 0.875rem);
}

.qa-uc-detail-grid > dd {
    margin: 0;
    color: var(--color-text-default);
    font-size: var(--qa-font-size-sm, 0.875rem);
}

.qa-uc-candidate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qa-space-3, 0.75rem);
    padding: var(--qa-space-3, 0.75rem);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--qa-radius-md, 8px);
}

.qa-uc-candidate-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qa-uc-candidate-name {
    font-weight: 500;
    color: var(--color-text-default);
}

.qa-uc-candidate-sub {
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-muted);
}

.qa-uc-empty {
    padding: var(--qa-space-6, 1.5rem);
    text-align: center;
    color: var(--color-text-muted);
}

.qa-call-history-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--qa-space-3, 0.75rem);
    align-items: start;
    padding: var(--qa-space-3, 0.75rem);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--qa-radius-md, 8px);
    background: var(--color-surface-base);
}

.qa-call-history-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-surface-muted, #f1f5f9);
    color: var(--color-text-muted);
}

.qa-call-history-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.qa-call-history-meta {
    display: flex;
    gap: var(--qa-space-3, 0.75rem);
    flex-wrap: wrap;
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-muted);
}

.qa-call-history-summary {
    color: var(--color-text-default);
    font-size: var(--qa-font-size-sm, 0.875rem);
}

.qa-call-history-actions {
    display: flex;
    flex-direction: column;
    gap: var(--qa-space-2, 0.5rem);
    align-items: flex-end;
}

.qa-call-history-attribution {
    display: flex;
    flex-wrap: wrap;
    gap: var(--qa-space-2, 0.5rem);
    margin-top: 4px;
}

.qa-call-recording-player {
    width: 100%;
    margin-top: var(--qa-space-2, 0.5rem);
}

.qa-call-transcript {
    margin-top: var(--qa-space-2, 0.5rem);
    padding: var(--qa-space-2, 0.5rem) var(--qa-space-3, 0.75rem);
    background: var(--color-surface-muted, #f1f5f9);
    border-radius: var(--qa-radius-sm, 6px);
    font-size: var(--qa-font-size-sm, 0.875rem);
    color: var(--color-text-default);
    white-space: pre-wrap;
}

.qa-callrail-mapping-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--qa-font-size-sm, 0.875rem);
}

.qa-callrail-mapping-table th {
    text-align: left;
    padding: 8px 12px;
    border-bottom: 1px solid var(--color-border-subtle, #e2e8f0);
    color: var(--color-text-muted);
    font-weight: var(--font-weight-medium, 500);
}

.qa-callrail-mapping-table td {
    padding: 12px;
    border-bottom: 1px solid var(--color-border-subtle, #e2e8f0);
    vertical-align: middle;
}

.qa-callrail-mapping-table tr:last-child td {
    border-bottom: none;
}

.qa-callrail-mapping-table tr:hover td {
    background: var(--color-surface-muted, #f8fafc);
}

.qa-progress {
    height: 8px;
    background: var(--color-surface-muted, #f1f5f9);
    border: 1px solid var(--color-border-subtle, #e2e8f0);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.qa-progress-bar {
    height: 100%;
    background: var(--color-text-accent, #2563eb);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 999px;
}

.qa-progress-bar--success {
    background: var(--color-status-success, #16a34a);
}

.qa-progress-bar--info {
    background: var(--color-text-accent, #2563eb);
}

.qa-progress-bar--warning {
    background: var(--color-status-warning, #d97706);
}

.qa-progress-bar--danger {
    background: var(--color-status-danger, #dc2626);
}

.qa-progress-bar--neutral {
    background: var(--color-text-muted, #6b7280);
}

.qa-progress--indeterminate .qa-progress-bar {
    width: 35% !important;
    background: var(--color-text-accent, #2563eb);
    animation: qa-progress-indeterminate 1.4s ease-in-out infinite;
}

@keyframes qa-progress-indeterminate {
    0%   { transform: translateX(-100%); }
    50%  { transform: translateX(150%); }
    100% { transform: translateX(300%); }
}
