/*
 * TOCAPU Plataforma - Core visual externo v4.9.96
 * Objetivo: iniciar separación progresiva de CSS para reducir capas inline.
 * Regla: este archivo contiene solo estilos transversales estables y variables.
 */
:root{
    --tp-red:#b80d12;
    --tp-red-soft:#fff7f7;
    --tp-blue:#2563eb;
    --tp-blue-soft:#eff6ff;
    --tp-green:#16a34a;
    --tp-green-soft:#ecfdf5;
    --tp-purple:#7c3aed;
    --tp-purple-soft:#f5f3ff;
    --tp-orange:#f97316;
    --tp-orange-soft:#fff7ed;
    --tp-border:#e5e7eb;
    --tp-text:#0f172a;
    --tp-muted:#64748b;
    --tp-shadow:0 14px 34px rgba(15,23,42,.07);
    --tp-radius:22px;
    --tp-card-padding:18px;
    --tp-gap:14px;
}
.tp-wrap,
.tp-public{
    color:var(--tp-text);
}
.tp-wrap .tp-section-title-main,
.tp-wrap .tp-list-title,
.tp-wrap .tp-form-section-title,
.tp-wrap .tp-section-heading{
    box-sizing:border-box;
}
.tp-wrap .tp-title-institutional,
.tp-public .tp-title-institutional{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    margin:0 0 14px;
    padding:11px 15px;
    background:var(--tp-red-soft);
    border:1px solid #fecaca;
    border-left:7px solid var(--tp-red);
    border-radius:18px;
    box-shadow:0 8px 18px rgba(184,13,18,.07);
    color:#991b1b;
    font-size:20px;
    font-weight:950;
    line-height:1.15;
}
.tp-wrap .tp-card-person{
    background:linear-gradient(135deg,var(--tp-blue-soft) 0%,#fff 100%);
    border:1px solid #bfdbfe;
    border-left:8px solid var(--tp-blue);
    border-radius:var(--tp-radius);
    box-shadow:var(--tp-shadow);
    padding:var(--tp-card-padding);
}
.tp-wrap .tp-card-course{
    background:linear-gradient(135deg,var(--tp-green-soft) 0%,#fff 100%);
    border:1px solid #bbf7d0;
    border-left:8px solid var(--tp-green);
    border-radius:var(--tp-radius);
    box-shadow:var(--tp-shadow);
    padding:var(--tp-card-padding);
}
.tp-wrap .tp-card-finance{
    background:#fff;
    border:1px solid var(--tp-border);
    border-top:4px solid var(--tp-red);
    border-radius:var(--tp-radius);
    box-shadow:var(--tp-shadow);
    padding:var(--tp-card-padding);
}
.tp-wrap .tp-card-cert{
    background:linear-gradient(135deg,var(--tp-purple-soft) 0%,#fff 100%);
    border:1px solid #ddd6fe;
    border-left:8px solid var(--tp-purple);
    border-radius:var(--tp-radius);
    box-shadow:var(--tp-shadow);
    padding:var(--tp-card-padding);
}
.tp-wrap.tp-density-compact,
.tp-public.tp-density-compact{
    --tp-card-padding:14px;
    --tp-gap:10px;
}
.tp-wrap.tp-density-wide,
.tp-public.tp-density-wide{
    --tp-card-padding:22px;
    --tp-gap:18px;
}
@media(max-width:760px){
    :root{--tp-card-padding:14px;--tp-gap:10px;}
    .tp-wrap .tp-title-institutional,
    .tp-public .tp-title-institutional{width:100%;font-size:18px;}
}
