/* ============================================================
   Páginas sencillas del alumno y del visitante: errores (403,
   404, 500), resultado del pago, lección sin acceso, suscripción,
   páginas legales y asesoría por WhatsApp.
   Mismo lenguaje que las páginas de curso: cabecera azul noche,
   esquinas rectas, botones sin borde y acento carmesí.
   Todo va bajo .pg (se carga en base_studio.html).
   ============================================================ */
.pg{--ok:var(--mcw-ok,#0B7A5C);--ok-bg:var(--mcw-ok-bg,#E4F6EF);--warn:var(--mcw-warn,#8A6212);--warn-bg:var(--mcw-warn-bg,#FBF3E3);--bad:var(--mcw-bad,#B42318);--bad-bg:var(--mcw-bad-bg,#FDECEA);--info:var(--mcw-navy2,#0A3169);--info-bg:var(--mcw-info-bg,#EAF1FC);
  color:var(--mcw-ink);font-family:'Plus Jakarta Sans',sans-serif;background:#fff}
.pg *{box-sizing:border-box}
.pg h1,.pg h2,.pg h3,.pg p{margin:0}
.pg .bi{line-height:1}
.pg [hidden]{display:none!important}
.pg-wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.pg-wrap--sm{max-width:760px}

/* Cabecera */
.pg .pg-hero{background:linear-gradient(135deg,var(--mcw-navy,#0B1220) 0%,var(--mcw-ink,#14213D) 100%);color:#fff;padding:42px 0 38px;position:relative}
.pg .pg-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--mcw-crimson)}
.pg .pg-hero--ok::after{background:var(--ok)}
.pg .pg-hero--warn::after{background:#D39A1E}
.pg .pg-eyebrow{display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pg .pg-hero h1{font-family:'Sora',sans-serif;font-size:30px;font-weight:800;line-height:1.18;margin-top:8px;color:#fff}
.pg .pg-hero p{font-size:14.5px;color:rgba(255,255,255,.82);margin-top:10px;line-height:1.6;max-width:640px}
.pg .pg-hero__row{display:flex;gap:22px;align-items:center}
.pg .pg-ic{width:64px;height:64px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;background:rgba(255,255,255,.1)}
.pg .pg-ic--ok{background:var(--ok)}
.pg .pg-ic--bad{background:var(--mcw-crimson)}
.pg .pg-ic--warn{background:#D39A1E}
.pg .pg-code{font-family:'Sora',sans-serif;font-size:13px;font-weight:800;letter-spacing:.1em;color:rgba(255,255,255,.55)}

.pg .pg-body{padding:28px 0 72px}

/* Tarjetas */
.pg .pg-card{background:#fff;border:1px solid var(--mcw-line);border-radius:2px;padding:22px 24px}
.pg .pg-card--top{border-top:3px solid var(--mcw-crimson)}
.pg .pg-card--ok{border-top:3px solid var(--ok)}
.pg .pg-card h2{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;color:var(--mcw-ink)}
.pg .pg-card > p,.pg .pg-lead{font-size:14px;color:var(--mcw-muted);line-height:1.6;margin-top:8px}
.pg .pg-lead b,.pg .pg-card > p b{color:var(--mcw-ink)}
.pg .pg-k{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mcw-crimson);margin-bottom:6px}
.pg .pg-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pg .pg-stack{display:grid;gap:16px}

/* Botones */
.pg .pg-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.pg .pg-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:2px;padding:11px 16px;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap;line-height:1.2;text-decoration:none}
.pg .pg-btn-crimson{background:var(--mcw-crimson);color:#fff}
.pg .pg-btn-crimson:hover{background:var(--mcw-crimson-dark);color:#fff}
.pg .pg-btn-soft{background:var(--mcw-bg-alt);color:var(--mcw-ink)}
.pg .pg-btn-soft:hover{background:#e9ecf2;color:var(--mcw-ink)}
.pg .pg-btn-light{background:#fff;color:var(--mcw-ink)}
.pg .pg-btn-light:hover{background:#f0f2f6;color:var(--mcw-ink)}
.pg .pg-btn-block{width:100%}
.pg .pg-btn:focus-visible,.pg input:focus-visible,.pg textarea:focus-visible{outline:3px solid rgba(158,27,50,.25);outline-offset:2px}

/* Listas con marca */
.pg .pg-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:0}
.pg .pg-list li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--mcw-line);font-size:13.5px;color:var(--mcw-ink)}
.pg .pg-list li:last-child{border-bottom:0}
.pg .pg-list .bi{font-size:16px;margin-top:1px;flex-shrink:0}
.pg .pg-list .si{color:var(--ok)}
.pg .pg-list .no{color:#A9B2C3}
.pg .pg-list li.off{color:var(--mcw-muted)}

/* Formularios */
.pg .pg-fld{display:grid;gap:6px;margin-top:14px}
.pg .pg-fld label{font-size:12px;font-weight:800;color:var(--mcw-ink)}
.pg .pg-fld input,.pg .pg-fld textarea,.pg .pg-fld select{width:100%;border:1px solid var(--mcw-line);border-radius:2px;padding:11px 12px;font:inherit;font-size:14px;color:var(--mcw-ink);background:#fff}
.pg .pg-fld input:focus,.pg .pg-fld textarea:focus{border-color:var(--mcw-crimson);outline:none}
.pg .pg-err{font-size:12px;color:var(--bad);font-weight:600}
.pg .pg-note{font-size:12px;color:var(--mcw-muted);line-height:1.5;margin-top:12px}

/* Aviso en línea */
.pg .pg-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-left:3px solid var(--info);background:var(--info-bg);color:var(--info);font-size:13px;border-radius:2px}
.pg .pg-alert--warn{border-left-color:#D39A1E;background:var(--warn-bg);color:var(--warn)}

/* Texto largo (legales) */
.pg .pg-prose{max-width:760px}
.pg .pg-prose h2{font-family:'Sora',sans-serif;font-size:17px;font-weight:800;margin:28px 0 8px;color:var(--mcw-ink)}
.pg .pg-prose p,.pg .pg-prose li{font-size:14.5px;line-height:1.75;color:#2B3650}
.pg .pg-prose p{margin:0 0 12px}
.pg .pg-prose ul{padding-left:20px;margin:0 0 12px}
.pg .pg-prose a{color:var(--mcw-crimson);font-weight:700}
.pg .pg-toc{position:sticky;top:calc(var(--hdr,64px) + 26px);border-left:2px solid var(--mcw-line);padding-left:14px;display:grid;gap:8px}
.pg .pg-toc a{font-size:12.5px;color:var(--mcw-muted);text-decoration:none;font-weight:600}
.pg .pg-toc a:hover{color:var(--mcw-crimson)}
.pg .pg-legal{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}

@media (max-width:900px){
  .pg .pg-grid2,.pg .pg-legal{grid-template-columns:minmax(0,1fr)}
  .pg .pg-toc{display:none}
}
@media (max-width:640px){
  .pg-wrap{padding:0 16px}
  .pg .pg-hero{padding:30px 0 28px}
  .pg .pg-hero__row{flex-direction:column;align-items:flex-start;gap:14px}
  .pg .pg-ic{width:54px;height:54px;font-size:26px}
  .pg .pg-hero h1{font-size:24px}
  .pg .pg-body{padding:18px 0 56px}
  .pg .pg-card{padding:18px 16px}
  .pg .pg-acts .pg-btn{flex:1 1 100%}
}

/* ---------- Panel del administrador ---------- */
.pg .pg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--mcw-line);border-left:1px solid var(--mcw-line);margin-bottom:18px}
.pg .pg-stats>div{padding:16px 18px;border-right:1px solid var(--mcw-line);border-bottom:1px solid var(--mcw-line);background:#fff}
.pg .pg-stats small{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mcw-muted)}
.pg .pg-stats b{display:block;font-family:'Sora',sans-serif;font-size:24px;font-weight:800;color:var(--mcw-ink);margin-top:4px}
.pg .pg-stats span{display:block;font-size:12px;color:var(--mcw-muted);margin-top:2px}
.pg .pg-card__h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.pg .pg-table{width:100%;border-collapse:collapse;font-size:13px}
.pg .pg-table th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mcw-muted);padding:8px 10px;border-bottom:1px solid var(--mcw-line);background:var(--mcw-bg-alt)}
.pg .pg-table td{padding:10px;border-bottom:1px solid var(--mcw-line);color:var(--mcw-ink);vertical-align:middle}
.pg .pg-table tr:last-child td{border-bottom:0}
.pg .pg-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pg .pg-table .muted{color:var(--mcw-muted);font-size:12px;white-space:nowrap}
.pg .pg-scroll{overflow-x:auto}
.pg .pg-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap}
.pg .pg-chip.ok{background:var(--ok-bg);color:var(--ok)}
.pg .pg-chip.warn{background:var(--warn-bg);color:var(--warn)}
.pg .pg-chip.bad{background:var(--bad-bg);color:var(--bad)}
.pg .pg-chip.muted{background:var(--mcw-bg-alt);color:var(--mcw-muted)}
.pg .pg-bars{display:grid;gap:12px}
.pg .pg-bars__row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:4px 12px;align-items:center}
.pg .pg-bars__row span{font-size:13px;color:var(--mcw-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg .pg-bars__row b{grid-row:span 2;text-align:right;font-family:'Sora',sans-serif;font-size:15px}
.pg .pg-bars__row i{display:block;height:8px;background:var(--mcw-crimson);min-width:4px}
.pg .pg-check{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:13.5px;font-weight:600;cursor:pointer}
.pg .pg-check input{width:18px;height:18px;accent-color:var(--mcw-crimson)}
.pg .pg-aviso{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--mcw-navy);color:#fff;padding:10px 14px;font-size:13px}
.pg .pg-aviso em{font-style:normal;background:var(--mcw-crimson);font-size:12px;font-weight:800;letter-spacing:.05em;padding:3px 7px}
.pg .pg-aviso span{flex:1;min-width:0}
.pg .pg-aviso a{color:#fff;font-weight:700;border-bottom:2px solid var(--mcw-crimson);text-decoration:none}
@media (max-width:900px){.pg .pg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Seguridad: pestañas, papelera, actividad, estado ---------- */
.pg .pg-tabs{background:#fff;border-bottom:1px solid var(--mcw-line)}
.pg .pg-tabs__in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.pg .pg-tabs__in::-webkit-scrollbar{display:none}
.pg .pg-tabs a{flex-shrink:0;padding:14px 14px 12px;font-family:'Sora',sans-serif;font-size:13px;font-weight:700;color:var(--mcw-muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.pg .pg-tabs a:hover{color:var(--mcw-ink)}
.pg .pg-tabs a.on{color:var(--mcw-ink);border-bottom-color:var(--mcw-crimson)}
.pg .pg-tabs a span{display:inline-block;min-width:20px;margin-left:6px;padding:1px 6px;background:var(--mcw-bg-alt);font-size:11px;text-align:center}
.pg .pg-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.pg .pg-filtros input[type=search],.pg .pg-filtros select{border:1px solid var(--mcw-line);border-radius:2px;padding:10px 12px;font:inherit;font-size:13.5px;background:#fff;color:var(--mcw-ink);min-width:0}
.pg .pg-filtros input[type=search]{flex:1 1 260px}
.pg .pg-filtros input:focus,.pg .pg-filtros select:focus{border-color:var(--mcw-crimson);outline:none}
.pg .pg-seg{display:inline-flex;background:var(--mcw-bg-alt);padding:3px;gap:3px}
.pg .pg-seg a{padding:7px 12px;font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--mcw-muted);text-decoration:none}
.pg .pg-seg a.on{background:#fff;color:var(--mcw-ink)}
.pg .pg-trash{border:1px solid var(--mcw-line);background:#fff}
.pg .pg-trash__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--mcw-line)}
.pg .pg-trash__row:last-child{border-bottom:0}
.pg .pg-trash__row.is-ok{background:#FAFBFC}
.pg .pg-trash__top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pg .pg-trash__t{font-family:'Sora',sans-serif;font-size:14.5px;font-weight:800;color:var(--mcw-ink);word-break:break-word}
.pg .pg-trash__m{font-size:12.5px;color:var(--mcw-muted);margin-top:5px;line-height:1.5}
.pg .pg-trash__m b{color:var(--mcw-ink);font-weight:700}
.pg .pg-trash__r{font-size:12.5px;color:#2B3650;margin-top:6px;display:flex;gap:6px;align-items:flex-start}
.pg .pg-trash__r .bi{color:var(--mcw-muted);margin-top:2px}
.pg .pg-trash__a{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pg .pg-trash__a form{margin:0}
.pg .pg-link-bad{background:none;border:none;padding:6px 4px;font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--bad);cursor:pointer}
.pg .pg-link-bad:hover{text-decoration:underline}
.pg .pg-vacio{border:1px dashed var(--mcw-line);padding:38px 20px;text-align:center}
.pg .pg-vacio .bi{font-size:30px;color:var(--mcw-muted)}
.pg .pg-vacio h3{font-family:'Sora',sans-serif;font-size:16px;font-weight:800;margin:10px 0 4px}
.pg .pg-vacio p{font-size:13.5px;color:var(--mcw-muted);max-width:460px;margin:0 auto}
.pg .pg-pag{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:18px;font-size:13px;color:var(--mcw-muted)}
.pg .pg-pag a{padding:8px 12px;background:var(--mcw-bg-alt);color:var(--mcw-ink);text-decoration:none;font-weight:700}
.pg .pg-log{border:1px solid var(--mcw-line);background:#fff}
.pg .pg-log__row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:12px 16px;border-bottom:1px solid var(--mcw-line);font-size:13px}
.pg .pg-log__row:last-child{border-bottom:0}
.pg .pg-log__f{color:var(--mcw-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.pg .pg-log__d{color:var(--mcw-ink);line-height:1.5;word-break:break-word}
.pg .pg-log__w{display:block;font-size:12px;color:var(--mcw-muted);margin-top:3px}
.pg .pg-checks{border:1px solid var(--mcw-line);background:#fff}
.pg .pg-check-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 18px;border-bottom:1px solid var(--mcw-line)}
.pg .pg-check-row:last-child{border-bottom:0}
.pg .pg-check-row>.bi{font-size:20px;margin-top:1px}
.pg .pg-check-row .si{color:var(--ok)}
.pg .pg-check-row .no{color:var(--bad)}
.pg .pg-check-row .nd{color:#A9B2C3}
.pg .pg-check-row b{display:block;font-size:14px;color:var(--mcw-ink)}
.pg .pg-check-row small{display:block;font-size:12.5px;color:var(--mcw-muted);margin-top:3px;line-height:1.5;word-break:break-word}
.pg .pg-score{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.pg .pg-score b{font-family:'Sora',sans-serif;font-size:28px;font-weight:800}
.pg .pg-score span{font-size:13px;color:var(--mcw-muted)}
@media (max-width:640px){
  .pg .pg-trash__row{grid-template-columns:minmax(0,1fr);padding:14px}
  .pg .pg-trash__a{justify-content:flex-start}
  .pg .pg-log__row{grid-template-columns:minmax(0,1fr);gap:4px}
  .pg .pg-filtros .pg-seg{width:100%}
  .pg .pg-filtros .pg-seg a{flex:1;text-align:center}
}

/* Celular: las tablas anchas (resumen de administración, estado del
   sistema) se desplazan de lado en vez de salirse de la pantalla. */
@media (max-width:700px){
  table.pg-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
