/*
 * TOCAPU Visual System v27
 * Capa final de gobierno visual para pantallas internas.
 * Debe cargarse después de tocapu-app.css, standalone.css y CSS específicos.
 */
:root{
  --tp-bg:#f4f6f9;
  --tp-surface:#ffffff;
  --tp-surface-soft:#f8fafc;
  --tp-border:#dfe5ed;
  --tp-border-strong:#cfd8e5;
  --tp-text:#1f2d3d;
  --tp-muted:#64748b;
  --tp-primary:#b80d12;
  --tp-primary-dark:#941016;
  --tp-success:#147a45;
  --tp-warning:#9a6700;
  --tp-danger:#b4232a;
  --tp-info:#1d4ed8;
  --tp-radius-sm:10px;
  --tp-radius-md:14px;
  --tp-radius-lg:18px;
  --tp-shadow:0 8px 24px rgba(15,23,42,.06);
  --tp-control-height:44px;
}

/* Tipografía y lienzo */
.tp-app-body,
.tp-internal-standalone{
  background:var(--tp-bg)!important;
  color:var(--tp-text)!important;
}
.tp-app-body .tp-content,
.tp-internal-standalone .tp-public-wrap{
  color:var(--tp-text)!important;
}
.tp-app-body h1,.tp-app-body h2,.tp-app-body h3,
.tp-internal-standalone h1,.tp-internal-standalone h2,.tp-internal-standalone h3{
  color:var(--tp-text)!important;
  letter-spacing:0!important;
}

/* Tarjetas: una sola regla visual, sin franjas de colores */
.tp-app-body .tp-card,
.tp-app-body .tp-panel,
.tp-internal-standalone .tp-card,
.tp-internal-standalone .tp-panel,
.tp-internal-standalone .tp-v2647-section,
.tp-internal-standalone .tp-v2649-cert-card,
.tp-internal-standalone .tp-v2649-summary-card{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-right:1px solid var(--tp-border)!important;
  border-bottom:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:var(--tp-shadow)!important;
}

/* Encabezados de sección: elimina cápsulas rosadas y bordes laterales */
.tp-app-body .tp-section-title,
.tp-app-body .tp-section-title-main,
.tp-app-body .tp-analytics-section-title,
.tp-app-body .tp-card-title,
.tp-internal-standalone .tp-section-title,
.tp-internal-standalone .tp-section-title-main,
.tp-internal-standalone .tp-analytics-section-title,
.tp-internal-standalone .tp-card-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 16px!important;
  padding:0!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--tp-text)!important;
}
.tp-app-body .tp-section-title::before,
.tp-app-body .tp-section-title::after,
.tp-app-body .tp-section-title-main::before,
.tp-app-body .tp-section-title-main::after,
.tp-app-body .tp-analytics-section-title::before,
.tp-app-body .tp-analytics-section-title::after,
.tp-app-body .tp-card-title::before,
.tp-app-body .tp-card-title::after,
.tp-internal-standalone .tp-section-title::before,
.tp-internal-standalone .tp-section-title::after,
.tp-internal-standalone .tp-section-title-main::before,
.tp-internal-standalone .tp-section-title-main::after,
.tp-internal-standalone .tp-analytics-section-title::before,
.tp-internal-standalone .tp-analytics-section-title::after,
.tp-internal-standalone .tp-card-title::before,
.tp-internal-standalone .tp-card-title::after{
  content:none!important;
  display:none!important;
}
.tp-app-body .tp-section-title>div,
.tp-app-body .tp-section-title-main>div,
.tp-app-body .tp-analytics-section-title>div,
.tp-app-body .tp-card-title>div,
.tp-internal-standalone .tp-section-title>div,
.tp-internal-standalone .tp-section-title-main>div,
.tp-internal-standalone .tp-analytics-section-title>div,
.tp-internal-standalone .tp-card-title>div{
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.tp-app-body .tp-section-title h2,
.tp-app-body .tp-section-title-main h2,
.tp-app-body h2.tp-section-title-main,
.tp-app-body .tp-analytics-section-title h2,
.tp-app-body .tp-card-title h2,
.tp-internal-standalone .tp-section-title h2,
.tp-internal-standalone .tp-section-title-main h2,
.tp-internal-standalone h2.tp-section-title-main,
.tp-internal-standalone .tp-analytics-section-title h2,
.tp-internal-standalone .tp-card-title h2{
  margin:0!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:var(--tp-text)!important;
  background:transparent!important;
  border:0!important;
}
.tp-app-body .tp-section-title p,
.tp-app-body .tp-section-title-main p,
.tp-app-body .tp-analytics-section-title p,
.tp-app-body .tp-card-title p,
.tp-internal-standalone .tp-section-title p,
.tp-internal-standalone .tp-section-title-main p,
.tp-internal-standalone .tp-analytics-section-title p,
.tp-internal-standalone .tp-card-title p{
  margin:4px 0 0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500!important;
  color:var(--tp-muted)!important;
  background:transparent!important;
  border:0!important;
}

/* Encabezado principal de módulo */
.tp-app-body .tp-page-head,
.tp-app-body .tp-module-head,
.tp-internal-standalone .tp-public-hero,
.tp-internal-standalone .tp-page-head{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:var(--tp-shadow)!important;
}

/* Botones */
.tp-app-body .tp-btn,
.tp-internal-standalone .tp-btn{
  min-height:var(--tp-control-height)!important;
  padding:10px 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:var(--tp-radius-sm)!important;
  border:1px solid var(--tp-border-strong)!important;
  background:#fff!important;
  color:var(--tp-text)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:750!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.tp-app-body .tp-btn:hover,
.tp-internal-standalone .tp-btn:hover{
  border-color:#aeb9c7!important;
  background:var(--tp-surface-soft)!important;
}
.tp-app-body .tp-btn-red,
.tp-internal-standalone .tp-btn-red{
  background:var(--tp-primary)!important;
  border-color:var(--tp-primary)!important;
  color:#fff!important;
}
.tp-app-body .tp-btn-red:hover,
.tp-internal-standalone .tp-btn-red:hover{
  background:var(--tp-primary-dark)!important;
  border-color:var(--tp-primary-dark)!important;
}
.tp-app-body .tp-btn-green,
.tp-internal-standalone .tp-btn-green{
  background:#fff!important;
  border-color:#72c594!important;
  color:var(--tp-success)!important;
}

/* Formularios */
.tp-app-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tp-app-body select,
.tp-app-body textarea,
.tp-internal-standalone input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tp-internal-standalone select,
.tp-internal-standalone textarea{
  min-height:var(--tp-control-height)!important;
  border:1px solid var(--tp-border-strong)!important;
  border-radius:var(--tp-radius-sm)!important;
  background:#fff!important;
  color:var(--tp-text)!important;
  box-shadow:none!important;
}
.tp-app-body input:focus,
.tp-app-body select:focus,
.tp-app-body textarea:focus,
.tp-internal-standalone input:focus,
.tp-internal-standalone select:focus,
.tp-internal-standalone textarea:focus{
  outline:3px solid rgba(184,13,18,.10)!important;
  border-color:var(--tp-primary)!important;
}
.tp-app-body label,
.tp-internal-standalone label{
  color:var(--tp-text)!important;
  font-weight:700!important;
}

/* Tablas */
.tp-app-body .tp-table,
.tp-internal-standalone .tp-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  color:var(--tp-text)!important;
}
.tp-app-body .tp-table thead th,
.tp-internal-standalone .tp-table thead th{
  background:#f3f6fa!important;
  color:#425466!important;
  border-bottom:1px solid var(--tp-border)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}
.tp-app-body .tp-table td,
.tp-internal-standalone .tp-table td{
  border-bottom:1px solid #edf1f5!important;
  vertical-align:middle!important;
}
.tp-app-body .tp-table tbody tr:hover,
.tp-internal-standalone .tp-table tbody tr:hover{
  background:#fafbfd!important;
}

/* Acordeones */
.tp-app-body details.tp-card,
.tp-app-body .tp-accordion,
.tp-internal-standalone details.tp-card,
.tp-internal-standalone .tp-accordion,
.tp-internal-standalone .tp-v2648-main-accordion{
  overflow:hidden!important;
}
.tp-app-body details>summary,
.tp-internal-standalone details>summary{
  background:#fff!important;
  color:var(--tp-text)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Badges: color solo cuando expresa estado */
.tp-app-body .tp-badge,
.tp-internal-standalone .tp-badge{
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}

/* Limpieza de bordes decorativos residuales dentro del contenido */
.tp-app-body .tp-content [class*="title"],
.tp-internal-standalone .tp-public-wrap [class*="title"]{
  box-shadow:none;
}
.tp-app-body .tp-content .tp-card[class*="accent"],
.tp-app-body .tp-content .tp-card[class*="critical"],
.tp-internal-standalone .tp-public-wrap .tp-card[class*="accent"],
.tp-internal-standalone .tp-public-wrap .tp-card[class*="critical"]{
  border-left:1px solid var(--tp-border)!important;
}

/* Alumnos y Certificados: módulos piloto */
.tp-module-alumnos .tp-v2655-search-card,
.tp-module-alumnos .tp-v2655-table-card,
.tp-module-certificados .tp-v2655-cert-flow{
  padding:20px!important;
}
.tp-module-alumnos .tp-v2655-search-card .tp-section-title,
.tp-module-alumnos .tp-v2655-table-card .tp-section-title,
.tp-module-certificados .tp-v2655-cert-flow .tp-section-title{
  margin-bottom:14px!important;
}
.tp-module-alumnos .tp-v2655-simple-search,
.tp-module-certificados .tp-v2655-simple-search{
  gap:12px!important;
  align-items:center!important;
}
.tp-module-alumnos .tp-v2655-table-scroll,
.tp-module-certificados .tp-v2655-table-scroll{
  border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-md)!important;
  overflow:auto!important;
  background:#fff!important;
}

/* Responsive */
@media(max-width:900px){
  .tp-app-body .tp-section-title,
  .tp-app-body .tp-section-title-main,
  .tp-app-body .tp-card-title,
  .tp-internal-standalone .tp-section-title,
  .tp-internal-standalone .tp-section-title-main,
  .tp-internal-standalone .tp-card-title{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .tp-app-body .tp-btn,
  .tp-internal-standalone .tp-btn{
    white-space:normal!important;
  }
}


/* TOCAPU 26.61 · Fase 2 — componente semántico único y cuarentena de estilos heredados */
.tp-system-section-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 16px!important;
  padding:0!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.tp-system-section-head::before,.tp-system-section-head::after{content:none!important;display:none!important}
.tp-system-section-head>div{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.tp-system-section-head h2,.tp-system-section-head h3{
  margin:0!important;padding:0!important;color:var(--tp-text)!important;
  font-size:20px!important;line-height:1.25!important;font-weight:800!important;
  letter-spacing:-.01em!important;background:transparent!important;border:0!important;
}
.tp-system-section-head p{
  margin:4px 0 0!important;padding:0!important;color:var(--tp-muted)!important;
  font-size:14px!important;line-height:1.45!important;font-weight:500!important;
  background:transparent!important;border:0!important;
}
.tp-module-alumnos .tp-v2655-search-card,
.tp-module-alumnos .tp-v2655-table-card,
.tp-module-certificados .tp-v2655-cert-flow,
.tp-module-certificados .tp-card{
  background:#fff!important;border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;box-shadow:none!important;
}
.tp-module-alumnos .tp-v2655-search-card::before,
.tp-module-alumnos .tp-v2655-search-card::after,
.tp-module-alumnos .tp-v2655-table-card::before,
.tp-module-alumnos .tp-v2655-table-card::after,
.tp-module-certificados .tp-v2655-cert-flow::before,
.tp-module-certificados .tp-v2655-cert-flow::after{content:none!important;display:none!important}
.tp-module-alumnos .tp-v2655-simple-search,
.tp-module-certificados .tp-v2655-simple-search{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:12px!important;align-items:center!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;
}
.tp-module-certificados .tp-v2655-cert-search{grid-template-columns:minmax(260px,1fr) minmax(220px,340px) auto auto!important}
.tp-module-alumnos .tp-v2655-table-scroll,
.tp-module-certificados .tp-v2655-table-scroll{
  max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important;
  border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:#fff!important;
}
.tp-module-alumnos .tp-v2655-table-scroll .tp-table thead th,
.tp-module-certificados .tp-v2655-table-scroll .tp-table thead th{position:sticky!important;top:0!important;z-index:3!important}
@media(max-width:900px){
  .tp-system-section-head{flex-direction:column!important;align-items:flex-start!important}
  .tp-module-alumnos .tp-v2655-simple-search,
  .tp-module-certificados .tp-v2655-simple-search,
  .tp-module-certificados .tp-v2655-cert-search{grid-template-columns:1fr!important}
}

/* TOCAPU 26.62 · Fase 3 — homologación de Cursos, Finanzas, Seguimiento y CPI */
.tp-module-cursos .tp-card,
.tp-module-finanzas .tp-card,
.tp-module-seguimiento .tp-card,
.tp-module-cpi .tp-card,
.tp-module-cursos .tp-course-card-clean,
.tp-module-cpi .tp-item-card,
.tp-module-cpi .tp-recipe{
  background:#fff!important;
  border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:none!important;
}
.tp-module-cursos .tp-card::before,.tp-module-cursos .tp-card::after,
.tp-module-finanzas .tp-card::before,.tp-module-finanzas .tp-card::after,
.tp-module-seguimiento .tp-card::before,.tp-module-seguimiento .tp-card::after,
.tp-module-cpi .tp-card::before,.tp-module-cpi .tp-card::after,
.tp-module-cursos .tp-course-card-clean::before,.tp-module-cursos .tp-course-card-clean::after,
.tp-module-cpi .tp-item-card::before,.tp-module-cpi .tp-item-card::after{
  content:none!important;display:none!important;
}

/* Gestión de Cursos */
.tp-module-cursos .tp-course-groups{gap:24px!important}
.tp-module-cursos .tp-course-group-block{gap:12px!important}
.tp-module-cursos .tp-course-group-title{
  border:0!important;border-bottom:1px solid var(--tp-border)!important;
  padding:0 0 10px!important;background:transparent!important;
}
.tp-module-cursos .tp-course-group-title h2{font-size:20px!important;font-weight:800!important;color:var(--tp-text)!important}
.tp-module-cursos .tp-course-card-grid-clean{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important;gap:14px!important}
.tp-module-cursos .tp-course-card-clean{padding:16px!important;gap:12px!important;min-width:0!important}
.tp-module-cursos .tp-course-card-clean h3{font-size:18px!important;line-height:1.3!important;margin:6px 0 2px!important}
.tp-module-cursos .tp-course-facts{gap:8px!important}
.tp-module-cursos .tp-course-facts span{
  background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-sm)!important;padding:9px 10px!important;
}
.tp-module-cursos .tp-course-actions-primary{gap:8px!important}
.tp-module-cursos .tp-course-more{border-top:1px solid var(--tp-border)!important;padding-top:10px!important}
.tp-module-cursos .tp-course-more summary{font-size:14px!important;color:var(--tp-muted)!important}
.tp-module-cursos .tp-course-summary-soft,
.tp-module-cursos .tp-course-status-card,
.tp-module-cursos .tp-course-subcard,
.tp-module-cursos .tp-course-edit-accordion{
  border:1px solid var(--tp-border)!important;border-left:1px solid var(--tp-border)!important;
  background:#fff!important;box-shadow:none!important;border-radius:var(--tp-radius-lg)!important;
}
.tp-module-cursos .tp-course-summary-item{background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;box-shadow:none!important}

/* Gestión Financiera */
.tp-module-finanzas .tp-finance-flow{gap:10px!important;margin:14px 0 18px!important}
.tp-module-finanzas .tp-finance-flow a{
  min-height:58px!important;background:#fff!important;border:1px solid var(--tp-border)!important;
  color:var(--tp-text)!important;border-radius:var(--tp-radius-md)!important;box-shadow:none!important;
}
.tp-module-finanzas .tp-finance-flow a.active{
  border-color:var(--tp-primary)!important;background:#fff!important;color:var(--tp-primary)!important;
}
.tp-module-finanzas .tp-finance-flow b{
  width:30px!important;height:30px!important;background:var(--tp-surface-soft)!important;color:var(--tp-primary)!important;
}
.tp-module-finanzas .tp-finance-summary{gap:12px!important;margin:0 0 16px!important}
.tp-module-finanzas .tp-finance-summary .tp-card{padding:16px!important}
.tp-module-finanzas .tp-finance-summary .tp-card span{font-size:13px!important;color:var(--tp-muted)!important;font-weight:700!important}
.tp-module-finanzas .tp-finance-summary .tp-card strong{font-size:22px!important;color:var(--tp-text)!important;margin-top:5px!important}
.tp-module-finanzas .tp-finance-toolbar{border:1px solid var(--tp-border)!important;padding:16px!important}
.tp-module-finanzas .tp-finance-start-clean{padding:20px!important}
.tp-module-finanzas .tp-table-wrap{max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important}
.tp-module-finanzas .tp-table-wrap .tp-table thead th{position:sticky!important;top:0!important;z-index:3!important}

/* Seguimiento Operativo */
.tp-module-seguimiento .tp-v2653-search-card,
.tp-module-seguimiento .tp-v2653-table-card,
.tp-module-seguimiento .tp-followup-card,
.tp-module-seguimiento .tp-matrix-card{padding:20px!important}
.tp-module-seguimiento .tp-toolbar{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.tp-module-seguimiento .tp-table-wrap,
.tp-module-seguimiento .tp-v2654-table-scroll,
.tp-module-seguimiento .tp-v2653-table-scroll{
  max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important;
  border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:#fff!important;
}
.tp-module-seguimiento .tp-table-wrap .tp-table thead th,
.tp-module-seguimiento .tp-v2654-table-scroll .tp-table thead th,
.tp-module-seguimiento .tp-v2653-table-scroll .tp-table thead th{position:sticky!important;top:0!important;z-index:3!important}
.tp-module-seguimiento details{border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;box-shadow:none!important}

/* Centro de Producción Inteligente */
.tp-module-cpi .tp-page-head{padding:20px 24px!important}
.tp-module-cpi .tp-cpi-tabs,
.tp-module-cpi .tp-tabs{
  background:#fff!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;
  padding:8px!important;box-shadow:none!important;
}
.tp-module-cpi .tp-cpi-tabs a,
.tp-module-cpi .tp-tabs a{
  border:1px solid transparent!important;border-radius:var(--tp-radius-sm)!important;
  background:transparent!important;color:var(--tp-muted)!important;box-shadow:none!important;
}
.tp-module-cpi .tp-cpi-tabs a.active,
.tp-module-cpi .tp-tabs a.active{
  border-color:var(--tp-border-strong)!important;background:var(--tp-surface-soft)!important;color:var(--tp-text)!important;
}
.tp-module-cpi .tp-cpi-history-grid,
.tp-module-cpi .tp-card-grid{gap:14px!important}
.tp-module-cpi .tp-item-card,.tp-module-cpi .tp-recipe{padding:16px!important}
.tp-module-cpi .tp-item-card h3,.tp-module-cpi .tp-recipe h3{font-size:18px!important;line-height:1.3!important}
.tp-module-cpi .tp-copy-box,.tp-module-cpi pre{
  background:#f7f9fc!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-sm)!important;
}
.tp-module-cpi .tp-cpi-output{padding:0!important}
.tp-module-cpi .tp-cpi-output summary{padding:16px 18px!important;font-weight:800!important;border-bottom:1px solid transparent!important}
.tp-module-cpi .tp-cpi-output[open] summary{border-bottom-color:var(--tp-border)!important}
.tp-module-cpi .tp-cpi-output pre{margin:0!important;border:0!important;border-radius:0!important;padding:18px!important}

/* Encabezados semánticos en los módulos de Fase 3 */
.tp-module-cursos .tp-system-section-head,
.tp-module-finanzas .tp-system-section-head,
.tp-module-seguimiento .tp-system-section-head,
.tp-module-cpi .tp-system-section-head{margin-bottom:14px!important}

@media(max-width:980px){
  .tp-module-cursos .tp-course-card-grid-clean,
  .tp-module-finanzas .tp-finance-flow,
  .tp-module-finanzas .tp-finance-summary{grid-template-columns:1fr 1fr!important}
}
@media(max-width:680px){
  .tp-module-cursos .tp-course-card-grid-clean,
  .tp-module-finanzas .tp-finance-flow,
  .tp-module-finanzas .tp-finance-summary{grid-template-columns:1fr!important}
}

/* TOCAPU 26.63 · Fase 4 — Canales Públicos, Administración, Docentes e Inicio */
.tp-module-canales .tp-card,
.tp-module-admin .tp-card,
.tp-module-docentes .tp-card,
.tp-module-dashboard .tp-card,
.tp-module-dashboard .tp-home-module-card,
.tp-module-docentes .tp-item-card{
  background:#fff!important;
  border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:none!important;
}
.tp-module-canales .tp-card::before,.tp-module-canales .tp-card::after,
.tp-module-admin .tp-card::before,.tp-module-admin .tp-card::after,
.tp-module-docentes .tp-card::before,.tp-module-docentes .tp-card::after,
.tp-module-dashboard .tp-card::before,.tp-module-dashboard .tp-card::after,
.tp-module-dashboard .tp-home-module-card::before,.tp-module-dashboard .tp-home-module-card::after,
.tp-module-docentes .tp-item-card::before,.tp-module-docentes .tp-item-card::after{
  content:none!important;display:none!important;
}

/* Canales Públicos */
.tp-module-canales .tp-public-access-grid{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;margin:16px 0!important;
}
.tp-module-canales .tp-public-access-card{
  min-height:190px!important;padding:16px!important;display:flex!important;
  flex-direction:column!important;align-items:flex-start!important;gap:8px!important;
}
.tp-module-canales .tp-public-access-index{
  width:30px!important;height:30px!important;border-radius:9px!important;
  background:var(--tp-surface-soft)!important;color:var(--tp-text)!important;
  border:1px solid var(--tp-border)!important;font-weight:800!important;
}
.tp-module-canales .tp-public-access-card h2{font-size:17px!important;margin:4px 0 0!important;line-height:1.3!important}
.tp-module-canales .tp-public-access-card p{font-size:13px!important;line-height:1.45!important;color:var(--tp-muted)!important;margin:0 0 auto!important}
.tp-module-canales .tp-public-access-card .tp-btn{width:100%!important}
.tp-module-canales .tp-public-requests{padding:20px!important}
.tp-module-canales .tp-request-admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;gap:14px!important}
.tp-module-canales .tp-request-admin-grid .tp-item-card{
  border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;
  background:#fff!important;padding:16px!important;box-shadow:none!important;
}
.tp-module-canales .tp-clean-accordion,
.tp-module-admin .tp-admin-log-accordion{padding:0!important;overflow:hidden!important}
.tp-module-canales .tp-clean-accordion>summary,
.tp-module-admin .tp-admin-log-accordion>summary{
  min-height:68px!important;padding:17px 20px!important;background:#fff!important;
  border:0!important;color:var(--tp-text)!important;
}
.tp-module-canales .tp-clean-accordion>summary:after,
.tp-module-admin .tp-admin-log-accordion>summary:after{
  color:var(--tp-text)!important;background:var(--tp-surface-soft)!important;
  border:1px solid var(--tp-border)!important;
}
.tp-module-canales .tp-clean-accordion-body,
.tp-module-admin .tp-admin-log-body{border-top:1px solid var(--tp-border)!important;padding:0 20px 20px!important}
.tp-module-canales .tp-table-scroll-8,
.tp-module-admin .tp-admin-log-scroll{
  max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important;
  border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;
  background:#fff!important;margin-top:16px!important;
}
.tp-module-canales .tp-table-scroll-8 thead th,
.tp-module-admin .tp-admin-log-scroll thead th{position:sticky!important;top:0!important;z-index:3!important}

/* Administración */
.tp-module-admin .tp-admin-clean-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.tp-module-admin .tp-admin-clean-card{padding:18px!important;display:grid!important;gap:14px!important;align-content:start!important}
.tp-module-admin .tp-admin-clean-head{display:flex!important;align-items:flex-start!important;gap:12px!important}
.tp-module-admin .tp-admin-clean-head>span{
  width:38px!important;height:38px!important;border-radius:10px!important;
  background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;
  display:grid!important;place-items:center!important;font-size:18px!important;
}
.tp-module-admin .tp-admin-clean-head h2{font-size:18px!important;line-height:1.3!important;margin:0 0 4px!important}
.tp-module-admin .tp-admin-clean-head p{font-size:13px!important;line-height:1.45!important;margin:0!important;color:var(--tp-muted)!important}
.tp-module-admin .tp-admin-clean-links{display:grid!important;gap:7px!important}
.tp-module-admin .tp-admin-clean-links a{
  min-height:42px!important;padding:9px 11px!important;border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-sm)!important;background:#fff!important;color:var(--tp-text)!important;
  text-decoration:none!important;font-weight:700!important;box-shadow:none!important;
}
.tp-module-admin .tp-admin-clean-links a:hover{border-color:var(--tp-border-strong)!important;background:var(--tp-surface-soft)!important;color:var(--tp-text)!important}
.tp-module-admin .tp-admin-clean-links a span{color:var(--tp-muted)!important}
.tp-module-admin .tp-admin-log-accordion{margin-top:16px!important}

/* Gestión de Docentes */
.tp-module-docentes .tp-teacher-editor{padding:20px!important}
.tp-module-docentes .tp-course-toolbar{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.tp-module-docentes .tp-teacher-card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:14px!important}
.tp-module-docentes .tp-teacher-card{padding:16px!important;display:grid!important;gap:14px!important;align-content:start!important}
.tp-module-docentes .tp-teacher-mainbox h3{font-size:18px!important;line-height:1.3!important;margin:8px 0 4px!important}
.tp-module-docentes .tp-teacher-mainbox p{margin:0 0 5px!important;color:var(--tp-text)!important}
.tp-module-docentes .tp-teacher-mainbox small{color:var(--tp-muted)!important;line-height:1.45!important}
.tp-module-docentes .tp-teacher-actions{display:grid!important;gap:9px!important;border-top:1px solid var(--tp-border)!important;padding-top:12px!important}
.tp-module-docentes .tp-teacher-actions-primary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.tp-module-docentes .tp-teacher-more{border:0!important;background:transparent!important}
.tp-module-docentes .tp-teacher-more summary{
  cursor:pointer!important;list-style:none!important;min-height:40px!important;padding:9px 12px!important;
  border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-sm)!important;
  background:var(--tp-surface-soft)!important;color:var(--tp-muted)!important;font-weight:750!important;
}
.tp-module-docentes .tp-teacher-more summary::-webkit-details-marker{display:none!important}
.tp-module-docentes .tp-teacher-more-menu{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding-top:8px!important}
.tp-module-docentes .tp-teacher-more-menu form{margin:0!important}
.tp-module-docentes .tp-teacher-more-menu .tp-btn{width:100%!important}

/* Inicio */
.tp-module-dashboard .tp-home-head{padding:20px 24px!important}
.tp-module-dashboard .tp-home-search{padding:20px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,520px)!important;gap:18px!important;align-items:center!important}
.tp-module-dashboard .tp-home-search>div{display:flex!important;align-items:center!important;gap:12px!important}
.tp-module-dashboard .tp-home-search h2{font-size:19px!important;margin:0 0 4px!important}
.tp-module-dashboard .tp-home-search p{margin:0!important;color:var(--tp-muted)!important}
.tp-module-dashboard .tp-home-action-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.tp-module-dashboard .tp-home-module-card{padding:18px!important;display:grid!important;grid-template-columns:auto 1fr!important;gap:12px!important;align-content:start!important}
.tp-module-dashboard .tp-home-module-icon{
  width:42px!important;height:42px!important;border-radius:11px!important;background:var(--tp-surface-soft)!important;
  border:1px solid var(--tp-border)!important;color:var(--tp-text)!important;display:grid!important;place-items:center!important;
}
.tp-module-dashboard .tp-home-module-copy h2{font-size:19px!important;margin:2px 0 6px!important}
.tp-module-dashboard .tp-home-module-copy p{font-size:14px!important;line-height:1.5!important;color:var(--tp-muted)!important;margin:0!important}
.tp-module-dashboard .tp-home-module-kicker{font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--tp-muted)!important}
.tp-module-dashboard .tp-home-module-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:4px!important}

@media(max-width:1180px){
  .tp-module-canales .tp-public-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .tp-module-admin .tp-admin-clean-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .tp-module-dashboard .tp-home-search{grid-template-columns:1fr!important}
  .tp-module-dashboard .tp-home-action-grid{grid-template-columns:1fr!important}
  .tp-module-docentes .tp-teacher-card-grid{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  .tp-module-canales .tp-public-access-grid,
  .tp-module-admin .tp-admin-clean-grid{grid-template-columns:1fr!important}
  .tp-module-docentes .tp-teacher-actions-primary,
  .tp-module-docentes .tp-teacher-more-menu,
  .tp-module-dashboard .tp-home-module-actions{grid-template-columns:1fr!important}
}

/* TOCAPU 26.64 · Fase 5 — Ficha Integral, Portal, Preinscripción, Verificador y Paquete Operativo */

/* Sistema público: misma base visual sin convertirlo en una pantalla administrativa */
.tp-public-system{
  background:var(--tp-bg)!important;
  color:var(--tp-text)!important;
}
.tp-public-system .tp-public-wrap{max-width:1180px!important;padding:24px!important}
.tp-public-system .tp-card,
.tp-public-system .tp-public-section,
.tp-public-system .tp-portal-section,
.tp-public-system .tp-cert-item,
.tp-public-system .tp-subpanel,
.tp-public-system .tp-resource{
  background:#fff!important;
  border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:none!important;
}
.tp-public-system .tp-card::before,.tp-public-system .tp-card::after,
.tp-public-system .tp-public-section::before,.tp-public-system .tp-public-section::after,
.tp-public-system .tp-portal-section::before,.tp-public-system .tp-portal-section::after,
.tp-public-system .tp-cert-item::before,.tp-public-system .tp-cert-item::after{
  content:none!important;display:none!important;
}
.tp-public-system .tp-public-brand-header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;
  padding:22px 24px!important;margin-bottom:18px!important;
  background:#fff!important;border:1px solid var(--tp-border)!important;
  border-left:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;
  box-shadow:none!important;color:var(--tp-text)!important;
}
.tp-public-system .tp-public-brand-header::before,.tp-public-system .tp-public-brand-header::after{content:none!important;display:none!important}
.tp-public-system .tp-public-brand-header h1{color:var(--tp-text)!important;font-size:30px!important;line-height:1.12!important}
.tp-public-system .tp-public-brand-header p{color:var(--tp-muted)!important}
.tp-public-system .tp-public-brand-kicker{color:var(--tp-primary)!important}
.tp-public-system .tp-public-brand-actions .tp-btn{background:#fff!important;color:var(--tp-text)!important;border-color:var(--tp-border-strong)!important}
.tp-public-system .tp-btn{
  min-height:var(--tp-control-height)!important;padding:10px 16px!important;border-radius:var(--tp-radius-sm)!important;
  border:1px solid var(--tp-border-strong)!important;background:#fff!important;color:var(--tp-text)!important;
  font-size:14px!important;font-weight:750!important;box-shadow:none!important;
}
.tp-public-system .tp-btn-red{background:var(--tp-primary)!important;border-color:var(--tp-primary)!important;color:#fff!important}
.tp-public-system .tp-btn-green{background:#fff!important;border-color:#72c594!important;color:var(--tp-success)!important}
.tp-public-system input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tp-public-system select,.tp-public-system textarea{
  width:100%!important;min-height:var(--tp-control-height)!important;border:1px solid var(--tp-border-strong)!important;
  border-radius:var(--tp-radius-sm)!important;background:#fff!important;color:var(--tp-text)!important;box-shadow:none!important;
}
.tp-public-system input:focus,.tp-public-system select:focus,.tp-public-system textarea:focus{
  outline:3px solid rgba(184,13,18,.10)!important;border-color:var(--tp-primary)!important;
}

/* Portal del Alumno */
.tp-module-portal .tp-portal-brand{background:#fff!important;color:var(--tp-text)!important}
.tp-module-portal .tp-portal-brand h1{color:var(--tp-text)!important}
.tp-module-portal .tp-portal-brand p{color:var(--tp-muted)!important}
.tp-module-portal .tp-portal-login{max-width:1040px!important;margin:0 auto 24px!important}
.tp-module-portal .tp-portal-login-shell{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;gap:18px!important}
.tp-module-portal .tp-portal-welcome{
  position:relative!important;overflow:hidden!important;padding:28px!important;
  background:#fff!important;color:var(--tp-text)!important;border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;box-shadow:none!important;
}
.tp-module-portal .tp-portal-welcome::after{content:none!important;display:none!important}
.tp-module-portal .tp-welcome-kicker{
  display:inline-flex!important;padding:7px 11px!important;border:1px solid var(--tp-border)!important;
  border-radius:999px!important;background:var(--tp-surface-soft)!important;color:var(--tp-primary)!important;
  font-size:12px!important;font-weight:800!important;
}
.tp-module-portal .tp-portal-welcome h2{font-size:28px!important;line-height:1.15!important;margin:20px 0 10px!important;color:var(--tp-text)!important}
.tp-module-portal .tp-portal-welcome>p{color:var(--tp-muted)!important;line-height:1.6!important}
.tp-module-portal .tp-portal-benefits{display:grid!important;gap:10px!important;margin-top:20px!important}
.tp-module-portal .tp-portal-benefit{
  display:grid!important;grid-template-columns:34px 1fr!important;gap:10px!important;align-items:center!important;
  padding:11px 12px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:var(--tp-surface-soft)!important;
}
.tp-module-portal .tp-portal-benefit span:first-child{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#fff!important;color:var(--tp-primary)!important;border:1px solid var(--tp-border)!important}
.tp-module-portal .tp-portal-benefit strong{color:var(--tp-text)!important}.tp-module-portal .tp-portal-benefit small{color:var(--tp-muted)!important}
.tp-module-portal .tp-portal-login-card{padding:28px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;background:#fff!important;box-shadow:none!important}
.tp-module-portal .tp-login-card-head{display:flex!important;gap:14px!important;align-items:flex-start!important;margin-bottom:20px!important}
.tp-module-portal .tp-login-card-icon{width:46px!important;height:46px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;color:var(--tp-primary)!important}
.tp-module-portal .tp-login-card-head h2{margin:0!important;font-size:24px!important;color:var(--tp-text)!important}.tp-module-portal .tp-login-card-head p{margin:5px 0 0!important;color:var(--tp-muted)!important}
.tp-module-portal .tp-portal-login-form{display:grid!important;gap:15px!important}.tp-module-portal .tp-portal-login-form label{display:grid!important;gap:7px!important}
.tp-module-portal .tp-portal-login-submit{width:100%!important;min-height:48px!important}
.tp-module-portal .tp-portal-security{display:flex!important;gap:9px!important;margin-top:14px!important;padding:12px 14px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:var(--tp-surface-soft)!important;color:var(--tp-muted)!important}
.tp-module-portal .tp-portal-assistance{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;margin-top:18px!important;padding-top:18px!important;border-top:1px solid var(--tp-border)!important}
.tp-module-portal .tp-portal-nav{position:sticky!important;top:8px!important;z-index:8!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:8px!important;margin:16px 0!important;background:#fff!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;box-shadow:none!important}
.tp-module-portal .tp-portal-section{margin-bottom:14px!important;overflow:hidden!important}
.tp-module-portal .tp-portal-section>.tp-section-head{padding:16px 18px!important;background:#fff!important;border-bottom:1px solid var(--tp-border)!important}
.tp-module-portal .tp-portal-section>.tp-section-head h2{margin:0!important;font-size:20px!important;color:var(--tp-text)!important}.tp-module-portal .tp-portal-section>.tp-section-head p{margin:4px 0 0!important;color:var(--tp-muted)!important}
.tp-module-portal .tp-section-body{padding:18px!important}
.tp-module-portal .tp-portal-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.tp-module-portal .tp-summary-row{padding:13px 14px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:var(--tp-surface-soft)!important}
.tp-module-portal .tp-message-card,.tp-module-portal .tp-request-card,.tp-module-portal .tp-security-note,.tp-module-portal .tp-timeline-item{border-left:1px solid var(--tp-border)!important}
.tp-module-portal .tp-clean-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.tp-module-portal .tp-resource-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:12px!important}
.tp-module-portal .tp-upload-box{border:1px dashed var(--tp-border-strong)!important;background:var(--tp-surface-soft)!important}

/* Preinscripción */
.tp-module-preinscripcion .tp-public-hero{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;
  background:#fff!important;color:var(--tp-text)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important;
}
.tp-module-preinscripcion .tp-public-hero h1{color:var(--tp-text)!important}.tp-module-preinscripcion .tp-public-hero p{color:var(--tp-muted)!important}
.tp-module-preinscripcion .form-card{padding:20px!important}
.tp-module-preinscripcion .tp-success-panel{background:#fff!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important}
.tp-module-preinscripcion .tp-success-check{background:var(--tp-success)!important}
.tp-module-preinscripcion .tp-payment-panel,.tp-module-preinscripcion .tp-payment-amount,.tp-module-preinscripcion .tp-promo-price{border-left:1px solid var(--tp-border)!important;background:#fff!important}
.tp-module-preinscripcion .tp-public-note,.tp-module-preinscripcion .tp-security-note{border-left:1px solid var(--tp-border)!important}

/* Verificador */
.tp-module-verificador .tp-verifier{max-width:980px!important;margin:0 auto!important}
.tp-module-verificador .tp-search-one{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.tp-module-verificador .tp-cert-list{display:grid!important;gap:14px!important}
.tp-module-verificador .tp-cert-item{padding:18px!important}
.tp-module-verificador .tp-person-name{font-size:22px!important;margin:8px 0 4px!important;color:var(--tp-text)!important}
.tp-module-verificador .tp-person-ci{color:var(--tp-muted)!important;margin:0 0 12px!important}
.tp-module-verificador .tp-cert-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.tp-module-verificador .tp-cert-meta div{padding:12px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:var(--tp-surface-soft)!important}
.tp-module-verificador .tp-cert-meta span{display:block!important;font-size:12px!important;color:var(--tp-muted)!important;text-transform:uppercase!important;font-weight:800!important}
.tp-module-verificador .tp-topic-box{margin-top:14px!important;padding:14px!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:#fff!important}
.tp-module-verificador .tp-valid{display:inline-flex!important;align-items:center!important;gap:8px!important;color:var(--tp-success)!important;font-weight:800!important}
.tp-module-verificador .tp-valid::before{content:'✓'!important;width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--tp-success)!important;color:#fff!important}

/* Ficha pública de curso */
.tp-module-curso-publico .tp-landing-hero{border-left:1px solid var(--tp-border)!important;background:#fff!important;color:var(--tp-text)!important}
.tp-module-curso-publico .tp-landing-hero h1,.tp-module-curso-publico .tp-landing-hero p{color:var(--tp-text)!important}
.tp-module-curso-publico .tp-landing-price{font-size:34px!important;color:var(--tp-primary)!important;font-weight:900!important}
.tp-module-curso-publico .tp-landing-meta{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:10px!important}
.tp-module-curso-publico .tp-landing-meta div{padding:12px!important;background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important}
.tp-module-curso-publico .tp-public-box{background:#fff!important;border:1px solid var(--tp-border)!important}

/* Ficha Integral del Alumno */
.tp-module-ficha-alumno .tp-v2647-wrap{display:grid!important;gap:14px!important}
.tp-module-ficha-alumno .tp-v2647-hero{background:#fff!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important;padding:20px 22px!important}
.tp-module-ficha-alumno .tp-v2647-section{padding:20px!important;box-shadow:none!important}
.tp-module-ficha-alumno .tp-v2647-section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:16px!important}
.tp-module-ficha-alumno .tp-v2647-section-head h2{margin:0!important;font-size:20px!important;color:var(--tp-text)!important}
.tp-module-ficha-alumno .tp-v2647-info-grid,.tp-module-ficha-alumno .tp-v2647-course-grid,.tp-module-ficha-alumno .tp-v2647-payment-grid,.tp-module-ficha-alumno .tp-v2649-cert-summary-grid{gap:10px!important}
.tp-module-ficha-alumno .tp-v2647-kv,.tp-module-ficha-alumno .tp-v2647-course-grid>div,.tp-module-ficha-alumno .tp-v2647-payment-grid>div,.tp-module-ficha-alumno .tp-v2649-summary-card{background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important}
.tp-module-ficha-alumno .tp-v2647-doc-row{border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:#fff!important}
.tp-module-ficha-alumno .tp-v2649-cert-card{box-shadow:none!important;border-left:1px solid var(--tp-border)!important}
.tp-module-ficha-alumno .tp-v2649-status-banner{border-radius:var(--tp-radius-md)!important}
.tp-module-ficha-alumno .tp-v2648-main-accordion{padding:0!important}
.tp-module-ficha-alumno .tp-v2648-main-accordion>summary{padding:18px 20px!important;font-size:20px!important}
.tp-module-ficha-alumno .tp-v2648-accordion-body{padding:0 20px 20px!important}

/* Paquete Operativo del Curso */
.tp-module-paquete-curso .tp-package-shell{display:grid!important;gap:14px!important}
.tp-module-paquete-curso .tp-public-hero{background:#fff!important;color:var(--tp-text)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important}
.tp-module-paquete-curso .tp-public-hero h1{color:var(--tp-text)!important}.tp-module-paquete-curso .tp-public-hero p{color:var(--tp-muted)!important}
.tp-module-paquete-curso .tp-package-selector{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:end!important}
.tp-module-paquete-curso .tp-package-flow{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.tp-module-paquete-curso .tp-package-step{padding:16px!important;display:grid!important;gap:12px!important;background:#fff!important;border:1px solid var(--tp-border)!important;border-left:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important}
.tp-module-paquete-curso .tp-package-step span{font-size:12px!important;font-weight:800!important;color:var(--tp-primary)!important}
.tp-module-paquete-curso .tp-package-step h2{margin:0!important;font-size:18px!important;color:var(--tp-text)!important}.tp-module-paquete-curso .tp-package-step p{margin:0!important;color:var(--tp-muted)!important}
.tp-module-paquete-curso .tp-package-step .actions{display:grid!important;gap:8px!important}.tp-module-paquete-curso .tp-package-step .tp-btn{width:100%!important}
.tp-module-paquete-curso .tp-package-kpis,.tp-module-paquete-curso .tp-package-check{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.tp-module-paquete-curso .tp-package-kpi,.tp-module-paquete-curso .tp-package-check>div{padding:14px!important;background:var(--tp-surface-soft)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important}
.tp-module-paquete-curso .tp-package-kpi strong,.tp-module-paquete-curso .tp-package-check strong{display:block!important;font-size:22px!important;color:var(--tp-text)!important}.tp-module-paquete-curso .tp-package-kpi span,.tp-module-paquete-curso .tp-package-check span{color:var(--tp-muted)!important;font-size:13px!important}
.tp-module-paquete-curso .tp-package-table{max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important;background:#fff!important}
.tp-module-paquete-curso .tp-package-table thead th{position:sticky!important;top:0!important;z-index:3!important}

/* Estado de cuenta */
.tp-module-estado-cuenta .tp-card{box-shadow:none!important;border-left:1px solid var(--tp-border)!important}
.tp-module-estado-cuenta .tp-money-red{color:var(--tp-primary)!important}

@media(max-width:900px){
  .tp-public-system .tp-public-brand-header,.tp-module-preinscripcion .tp-public-hero{flex-direction:column!important;align-items:flex-start!important}
  .tp-module-portal .tp-portal-login-shell,.tp-module-portal .tp-clean-grid{grid-template-columns:1fr!important}
  .tp-module-paquete-curso .tp-package-flow,.tp-module-paquete-curso .tp-package-kpis,.tp-module-paquete-curso .tp-package-check{grid-template-columns:1fr 1fr!important}
}
@media(max-width:680px){
  .tp-public-system .tp-public-wrap{padding:12px!important}
  .tp-module-portal .tp-portal-summary,.tp-module-verificador .tp-cert-meta,.tp-module-paquete-curso .tp-package-flow,.tp-module-paquete-curso .tp-package-kpis,.tp-module-paquete-curso .tp-package-check,.tp-module-paquete-curso .tp-package-selector{grid-template-columns:1fr!important}
  .tp-module-verificador .tp-search-one{grid-template-columns:1fr!important}
  .tp-module-portal .tp-portal-assistance{align-items:flex-start!important;flex-direction:column!important}
}

@media print{
  .tp-public-system .actions,.tp-public-system .tp-no-print{display:none!important}
  .tp-public-system{background:#fff!important}
  .tp-public-system .tp-card{break-inside:avoid!important}
}

/* TOCAPU 26.65 · Fase 6 — documentos, impresiones y pantallas residuales */
.tp-module-cronograma .tp-session-line,.tp-module-materiales .tp-material-card,.tp-module-evaluacion .tp-question-card,.tp-module-importacion .tp-import-security,.tp-module-importacion .tp-import-note{background:#fff!important;border:1px solid var(--tp-border)!important;border-left:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important}
.tp-module-cronograma .tp-session-line::before,.tp-module-materiales .tp-material-card::before,.tp-module-evaluacion .tp-question-card::before{content:none!important;display:none!important}
.tp-module-cronograma .tp-session-line{padding:16px!important;margin-bottom:10px!important}.tp-module-cronograma .tp-mini-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.tp-module-materiales .tp-material-grid,.tp-module-evaluacion .tp-evaluation-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:12px!important}.tp-module-materiales .tp-material-card,.tp-module-evaluacion .tp-question-card{padding:16px!important}
.tp-module-importacion .tp-import-shell{max-width:1240px!important;margin:auto!important;padding:24px!important;display:grid!important;gap:14px!important}.tp-module-importacion .tp-import-hero{background:#fff!important;color:var(--tp-text)!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-lg)!important;box-shadow:none!important;padding:20px 22px!important}.tp-module-importacion .tp-import-hero h1{color:var(--tp-text)!important}.tp-module-importacion .tp-import-hero p{color:var(--tp-muted)!important}.tp-module-importacion .tp-import-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}.tp-module-importacion .tp-template-list{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.tp-module-importacion .tp-preview-table-wrap,.tp-module-importacion .tp-table-wrap{max-height:520px!important;overflow:auto!important;scrollbar-gutter:stable!important;border:1px solid var(--tp-border)!important;border-radius:var(--tp-radius-md)!important}.tp-module-importacion .tp-table-wrap thead th{position:sticky!important;top:0!important;z-index:2!important}
.tp-module-technical-report .tp-card,.tp-module-technical-report .card,.tp-module-technical-report section{box-shadow:none!important;border-left:1px solid var(--tp-border)!important}.tp-module-technical-report .tp-kpi,.tp-module-technical-report .kpi{border:1px solid var(--tp-border)!important;border-left:1px solid var(--tp-border)!important;background:#fff!important}.tp-module-technical-report .tp-report-title{border-left:0!important;padding-left:0!important}
.tp-module-planilla .tp-public-wrap,.tp-module-reporte .tp-public-wrap{max-width:1240px!important}.tp-module-planilla .tp-card,.tp-module-reporte .tp-card{box-shadow:none!important;border-left:1px solid var(--tp-border)!important}
@media(max-width:900px){.tp-module-importacion .tp-import-grid{grid-template-columns:1fr!important}.tp-module-importacion .tp-import-shell{padding:12px!important}}


/* =========================================================
   TOCAPU 26.66 · Fase 7 — saneamiento técnico CSS
   Reglas trasladadas desde estilos inline operativos.
   ========================================================= */
.tp-course-toolbar-clean{display:grid;grid-template-columns:minmax(0,1fr) 220px auto auto;gap:10px}
.tp-course-groups{display:grid;gap:20px;margin-top:16px}.tp-course-group-block{display:grid;gap:12px}
.tp-course-group-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--tp-border,#e5e7eb);padding-bottom:8px}
.tp-course-group-title h2{margin:0;font-size:19px}.tp-course-group-title span{color:var(--tp-muted,#64748b);font-size:13px}
.tp-course-card-grid-clean{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.tp-course-card-clean{display:grid;gap:14px;padding:16px;border:1px solid var(--tp-border,#e1e7ef);border-radius:16px;background:#fff}
.tp-course-card-clean h3{margin:8px 0 4px;font-size:19px}.tp-course-subline{margin:0;color:var(--tp-muted,#64748b);font-size:13px}
.tp-course-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.tp-course-facts span{border:1px solid var(--tp-border,#e5e7eb);border-radius:10px;padding:9px;background:#f8fafc}.tp-course-facts small{display:block;color:var(--tp-muted,#64748b);margin-bottom:2px}.tp-course-facts strong{display:block}.tp-course-teacher{margin:10px 0 0;font-size:13px;color:#475569}
.tp-course-actions-primary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tp-course-actions-primary .tp-btn{justify-content:center}.tp-course-more{border-top:1px solid #edf1f5;padding-top:10px}.tp-course-more summary{cursor:pointer;font-weight:800;color:#475569}.tp-course-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.tp-course-more-grid .tp-btn,.tp-course-more-grid form,.tp-course-more-grid button{width:100%;justify-content:center}.tp-course-group-block:last-child .tp-course-card-clean{opacity:.78}
.tp-follow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}.tp-follow-metric strong{font-size:1.55rem}.tp-follow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.tp-follow-tabs a{border:1px solid var(--tp-border,#e5e7eb);border-radius:12px;padding:9px 12px;background:#fff;text-decoration:none;color:#344054}.tp-follow-tabs a.active{background:var(--tp-primary,#b80d12);color:#fff;border-color:var(--tp-primary,#b80d12)}.tp-ops-cell{min-width:220px}.tp-mini-status{display:grid;gap:5px}.tp-mini-status .tp-badge{width:max-content}.tp-sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--tp-border,#e5e7eb);padding:10px;z-index:4}.tp-check-col{width:34px}.tp-course-health{display:grid;gap:8px}.tp-course-health div{display:flex;justify-content:space-between;border-bottom:1px dashed var(--tp-border,#e5e7eb);padding-bottom:6px}.tp-seq{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.tp-seq div{background:#fff;border:1px solid var(--tp-border,#e5e7eb);border-radius:14px;padding:12px}.tp-seq b{display:block;color:var(--tp-primary,#b80d12)}.tp-follow-note{white-space:pre-wrap;max-width:340px}.tp-table .small-actions{display:flex;gap:6px;flex-wrap:wrap}.tp-table .small-actions .tp-btn{padding:6px 8px;font-size:.8rem}.tp-follow-search{border-top:1px solid var(--tp-border,#e2e8f0)}.tp-follow-search>p{margin-top:-4px;color:var(--tp-muted,#64748b)}.tp-follow-search-form{display:grid;grid-template-columns:minmax(190px,230px) minmax(260px,1fr) auto auto;gap:10px;align-items:center}.tp-follow-search-form select,.tp-follow-search-form input{min-height:44px;border:1px solid #cfd8e5;border-radius:11px;padding:9px 12px;background:#fff}.tp-follow-table-wrap{max-height:610px;overflow:auto;border:1px solid var(--tp-border,#e5e7eb);border-radius:14px}.tp-follow-table{min-width:1120px}.tp-follow-table th{white-space:nowrap}.tp-follow-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc}.tp-follow-table tbody tr{height:68px}.tp-participant-cell{min-width:185px}.tp-participant-cell strong,.tp-participant-cell small{display:block}.tp-course-cell{min-width:180px;max-width:230px}.tp-actions-cell{min-width:170px}.tp-row-quick-edit{margin-top:8px}.tp-row-quick-edit summary{cursor:pointer;font-weight:700;color:#344054}.tp-row-edit-form{display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid var(--tp-border,#e5e7eb);border-radius:12px;background:#f8fafc}.tp-row-edit-form label{display:grid;gap:4px;font-size:.78rem}.tp-row-edit-form select,.tp-row-edit-form input{width:100%;min-height:36px}.tp-follow-matrix-card{overflow:hidden}
.tp-finance-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.tp-finance-flow a{display:flex;gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--tp-border,#dfe5ed);border-radius:14px;background:#fff;text-decoration:none;color:#263348;font-weight:800}.tp-finance-flow a.active{border-color:var(--tp-primary,#b80d12);background:#fff7f7;color:#9f1118}.tp-finance-flow b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f3f5f8;color:var(--tp-primary,#b80d12)}.tp-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tp-finance-summary .tp-card{padding:16px}.tp-finance-summary strong{display:block;font-size:1.35rem}.tp-finance-next{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.tp-finance-next .tp-kpi-list p{margin:0}.tp-finance-toolbar{border-top:1px solid var(--tp-border,#dfe5ed)}.tp-finance-toolbar .tp-toolbar{margin:0}
.tp-course-key-summary{border:1px solid var(--tp-border,#e2e8f0);background:#fff;border-radius:18px}.tp-course-key-summary .tp-section-title{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 .8rem}.tp-course-key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.tp-course-key-grid>div{border:1px solid var(--tp-border,#e5e7eb);border-radius:14px;padding:.9rem;background:#fff}.tp-course-key-grid span{display:block;font-size:.78rem;color:var(--tp-muted,#64748b);margin-bottom:.3rem}.tp-course-key-grid strong{display:block;color:#172033;word-break:break-word}.tp-course-key-grid .tp-key-red{border-color:var(--tp-border,#e5e7eb);background:#f8fafc}.tp-course-key-grid .tp-key-red strong{color:#172033;font-size:1.2rem}.tp-course-links-compact{margin-top:.9rem;display:flex;gap:.7rem;align-items:end}.tp-course-links-compact label{flex:1}.tp-course-links-compact input{width:100%}.tp-wa-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.tp-wa-actions .tp-card{margin:0}.tp-course-accordion{padding:0!important;overflow:hidden;border:1px solid var(--tp-border,#e5e7eb);border-radius:16px;background:#fff;margin-top:.9rem}.tp-course-accordion>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;font-weight:800;color:#172033;background:#fafafa}.tp-course-accordion>summary::-webkit-details-marker{display:none}.tp-course-accordion>summary:after{content:'+';font-size:1.35rem;color:var(--tp-primary,#b80d12)}.tp-course-accordion[open]>summary:after{content:'−'}.tp-course-accordion .tp-accordion-body{padding:1rem 1.1rem;border-top:1px solid var(--tp-border,#e5e7eb)}.tp-cert-state{display:block;font-size:.78rem;margin:.15rem 0}.tp-cert-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}
.tp-teacher-profile{border:1px solid var(--tp-border,#e2e8f0)}.tp-teacher-hero-name{font-size:2rem;margin:.2rem 0;color:#172033}.tp-copy-box{white-space:pre-wrap;background:#fff;border:1px solid var(--tp-border,#e5e7eb);border-radius:12px;padding:.8rem}
.tp-central-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:.8rem}.tp-oper-row form{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.tp-oper-row select,.tp-oper-row input{min-width:130px}.tp-critical{border:1px solid var(--tp-border,#e2e8f0)}.tp-soft{background:#f8fafc}.tp-table small{color:#64748b}
@media print{.no-print{display:none!important}.tp-public-wrap{max-width:none}.tp-card{break-inside:avoid}}
@media(max-width:980px){.tp-finance-flow,.tp-finance-summary,.tp-finance-next{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tp-course-toolbar-clean,.tp-follow-search-form{grid-template-columns:1fr}.tp-course-card-grid-clean,.tp-course-more-grid,.tp-wa-actions{grid-template-columns:1fr}.tp-course-links-compact{display:block}.tp-course-links-compact .tp-btn{margin-top:.5rem;width:100%}}
@media(max-width:640px){.tp-finance-flow,.tp-finance-summary,.tp-finance-next{grid-template-columns:1fr}}

/* =========================================================
   TOCAPU 2026-07-03 · Cabecera operativa amplia v2
   Se carga al final para unificar módulos y submódulos.
   ========================================================= */
.tp-app-body .tp-content > .tp-page-head,
.tp-app-body .tp-shell .tp-content .tp-page-head{
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-left:1px solid #dfe6ef!important;
  border-radius:24px!important;
  box-shadow:0 16px 38px rgba(15,23,42,.075)!important;
  padding:30px 32px!important;
  margin:0 0 26px!important;
  min-height:128px!important;
  align-items:center!important;
}
.tp-app-body .tp-content > .tp-page-head.compact,
.tp-app-body .tp-shell .tp-content .tp-page-head.compact{
  margin-bottom:26px!important;
  min-height:126px!important;
}
.tp-app-body .tp-page-head > div:first-child{
  min-width:0!important;
  display:grid!important;
  gap:8px!important;
}
.tp-app-body .tp-page-head h1{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  margin:0!important;
  color:var(--tp-text,#172033)!important;
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
.tp-app-body .tp-page-head h1::before{
  content:""!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  border-radius:999px!important;
  background:var(--tp-primary,var(--tp-red,#b80d12))!important;
  box-shadow:0 0 0 5px rgba(184,13,18,.10)!important;
}
.tp-app-body .tp-page-head p{
  margin:0!important;
  color:#526175!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:520!important;
  max-width:980px!important;
}
.tp-app-body .tp-page-head .actions,
.tp-app-body .tp-page-head .actions.wrap{
  align-self:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
.tp-app-body .tp-page-head .tp-btn{
  min-height:52px!important;
  padding:13px 22px!important;
  border-radius:14px!important;
  font-size:15px!important;
}
.tp-app-body .tp-module-header-soft{
  padding:30px 32px!important;
  min-height:132px!important;
  border-radius:24px!important;
  margin-bottom:26px!important;
  display:grid!important;
  align-content:center!important;
  gap:9px!important;
}
.tp-app-body .tp-module-header-soft h1,
.tp-app-body .tp-module-header-soft h2,
.tp-app-body .tp-module-header-soft strong{
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
.tp-app-body .tp-module-header-soft p,
.tp-app-body .tp-module-header-soft small{
  font-size:16px!important;
  line-height:1.55!important;
  color:#526175!important;
}
@media(max-width:920px){
  .tp-app-body .tp-content > .tp-page-head,
  .tp-app-body .tp-shell .tp-content .tp-page-head,
  .tp-app-body .tp-module-header-soft{
    padding:24px!important;
    min-height:0!important;
    align-items:flex-start!important;
  }
  .tp-app-body .tp-page-head h1,
  .tp-app-body .tp-module-header-soft h1,
  .tp-app-body .tp-module-header-soft h2,
  .tp-app-body .tp-module-header-soft strong{font-size:29px!important;}
  .tp-app-body .tp-page-head p,
  .tp-app-body .tp-module-header-soft p,
  .tp-app-body .tp-module-header-soft small{font-size:15px!important;}
}
@media(max-width:680px){
  .tp-app-body .tp-content > .tp-page-head,
  .tp-app-body .tp-shell .tp-content .tp-page-head,
  .tp-app-body .tp-module-header-soft{
    padding:20px!important;
    border-radius:20px!important;
  }
  .tp-app-body .tp-page-head h1,
  .tp-app-body .tp-module-header-soft h1,
  .tp-app-body .tp-module-header-soft h2,
  .tp-app-body .tp-module-header-soft strong{font-size:25px!important;}
  .tp-app-body .tp-page-head h1::before{width:11px!important;height:11px!important;min-width:11px!important;}
}
   TOCAPU HOTFIX 2026-07-03 - Cabecera operativa FORZADA v2
   Objetivo: que la cabecera de módulos deje de verse comprimida.
   Aplica a .tp-module-header-soft, .tp-page-head y variantes de módulos.
   ====================================================================== */
:root{
  --tp-head-radius-v2:26px;
  --tp-head-pad-y-v2:34px;
  --tp-head-pad-x-v2:36px;
  --tp-head-min-v2:146px;
}
body .tp-wrap > .tp-module-header-soft,
body .tp-wrap .tp-module-header-soft,
body main .tp-module-header-soft,
body .tp-main .tp-module-header-soft,
body .tp-content .tp-module-header-soft,
body .tp-public-wrap .tp-module-header-soft,
body .tp-page-head,
body main > .tp-page-head,
body .tp-main > .tp-page-head,
body .tp-content > .tp-page-head{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:var(--tp-head-min-v2)!important;
  padding:var(--tp-head-pad-y-v2) var(--tp-head-pad-x-v2)!important;
  margin:0 0 28px 0!important;
  border-radius:var(--tp-head-radius-v2)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%)!important;
  border:1px solid #dbe3ec!important;
  border-left:0!important;
  box-shadow:0 18px 40px rgba(15,23,42,.085)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  overflow:visible!important;
}
body .tp-wrap .tp-module-header-soft > div:first-child,
body .tp-page-head > div:first-child{
  display:grid!important;
  gap:10px!important;
  min-width:0!important;
}
body .tp-wrap .tp-module-header-soft h1,
body .tp-wrap .tp-module-header-soft h2,
body .tp-wrap .tp-module-header-soft strong,
body .tp-page-head h1,
body .tp-page-head h2{
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  font-size:36px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
  color:#172033!important;
}
body .tp-wrap .tp-module-header-soft h1:before,
body .tp-wrap .tp-module-header-soft h2:before,
body .tp-page-head h1:before,
body .tp-page-head h2:before{
  content:""!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:999px!important;
  background:var(--tp-module-color,var(--tp-primary,#b80d12))!important;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--tp-module-color,var(--tp-primary,#b80d12)) 14%, transparent)!important;
}
body .tp-wrap .tp-module-header-soft p,
body .tp-wrap .tp-module-header-soft small,
body .tp-page-head p,
body .tp-page-head small{
  margin:0!important;
  padding:0!important;
  max-width:1050px!important;
  font-size:17px!important;
  line-height:1.6!important;
  font-weight:560!important;
  color:#526175!important;
}
body .tp-wrap .tp-module-header-soft .actions,
body .tp-page-head .actions,
body .tp-page-head .actions.wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  margin-left:auto!important;
}
body .tp-wrap .tp-module-header-soft .tp-btn,
body .tp-page-head .tp-btn,
body .tp-page-head a.tp-btn,
body .tp-page-head button.tp-btn{
  min-height:56px!important;
  padding:15px 24px!important;
  border-radius:15px!important;
  font-size:16px!important;
  font-weight:900!important;
}
/* Color por módulo sin achicar la cabecera */
body .tp-wrap:has(.tp-teacher-list-card) .tp-module-header-soft,
body .tp-wrap:has(.tp-teacher-shell) .tp-module-header-soft{--tp-module-color:#4f46e5!important;background:linear-gradient(135deg,#ffffff 0%,#eef2ff 100%)!important;border-color:#c7d2fe!important;}
body .tp-wrap:has(.tp-courses-table) .tp-module-header-soft{--tp-module-color:#16a34a!important;background:linear-gradient(135deg,#ffffff 0%,#f0fdf4 100%)!important;border-color:#bbf7d0!important;}
body .tp-wrap:has(.tp-students-table) .tp-module-header-soft,
body .tp-wrap:has(.tp-student-list-card) .tp-module-header-soft{--tp-module-color:#2563eb!important;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%)!important;border-color:#bfdbfe!important;}
body .tp-wrap:has(.tp-finance-card-table) .tp-module-header-soft,
body .tp-wrap:has(.tp-finance-hub) .tp-module-header-soft{--tp-module-color:#f97316!important;background:linear-gradient(135deg,#ffffff 0%,#fff7ed 100%)!important;border-color:#fed7aa!important;}
body .tp-wrap:has(.tp-cert-table) .tp-module-header-soft,
body .tp-wrap:has(.tp-verifier-cert-list) .tp-module-header-soft{--tp-module-color:#7c3aed!important;background:linear-gradient(135deg,#ffffff 0%,#f5f3ff 100%)!important;border-color:#ddd6fe!important;}
@media(max-width:920px){
  body .tp-wrap .tp-module-header-soft,
  body .tp-page-head,
  body main > .tp-page-head,
  body .tp-main > .tp-page-head,
  body .tp-content > .tp-page-head{
    min-height:0!important;
    padding:26px!important;
    display:grid!important;
    align-items:start!important;
    gap:18px!important;
  }
  body .tp-wrap .tp-module-header-soft h1,
  body .tp-wrap .tp-module-header-soft h2,
  body .tp-page-head h1,
  body .tp-page-head h2{font-size:30px!important;}
  body .tp-wrap .tp-module-header-soft p,
  body .tp-page-head p{font-size:15.5px!important;}
}
@media(max-width:680px){
  body .tp-wrap .tp-module-header-soft,
  body .tp-page-head{padding:22px!important;border-radius:22px!important;}
  body .tp-wrap .tp-module-header-soft h1,
  body .tp-wrap .tp-module-header-soft h2,
  body .tp-page-head h1,
  body .tp-page-head h2{font-size:26px!important;}
}

/* =========================================================
   TOCAPU 2026-07-03 · Cabecera operativa V3
   Diagnóstico: el CSS sí existía, pero app_version() usa config/app.php.
   Por eso el navegador podía seguir cargando CSS anterior. Esta versión
   actualiza config/app.php y refuerza las reglas exactas del layout real:
   body.tp-app-body > .tp-shell > main.tp-content > section.tp-page-head.
   ========================================================= */
html body.tp-app-body > section.tp-shell > main.tp-content > section.tp-page-head,
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head,
html body.tp-app-body .tp-shell .tp-content > .tp-page-head,
html body.tp-app-body .tp-content > .tp-page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:28px!important;
  row-gap:12px!important;
  min-height:142px!important;
  padding:34px 38px!important;
  margin:0 0 28px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-radius:26px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
html body.tp-app-body > section.tp-shell > main.tp-content > section.tp-page-head.compact,
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head.compact{
  min-height:142px!important;
  padding:34px 38px!important;
  margin-bottom:28px!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head > div:first-child,
html body.tp-app-body .tp-content > .tp-page-head > div:first-child{
  min-width:0!important;
  display:grid!important;
  align-content:center!important;
  gap:10px!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head h1,
html body.tp-app-body .tp-content > .tp-page-head h1{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
  color:#172033!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head h1::before,
html body.tp-app-body .tp-content > .tp-page-head h1::before{
  content:""!important;
  display:inline-block!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  margin:0!important;
  border-radius:999px!important;
  background:var(--tp-module-accent,var(--tp-primary,#b80d12))!important;
  box-shadow:0 0 0 6px rgba(184,13,18,.10)!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head p,
html body.tp-app-body .tp-content > .tp-page-head p{
  margin:0!important;
  max-width:1040px!important;
  font-size:16.5px!important;
  line-height:1.6!important;
  font-weight:520!important;
  color:#526175!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head .actions,
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head .actions.wrap,
html body.tp-app-body .tp-content > .tp-page-head .actions,
html body.tp-app-body .tp-content > .tp-page-head .actions.wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}
html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head .tp-btn,
html body.tp-app-body .tp-content > .tp-page-head .tp-btn{
  min-height:56px!important;
  padding:15px 25px!important;
  border-radius:15px!important;
  font-size:16px!important;
  font-weight:900!important;
}
@media(max-width:920px){
  html body.tp-app-body > section.tp-shell > main.tp-content > section.tp-page-head,
  html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head,
  html body.tp-app-body .tp-content > .tp-page-head{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:28px!important;
    align-items:start!important;
  }
  html body.tp-app-body main#tpMainContent.tp-content > section.tp-page-head .actions,
  html body.tp-app-body .tp-content > .tp-page-head .actions{justify-content:flex-start!important;}
}

/* =========================================================
   TOCAPU 2026-07-03 · Cabeceras operativas V4 completo
   Incluye cabeceras especiales como Centro de Producción Inteligente,
   donde el título y la descripción no están dentro de section.tp-page-head.
   ========================================================= */
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-hero) > h1:first-of-type,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-command) > h1:first-of-type,
html body.tp-app-body .tp-content:has(.tp-cpi-tabs) > h1:first-of-type,
html body.tp-app-body .tp-content:has(.tp-ci-production-hub) > h1:first-of-type,
html body.tp-app-body .tp-content:has(.tp-cpi-hero) > h1:first-of-type,
html body.tp-app-body .tp-content:has(.tp-cpi-command) > h1:first-of-type{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  padding:34px 38px 12px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-bottom:0!important;
  border-radius:26px 26px 0 0!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
  color:#172033!important;
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type::before,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type::before,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-hero) > h1:first-of-type::before,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-command) > h1:first-of-type::before,
html body.tp-app-body .tp-content:has(.tp-cpi-tabs) > h1:first-of-type::before,
html body.tp-app-body .tp-content:has(.tp-ci-production-hub) > h1:first-of-type::before,
html body.tp-app-body .tp-content:has(.tp-cpi-hero) > h1:first-of-type::before,
html body.tp-app-body .tp-content:has(.tp-cpi-command) > h1:first-of-type::before{
  content:""!important;
  display:inline-block!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  border-radius:999px!important;
  background:var(--tp-module-accent,#4f46e5)!important;
  box-shadow:0 0 0 6px rgba(79,70,229,.10)!important;
}
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-hero) > h1:first-of-type + p,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-command) > h1:first-of-type + p,
html body.tp-app-body .tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p,
html body.tp-app-body .tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p,
html body.tp-app-body .tp-content:has(.tp-cpi-hero) > h1:first-of-type + p,
html body.tp-app-body .tp-content:has(.tp-cpi-command) > h1:first-of-type + p{
  margin:0 0 28px!important;
  padding:0 38px 34px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  color:#526175!important;
  font-size:16.5px!important;
  line-height:1.6!important;
  font-weight:520!important;
  max-width:none!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p + .tp-tabs,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p + nav,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p + .tp-menu,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p + .tp-tabs,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p + nav,
html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p + .tp-menu{
  margin-top:0!important;
}
@media(max-width:920px){
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-hero) > h1:first-of-type,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-command) > h1:first-of-type{
    padding:28px 28px 10px!important;
    font-size:28px!important;
  }
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-tabs) > h1:first-of-type + p,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-ci-production-hub) > h1:first-of-type + p,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-hero) > h1:first-of-type + p,
  html body.tp-app-body main#tpMainContent.tp-content:has(.tp-cpi-command) > h1:first-of-type + p{
    padding:0 28px 28px!important;
    font-size:15.5px!important;
  }
}

/* =========================================================
   TOCAPU 2026-07-03 · Cabecera CPI V5 específica
   Diagnóstico: Centro de Producción Inteligente usa
   <header class="tp-cpi-title-clean"> y no h1 directo ni section.tp-page-head.
   Por eso las reglas anteriores no alcanzaban esa pantalla.
   ========================================================= */
html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean,
html body.tp-app-body .tp-content > header.tp-cpi-title-clean,
html body.tp-app-body header.tp-cpi-title-clean{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 24px!important;
  padding:34px 38px 32px!important;
  min-height:150px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-radius:24px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean h1,
html body.tp-app-body .tp-content > header.tp-cpi-title-clean h1,
html body.tp-app-body header.tp-cpi-title-clean h1{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 16px!important;
  padding:0!important;
  color:#172033!important;
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean h1::before,
html body.tp-app-body .tp-content > header.tp-cpi-title-clean h1::before,
html body.tp-app-body header.tp-cpi-title-clean h1::before{
  content:""!important;
  display:inline-block!important;
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  border-radius:999px!important;
  background:var(--tp-module-accent,#4f46e5)!important;
  box-shadow:0 0 0 6px rgba(79,70,229,.10)!important;
}
html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean p,
html body.tp-app-body .tp-content > header.tp-cpi-title-clean p,
html body.tp-app-body header.tp-cpi-title-clean p{
  margin:0!important;
  padding:0!important;
  max-width:980px!important;
  color:#526175!important;
  font-size:16.5px!important;
  line-height:1.6!important;
  font-weight:520!important;
}
html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean + nav.tp-cpi-tabs,
html body.tp-app-body .tp-content > header.tp-cpi-title-clean + nav.tp-cpi-tabs,
html body.tp-app-body header.tp-cpi-title-clean + nav.tp-cpi-tabs{
  margin-top:0!important;
  margin-bottom:26px!important;
}
@media(max-width:920px){
  html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean,
  html body.tp-app-body .tp-content > header.tp-cpi-title-clean,
  html body.tp-app-body header.tp-cpi-title-clean{
    padding:28px!important;
    min-height:0!important;
  }
  html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean h1,
  html body.tp-app-body .tp-content > header.tp-cpi-title-clean h1,
  html body.tp-app-body header.tp-cpi-title-clean h1{
    font-size:28px!important;
  }
  html body.tp-app-body main#tpMainContent.tp-content > header.tp-cpi-title-clean p,
  html body.tp-app-body .tp-content > header.tp-cpi-title-clean p,
  html body.tp-app-body header.tp-cpi-title-clean p{
    font-size:15.5px!important;
  }
}


/* TOCAPU 2026.07.03 - Menú lateral: marca solo con logotipo, sin textos ni tarjeta */
.tp-sidebar .tp-brand.tp-brand-logo-only,
aside.tp-sidebar .tp-brand.tp-brand-logo-only,
.tp-standalone-sidebar .tp-brand.tp-brand-logo-only{
  min-height:104px!important;
  height:auto!important;
  padding:18px 18px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.tp-sidebar .tp-brand.tp-brand-logo-only > div,
aside.tp-sidebar .tp-brand.tp-brand-logo-only > div,
.tp-standalone-sidebar .tp-brand.tp-brand-logo-only > div{
  display:none!important;
}
.tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
aside.tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
.tp-standalone-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
.tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark,
aside.tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark,
.tp-standalone-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark{
  width:168px!important;
  max-width:100%!important;
  height:72px!important;
  min-width:0!important;
  max-height:78px!important;
  display:block!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 auto!important;
  box-shadow:none!important;
  color:transparent!important;
}
.tp-sidebar .tp-brand.tp-brand-logo-only .tp-sidebar-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
}
.tp-sidebar-collapsed .tp-sidebar .tp-brand.tp-brand-logo-only,
.tp-sidebar-collapsed aside.tp-sidebar .tp-brand.tp-brand-logo-only{
  min-height:82px!important;
  padding:14px 8px!important;
}
.tp-sidebar-collapsed .tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
.tp-sidebar-collapsed aside.tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
.tp-sidebar-collapsed .tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark,
.tp-sidebar-collapsed aside.tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark{
  width:54px!important;
  height:54px!important;
}
@media(max-width:920px){
  .tp-sidebar .tp-brand.tp-brand-logo-only,
  aside.tp-sidebar .tp-brand.tp-brand-logo-only,
  .tp-standalone-sidebar .tp-brand.tp-brand-logo-only{
    min-height:92px!important;
    padding:16px 52px 16px 16px!important;
    justify-content:flex-start!important;
  }
  .tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
  aside.tp-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
  .tp-standalone-sidebar .tp-brand.tp-brand-logo-only .tp-brand-mark,
  .tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark,
  aside.tp-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark,
  .tp-standalone-sidebar .tp-brand.tp-brand-logo-only img.tp-brand-mark{
    width:148px!important;
    height:64px!important;
    margin:0!important;
  }
}


/* HOTFIX 20260703 - Unificación de pantallas internas standalone */
body.tp-internal-standalone{
  padding-left:280px!important;
  padding-top:74px!important;
  background:#f4f6fa!important;
  color:#0f223a!important;
}
body.tp-internal-standalone .tp-standalone-sidebar{
  display:flex!important;
  flex-direction:column!important;
  width:280px!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  z-index:120!important;
  background:linear-gradient(180deg,#8f131b 0%,#6f1017 100%)!important;
  border-right:0!important;
  box-shadow:14px 0 34px rgba(15,23,42,.16)!important;
  overflow:auto!important;
  padding:18px 14px!important;
}
body.tp-internal-standalone .tp-standalone-topbar{
  position:fixed!important;
  top:0!important;
  left:280px!important;
  right:0!important;
  height:74px!important;
  z-index:115!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:10px 18px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #dfe6ef!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(10px)!important;
}
body.tp-internal-standalone .tp-public-wrap,
body.tp-internal-standalone .tp-public-wrap.wide{
  max-width:none!important;
  width:auto!important;
  margin:0!important;
  padding:24px 32px 52px!important;
}
body.tp-internal-standalone .tp-brand-logo-only{
  min-height:86px!important;
  padding:10px 8px 20px!important;
  justify-content:center!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.tp-internal-standalone .tp-brand-logo-only .tp-brand-mark,
body.tp-internal-standalone .tp-brand-logo-only img{
  width:138px!important;
  max-width:88%!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}
body.tp-internal-standalone .tp-brand-logo-only>div,
body.tp-internal-standalone .tp-brand-logo-only strong,
body.tp-internal-standalone .tp-brand-logo-only span:not(.tp-sidebar-close span){
  display:none!important;
}
body.tp-internal-standalone .tp-sidebar-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
}
body.tp-internal-standalone .tp-menu{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:6px 0!important;
}
body.tp-internal-standalone .tp-menu-flow-label{
  color:rgba(255,255,255,.65)!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  padding:0 10px 6px!important;
}
body.tp-internal-standalone .tp-menu a{
  min-height:46px!important;
  border-radius:14px!important;
  color:rgba(255,255,255,.88)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.tp-internal-standalone .tp-menu a svg{
  width:19px!important;
  height:19px!important;
  flex:0 0 auto!important;
}
body.tp-internal-standalone .tp-menu a:hover,
body.tp-internal-standalone .tp-menu a.active{
  background:#fff!important;
  color:#8b1118!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 12px 24px rgba(15,23,42,.16)!important;
}
body.tp-internal-standalone .tp-sidebar-version{
  margin-top:auto!important;
  padding:12px 10px!important;
  color:rgba(255,255,255,.75)!important;
  font-size:11px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
body.tp-internal-standalone .tp-standalone-topbar .tp-top-search{
  flex:1 1 auto!important;
  max-width:720px!important;
  margin-left:auto!important;
}
body.tp-internal-standalone .tp-standalone-back{
  min-width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  font-size:22px!important;
  font-weight:900!important;
}
body.tp-internal-standalone .tp-menu-toggle{
  display:none!important;
}
body.tp-internal-standalone .tp-v2647-hero,
body.tp-internal-standalone .tp-public-hero,
body.tp-internal-standalone .tp-page-head{
  margin-top:0!important;
}
body.tp-internal-standalone.tp-sidebar-collapsed{
  padding-left:0!important;
}
body.tp-internal-standalone.tp-sidebar-collapsed .tp-standalone-sidebar{
  transform:translateX(-100%)!important;
}
body.tp-internal-standalone.tp-sidebar-collapsed .tp-standalone-topbar{
  left:0!important;
}
body.tp-internal-standalone.tp-sidebar-collapsed .tp-public-wrap,
body.tp-internal-standalone.tp-sidebar-collapsed .tp-public-wrap.wide{
  padding-left:32px!important;
}
@media(max-width:1100px){
  body.tp-internal-standalone{padding-left:0!important;padding-top:72px!important;}
  body.tp-internal-standalone .tp-standalone-sidebar{transform:translateX(-100%)!important;}
  body.tp-internal-standalone.tp-sidebar-open .tp-standalone-sidebar{transform:translateX(0)!important;}
  body.tp-internal-standalone .tp-standalone-topbar{left:0!important;}
  body.tp-internal-standalone .tp-menu-toggle{display:inline-flex!important;}
  body.tp-internal-standalone .tp-public-wrap,
  body.tp-internal-standalone .tp-public-wrap.wide{padding:18px!important;}
  body.tp-internal-standalone .tp-userbox{display:none!important;}
}
@media(max-width:720px){
  body.tp-internal-standalone .tp-standalone-topbar{gap:8px!important;padding:8px 10px!important;}
  body.tp-internal-standalone .tp-standalone-pill,
  body.tp-internal-standalone .tp-view-controls{display:none!important;}
  body.tp-internal-standalone .tp-standalone-topbar .tp-top-search{max-width:none!important;}
}
@media print{
  body.tp-internal-standalone{padding:0!important;background:#fff!important;}
  body.tp-internal-standalone .tp-standalone-sidebar,
  body.tp-internal-standalone .tp-standalone-topbar,
  body.tp-internal-standalone .tp-sidebar-overlay{display:none!important;}
}


/* TOCAPU 2026-08-12: instalador rápido de parches bajo el logo lateral - versión compacta */
.tp-sidebar-patchbox{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 10px 8px;
  padding:6px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.045);
}
.tp-sidebar-patch-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.tp-sidebar-patch-select,
.tp-sidebar-patch-install{
  width:100%;
  min-height:25px;
  padding:4px 6px;
  border-radius:7px;
  font-size:10.5px;
  font-weight:750;
  line-height:1;
  text-align:center;
  cursor:pointer;
}
.tp-sidebar-patch-select{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.055);
}
.tp-sidebar-patch-install{
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  background:#991014;
}
.tp-sidebar-patch-select:hover,
.tp-sidebar-patch-install:hover{
  filter:brightness(1.05);
}
.tp-sidebar-patchbox:focus-within{
  outline:1px solid rgba(255,255,255,.24);
  outline-offset:1px;
}
body.tp-sidebar-collapsed .tp-sidebar-patchbox{
  display:none;
}
@media (max-width: 900px){
  .tp-sidebar-patchbox{margin:0 8px 8px;padding:5px;}
  .tp-sidebar-patch-select,
  .tp-sidebar-patch-install{min-height:24px;font-size:10px;}
}


/* TOCAPU 2026-08-12: QR institucional vs QR propio de curso */
.tp-course-qr-scope-card {
    gap: .75rem;
}
.tp-course-qr-scope-note {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: rgba(248, 250, 252, .9);
    padding: .8rem .9rem;
}
.tp-course-qr-scope-note p {
    margin: .25rem 0 .6rem;
    color: #536681;
    font-size: .88rem;
    line-height: 1.45;
}
.tp-course-qr-scope-card .tp-help {
    line-height: 1.45;
}

/* TOCAPU hotfix 20260812: evaluación visible dentro del punto 5 */
.tp-course-eval-enable-card{
    margin-bottom:1rem;
}
.tp-course-eval-enable-card .tp-consent{
    margin-bottom:0 !important;
}
.tp-course-qr-scope-card{
    gap: .85rem;
}
.tp-course-qr-scope-note{
    border:1px solid #dbe4f0;
    border-radius:14px;
    padding:.85rem 1rem;
    background:#f8fafc;
}
.tp-course-qr-scope-note p{
    margin:.25rem 0 .65rem;
    color:#52657c;
}


/* ==========================================================================
   TOCAPU · NORMALIZACIÓN VISUAL GLOBAL FASES 1-4 · 2026-08-12
   Alcance: layout interno, módulos administrativos y vistas profundas.
   No modifica lógica, documentos imprimibles ni pantallas públicas.
   ========================================================================== */

:root{
  --tp-surface:#ffffff;
  --tp-surface-soft:#f8fafc;
  --tp-surface-muted:#f1f5f9;
  --tp-ink:#152033;
  --tp-ink-soft:#475569;
  --tp-muted:#667085;
  --tp-border:#d7dee9;
  --tp-border-soft:#e6eaf1;
  --tp-red:#b80d12;
  --tp-red-dark:#7f0710;
  --tp-red-soft:#fff1f2;
  --tp-green:#12805c;
  --tp-green-soft:#ecfdf3;
  --tp-blue:#2457a6;
  --tp-blue-soft:#eff6ff;
  --tp-orange:#b45309;
  --tp-orange-soft:#fff7ed;
  --tp-radius-sm:10px;
  --tp-radius:14px;
  --tp-radius-lg:18px;
  --tp-shadow-sm:0 6px 18px rgba(15,23,42,.045);
  --tp-shadow:0 12px 30px rgba(15,23,42,.065);
  --tp-focus:0 0 0 3px rgba(184,13,18,.16);
}

html{scroll-behavior:smooth}
body.tp-app-body{
  background:
    radial-gradient(circle at top left, rgba(184,13,18,.045), transparent 34rem),
    linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  color:var(--tp-ink);
  letter-spacing:.005em;
}

.tp-content{
  padding:22px;
}

.tp-page-head,
.tp-public-hero,
.tp-analytics-head,
.tp-card.tp-page-head{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:var(--tp-shadow-sm)!important;
  padding:18px 20px!important;
}

.tp-page-head h1,
.tp-page-head h2,
.tp-public-hero h1,
.tp-card h1,
.tp-card h2,
.tp-card h3{
  color:var(--tp-ink);
  letter-spacing:-.018em;
}

.tp-page-head p,
.tp-public-hero p,
.tp-card p,
.tp-help,
.tp-muted{
  color:var(--tp-muted);
}

.tp-card,
.tp-course-card,
.tp-student-card,
.tp-teacher-card,
.tp-report-card,
.tp-finance-card,
.tp-material-card,
.tp-session-line,
.tp-teacher-line,
.tp-package-step,
.tp-course-subcard,
.tp-course-key-summary,
.tp-course-accordion,
.tp-bulk-panel,
.form-card{
  background:var(--tp-surface)!important;
  border:1px solid var(--tp-border)!important;
  border-top:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius-lg)!important;
  box-shadow:var(--tp-shadow-sm)!important;
}

.tp-card::before,
.tp-card::after,
.tp-course-card::before,
.tp-course-card::after,
.tp-course-accordion::before,
.tp-course-accordion::after{
  display:none!important;
  content:none!important;
}

.tp-grid,
.tp-dashboard-grid,
.tp-course-grid,
.tp-metrics-grid,
.tp-ops-grid,
.metrics{
  gap:16px!important;
}

.tp-card > h2:first-child,
.tp-card > h3:first-child{
  margin-top:0;
}

.tp-btn,
button.tp-btn,
a.tp-btn,
.tp-action,
.tp-view-control,
.tp-power{
  border-radius:999px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  border:1px solid var(--tp-border)!important;
  background:#fff!important;
  color:var(--tp-ink)!important;
  box-shadow:0 2px 8px rgba(15,23,42,.045)!important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}

.tp-btn:hover,
button.tp-btn:hover,
a.tp-btn:hover,
.tp-view-control:hover{
  transform:translateY(-1px);
  border-color:#c7d0df!important;
  box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
}

.tp-btn-red,
.tp-btn.danger,
button.danger{
  border-color:rgba(184,13,18,.38)!important;
  color:var(--tp-red-dark)!important;
  background:var(--tp-red-soft)!important;
}

.tp-btn-green,
.tp-btn.success{
  border-color:rgba(18,128,92,.35)!important;
  color:var(--tp-green)!important;
  background:var(--tp-green-soft)!important;
}

.tp-btn-blue,
.tp-btn.info{
  border-color:rgba(36,87,166,.3)!important;
  color:var(--tp-blue)!important;
  background:var(--tp-blue-soft)!important;
}

.actions,
.card-actions,
.row-actions,
.small-actions,
.tp-actions-cell,
.tp-row-action-primary,
.tp-mini-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px!important;
}

.tp-table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius)!important;
  overflow:hidden;
  background:#fff;
}

.tp-table th{
  background:#f8fafc!important;
  color:#334155!important;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  border-bottom:1px solid var(--tp-border)!important;
}

.tp-table td{
  border-bottom:1px solid var(--tp-border-soft)!important;
  vertical-align:top;
}

.tp-table tr:last-child td{
  border-bottom:0!important;
}

.tp-table tbody tr:hover{
  background:#fafcff;
}

.tp-table small{
  color:var(--tp-muted)!important;
}

input,
select,
textarea,
.tp-field input,
.tp-field select,
.tp-field textarea{
  border:1px solid #cfd8e5!important;
  border-radius:var(--tp-radius-sm)!important;
  background:#fff!important;
  color:var(--tp-ink)!important;
  box-shadow:none!important;
}

input:focus,
select:focus,
textarea:focus{
  outline:0!important;
  border-color:rgba(184,13,18,.55)!important;
  box-shadow:var(--tp-focus)!important;
}

label,
.tp-field{
  color:#334155;
  font-weight:700;
}

.tp-form-grid,
.tp-toolbar{
  gap:12px!important;
}

.tp-toolbar{
  background:#fff;
  border:1px solid var(--tp-border);
  border-radius:var(--tp-radius);
  padding:12px;
  box-shadow:var(--tp-shadow-sm);
}

.tp-badge,
.badge,
.status-badge{
  border-radius:999px!important;
  padding:5px 10px!important;
  font-weight:800!important;
  border:1px solid var(--tp-border)!important;
  background:#f8fafc!important;
  color:#475569!important;
}

.tp-badge.green,
.tp-badge.success,
.badge.green{
  background:var(--tp-green-soft)!important;
  color:var(--tp-green)!important;
  border-color:rgba(18,128,92,.28)!important;
}

.tp-badge.red,
.tp-badge.danger,
.badge.red{
  background:var(--tp-red-soft)!important;
  color:var(--tp-red-dark)!important;
  border-color:rgba(184,13,18,.28)!important;
}

.tp-badge.orange,
.tp-badge.warning,
.badge.orange{
  background:var(--tp-orange-soft)!important;
  color:var(--tp-orange)!important;
  border-color:rgba(180,83,9,.28)!important;
}

.tp-alert{
  border-radius:var(--tp-radius)!important;
  border:1px solid var(--tp-border)!important;
  box-shadow:var(--tp-shadow-sm)!important;
}

details.tp-card,
.tp-course-accordion{
  overflow:hidden;
}

details.tp-card > summary,
.tp-course-accordion > summary{
  cursor:pointer;
  font-weight:900;
  color:var(--tp-ink);
  background:#fff;
  border-bottom:1px solid var(--tp-border-soft)!important;
}

details.tp-card[open] > summary,
.tp-course-accordion[open] > summary{
  background:#f8fafc;
}

.tp-topbar{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid var(--tp-border)!important;
  backdrop-filter:blur(12px);
}

.tp-top-search input{
  border-radius:999px!important;
}

.tp-sidebar{
  box-shadow:8px 0 24px rgba(15,23,42,.12);
}

.tp-menu a{
  border-radius:12px!important;
  margin:2px 10px;
}

.tp-menu a.active{
  background:rgba(255,255,255,.14)!important;
}

.tp-sidebar-patchbox{
  border-color:rgba(255,255,255,.18)!important;
}

/* Módulos principales */
.tp-module-cursos .tp-card,
.tp-module-docentes .tp-card,
.tp-module-alumnos .tp-card,
.tp-module-seguimiento .tp-card,
.tp-module-finanzas .tp-card,
.tp-module-certificados .tp-card,
.tp-module-admin .tp-card,
.tp-module-reportes .tp-card,
.tp-module-import_export .tp-card,
.tp-module-buscar .tp-card,
.tp-module-alertas .tp-card{
  border-top:1px solid var(--tp-border)!important;
}

/* Fichas profundas normalizadas */
.tp-course-inside-main,
.tp-seguimiento-curso-interno,
.tp-docente-curso-interno,
.tp-cronograma-curso-interno,
.tp-materiales-curso-interno,
.tp-finanzas-curso-interno,
.tp-paquete-curso-interno,
.tp-reporte-curso-interno,
.tp-alumno-historial-interno,
.tp-bandeja-operativa-interna,
.tp-buscar-interno,
.tp-importar-interno,
.tp-alertas-interno{
  max-width:1220px!important;
}

.tp-course-inside-main .tp-public-hero,
.tp-seguimiento-curso-interno .tp-public-hero,
.tp-docente-curso-interno .tp-public-hero,
.tp-cronograma-curso-interno .tp-public-hero,
.tp-materiales-curso-interno .tp-public-hero,
.tp-finanzas-curso-interno .tp-public-hero,
.tp-paquete-curso-interno .tp-public-hero,
.tp-reporte-curso-interno .tp-public-hero,
.tp-alumno-historial-interno .tp-public-hero,
.tp-bandeja-operativa-interna .tp-public-hero,
.tp-buscar-interno .tp-public-hero,
.tp-importar-interno .tp-public-hero,
.tp-alertas-interno .tp-public-hero{
  border-left:4px solid var(--tp-red)!important;
}

.tp-course-key-summary,
.tp-bulk-panel,
.tp-teacher-main,
.tp-session-line,
.tp-material-card,
.tp-package-step{
  border-left:4px solid var(--tp-red)!important;
}

.tp-metric,
.metric,
.tp-ops-grid .tp-card{
  text-align:left;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}

.tp-metric strong,
.metric strong,
.tp-ops-grid .tp-card strong{
  color:var(--tp-ink);
  font-size:22px;
  letter-spacing:-.025em;
}

.tp-sticky-actions{
  border:1px solid var(--tp-border)!important;
  border-radius:var(--tp-radius)!important;
  box-shadow:0 -8px 24px rgba(15,23,42,.07)!important;
}

.tp-login-logo,
.tp-public-hero .tp-login-logo{
  max-height:62px;
}

/* Limpieza final de restos visuales heredados */
[style*="border-left:5px solid #b91c1c"],
[style*="border-left:4px solid #b91c1c"]{
  border-left-color:var(--tp-red)!important;
}

.tp-card[style*="background:#b91c1c"],
.tp-card[style*="background: #b91c1c"]{
  background:#fff!important;
  color:var(--tp-ink)!important;
}

hr{
  border:0;
  border-top:1px solid var(--tp-border-soft);
  margin:16px 0;
}

@media(max-width:980px){
  .tp-content{padding:16px}
  .tp-page-head,
  .tp-public-hero,
  .tp-analytics-head{
    align-items:flex-start!important;
  }
  .tp-table{
    font-size:13px;
  }
  .tp-btn{
    min-height:34px;
  }
}

@media print{
  body.tp-app-body{
    background:#fff!important;
  }
  .tp-sidebar,
  .tp-topbar,
  .tp-sidebar-overlay,
  .tp-sticky-actions,
  .no-print{
    display:none!important;
  }
  .tp-shell,
  .tp-content{
    margin:0!important;
    padding:0!important;
  }
  .tp-card,
  .tp-table{
    box-shadow:none!important;
  }
}

