:root {
    --pwc-orange: #d04a02;
    --pwc-yellow: #ffb600;
    --pwc-dark: #2d2d2d;
    --pwc-grey: #6f6f6f;
    --pwc-light: #f8f8f8;
}

body {
    background-color: var(--pwc-light);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.navbar-brand i {
    margin-right: .25rem;
}

/* Tarjetas KPI */
.kpi-card {
    border-left: 4px solid var(--pwc-orange);
    background: #fff;
    transition: transform .12s ease;
}
.kpi-card:hover { transform: translateY(-2px); }
.kpi-card .kpi-value { font-size: 2.2rem; font-weight: 700; color: var(--pwc-dark); }
.kpi-card .kpi-label { color: var(--pwc-grey); font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.kpi-card.kpi-danger { border-left-color: #c0392b; }
.kpi-card.kpi-warn { border-left-color: var(--pwc-yellow); }
.kpi-card.kpi-success { border-left-color: #2ecc71; }

/* Estados de control */
.estado-Cumple { background: #d4edda !important; color: #155724; }
.estado-Parcial { background: #fff3cd !important; color: #856404; }
.estado-No.cumple, .estado-no-cumple { background: #f8d7da !important; color: #721c24; }
.estado-N\.A\., .estado-na { background: #e2e3e5 !important; color: #383d41; }
.estado-Sin.evaluar, .estado-sin-evaluar { background: #fff !important; color: #6c757d; border: 1px dashed #adb5bd; }

/* Criticidad */
.crit-SHOWSTOPPER { background: #c0392b; color: #fff; }
.crit-Alta { background: #e67e22; color: #fff; }
.crit-Media { background: #f1c40f; color: #2d2d2d; }
.crit-Baja { background: #95a5a6; color: #fff; }

/* Heatmap */
.heat-0 { background: #fff; }
.heat-low { background: #fee5d9; }
.heat-mid { background: #fcae91; }
.heat-high { background: #fb6a4a; color: #fff; }
.heat-max { background: #cb181d; color: #fff; }

/* Cita literal en detalle de control */
.cita-literal {
    background: #fff8e1;
    border-left: 4px solid var(--pwc-yellow);
    padding: .75rem 1rem;
    font-style: italic;
    margin-bottom: .5rem;
    border-radius: 4px;
}

.markdown-body p { margin-bottom: .5rem; }
.markdown-body ol, .markdown-body ul { margin-bottom: .75rem; }

.evidence-row { transition: background .1s; }
.evidence-row:hover { background: #f1f3f5; }

table.table-controles td { vertical-align: middle; font-size: .9rem; }
.controls-filter-bar { background: #fff; padding: .75rem 1rem; border-radius: 4px; margin-bottom: 1rem; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
