/* APS UI helpers for PHPRunner pages */
.aps-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
    white-space: nowrap;
}

.aps-badge-running { background: #fff3cd; color: #7a5600; }
.aps-badge-completed { background: #d1e7dd; color: #0f5132; }
.aps-badge-completed_with_alerts { background: #f8d7da; color: #842029; }
.aps-badge-failed { background: #f8d7da; color: #842029; }
.aps-badge-processed { background: #d1e7dd; color: #0f5132; }
.aps-badge-processing { background: #cff4fc; color: #055160; }
.aps-badge-uploaded { background: #e2e3e5; color: #41464b; }
.aps-badge-info { background: #cff4fc; color: #055160; }
.aps-badge-warn { background: #fff3cd; color: #7a5600; }
.aps-badge-error { background: #f8d7da; color: #842029; }
.aps-badge-covered { background: #d1e7dd; color: #0f5132; }
.aps-badge-partial { background: #fff3cd; color: #7a5600; }
.aps-badge-late { background: #ffe5d0; color: #8a3d00; }
.aps-badge-uncovered { background: #f8d7da; color: #842029; }
.aps-badge-available { background: #d1e7dd; color: #0f5132; }
.aps-badge-qc_hold { background: #fff3cd; color: #7a5600; }
.aps-badge-blocked { background: #f8d7da; color: #842029; }

.aps-json-wrap {
    max-width: 420px;
    white-space: normal !important;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
}

.aps-json-wrap details {
    cursor: pointer;
}

.aps-json-wrap summary {
    color: #0d6efd;
    font-weight: 600;
}

.aps-kpi-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.aps-kpi-card .aps-kpi-label {
    color: #64748b;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.aps-kpi-card .aps-kpi-value {
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin-top: 2px;
}
