/* PaseSeguro.cl v1.9 — sistema visual compartido, sin modificar procesos ni permisos.
 * Instalado al final de <head> para homogeneizar los módulos anteriores.
 * Escáner: protegido; no cambia video, zonas QR ni controles de cámara.
 */
body.ps-design-v19 {
  --ps19-navy:#edf0f1; --ps19-ink:#18334a; --ps19-text:#30475d;
  --ps19-muted:#617589; --ps19-teal:#08776e; --ps19-teal-dark:#075f58;
  --ps19-bg:#f2f6f9; --ps19-line:#dce6ed; --ps19-focus:#2284bc;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ps19-ink); background:var(--ps19-bg);
}
body.ps-design-v19 *,body.ps-design-v19 *::before,body.ps-design-v19 *::after{box-sizing:border-box}
body.ps-design-v19 .cabecera{background:var(--ps19-navy);color:#f5fbff;box-shadow:0 2px 8px rgba(8,35,53,.08);padding:16px 25px}
body.ps-design-v19 .cabecera-contenido{max-width:1160px;min-width:0;margin:0 auto;gap:15px;display:flex;align-items:center;justify-content:space-between}
body.ps-design-v19 .marca{font-weight:800;letter-spacing:-.5px;white-space:nowrap;color:#fff;text-decoration:none}
body.ps-design-v19 .marca span{color:#74dccc}
body.ps-design-v19 a:focus-visible,body.ps-design-v19 button:focus-visible,body.ps-design-v19 summary:focus-visible{outline:3px solid var(--ps19-focus);outline-offset:3px}
body.ps-design-v19:not(.ps-scanner-v19) :is(main.panel,main.imp-contenedor,main.mat-contenedor,main.estudiantes-contenedor,main.cred-contenedor,main.psa-main,main.hs-contenedor){max-width:1160px;width:100%;margin:0 auto 65px;padding:25px 22px 42px;min-width:0}
body.ps-design-v19:not(.ps-scanner-v19) main.panel{margin-top:0}
body.ps-design-v19:not(.ps-scanner-v19) main :is(h1,h2,h3){color:var(--ps19-ink);line-height:1.25;letter-spacing:-.3px}
body.ps-design-v19:not(.ps-scanner-v19) main h1{font-size:clamp(23px,2.2vw,32px);margin:0 0 13px}
body.ps-design-v19:not(.ps-scanner-v19) main h2{font-size:clamp(17px,1.65vw,22px)}
body.ps-design-v19:not(.ps-scanner-v19) :is(.descripcion,.imp-texto,.mat-detalle){color:var(--ps19-muted);line-height:1.55}
/* Tarjetas de contenido y formularios, no se convierten en enlaces falsos. */
body.ps-design-v19:not(.ps-scanner-v19) :is(.tarjeta,.login-tarjeta,.imp-metrica,.mat-aviso,.hs-card,.cred-panel,.psa-card){background:#fff;border:1px solid var(--ps19-line);border-radius:15px;box-shadow:0 4px 18px rgba(15,42,63,.045)}
body.ps-design-v19:not(.ps-scanner-v19) .tarjeta{padding:22px}
body.ps-design-v19:not(.ps-scanner-v19) .login-tarjeta{max-width:470px;padding:32px}
body.ps-design-v19:not(.ps-scanner-v19) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){font:inherit;min-height:41px;max-width:100%;border:1px solid #c5d5df;border-radius:9px;background:#fff;color:#1d394f}
body.ps-design-v19:not(.ps-scanner-v19) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus-visible{outline:3px solid rgba(34,132,188,.23);outline-offset:0;border-color:var(--ps19-focus)}
body.ps-design-v19:not(.ps-scanner-v19) label{color:#2c445a;font-weight:700}
/* Botones principales y secundarios presentes en distintos módulos. */
body.ps-design-v19:not(.ps-scanner-v19) :is(.boton,.ge-link-button,.ge-edit,.cred-btn:not(.cred-btn--rojo):not(.cred-btn--gris),.psa-boton,button.ps19-action){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 15px;border-radius:9px;border:1px solid transparent;background:var(--ps19-teal);color:#fff;text-decoration:none;font-weight:750;cursor:pointer;transition:background-color .13s ease,box-shadow .13s ease}
body.ps-design-v19:not(.ps-scanner-v19) :is(.boton,.ge-link-button,.ge-edit,.cred-btn:not(.cred-btn--rojo):not(.cred-btn--gris),.psa-boton):hover{background:var(--ps19-teal-dark);color:#fff}
body.ps-design-v19:not(.ps-scanner-v19) :is(button,input[type=submit]):disabled{cursor:not-allowed;opacity:.55}
body.ps-design-v19:not(.ps-scanner-v19) :is(.boton-salir,.ps-header-logout-v17){background:#35495e;color:#fff;border-color:#35495e}
body.ps-design-v19:not(.ps-scanner-v19) :is(.boton-salir,.ps-header-logout-v17):hover{background:#52677b;color:#fff}
/* Enlaces en página con estados claros. */
body.ps-design-v19:not(.ps-scanner-v19) main a:not(.boton):not(.ge-edit):not(.ge-link-button):not(.ps-card-link-v17):not(.ps-module-tabs-v17 a){color:#086f65;text-underline-offset:3px}
/* Tablas y campos largos. Nunca recortar información del alumno. */
body.ps-design-v19:not(.ps-scanner-v19) :is(.imp-tabla-wrap,.mat-tabla,.ge-table-wrap,.cred-tabla,.estudiantes-tabla-contenedor){overflow-x:auto;max-width:100%}
body.ps-design-v19:not(.ps-scanner-v19) :is(.imp-tabla,.mat-lista,.ge-table){width:100%;border-collapse:collapse}
body.ps-design-v19:not(.ps-scanner-v19) :is(.imp-tabla,.mat-lista,.ge-table) :is(th,td){border-bottom:1px solid #e2eaf0;padding:11px 12px;vertical-align:middle}
body.ps-design-v19:not(.ps-scanner-v19) :is(.imp-tabla,.mat-lista,.ge-table) th{background:#ebf3f6;color:#29465b;font-size:13px;text-align:left}
body.ps-design-v19:not(.ps-scanner-v19) :is(.imp-tabla,.mat-lista,.ge-table) tbody tr:hover{background:#f5faf9}
body.ps-design-v19:not(.ps-scanner-v19) :is(.aviso-error,.imp-error){background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;border-radius:10px;padding:12px 15px}
/* Navegación compartida, añadida solo a páginas administrativas secundarias. */
.ps19-secnav{max-width:1160px;margin:12px auto 0;padding:0 22px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ps19-secnav a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 14px;color:#314f65;text-decoration:none;font-weight:700;font-size:13px;background:#fff;border:1px solid var(--ps19-line);border-radius:9px;transition:border-color .15s,background-color .15s}
.ps19-secnav a:hover{color:#075f58;background:#e7f4f0;border-color:#9dcac2}
.ps19-secnav a[aria-current="page"]{color:#075f58;background:#d9f0e9;border-color:#82c5b6}
/* Tarjeta destacada: el propio enlace cubre toda la tarjeta, por accesibilidad. */
body.ps-design-v19 .acceso-destacado-v16{position:relative}
body.ps-design-v19 .acceso-destacado-v16 a.boton-claro-v16::before{content:"";position:absolute;inset:0;border-radius:inherit}
body.ps-design-v19 .acceso-destacado-v16:focus-within{outline:3px solid var(--ps19-focus);outline-offset:3px}
body.ps-design-v19 .acceso-destacado-v16:hover{box-shadow:0 13px 30px rgba(8,49,70,.14)}
/* Tarjetas del panel: enlace completo ya incorporado desde v1.7. */
body.ps-design-v19 .ps-card-link-v17:hover{border-color:var(--ps19-teal);box-shadow:0 14px 24px rgba(7,46,61,.12)}
/* Cabeceras antiguas: hacer que el regreso sea obvio sin agregar rutas a operadores. */
body.ps-design-v19 .ps19-header-back{display:inline-flex;align-items:center;padding:9px 12px;min-height:38px;border:1px solid rgba(255,255,255,.28);border-radius:9px;color:#fff;font-size:13px;font-weight:700;text-decoration:none}
body.ps-design-v19 .ps19-header-back:hover{background:rgba(255,255,255,.12);color:#fff}
/* El lector conserva íntegramente sus tamaños, videos y controles de la v1.4.1/v1.5. */
@media(max-width:760px){
 body.ps-design-v19 .cabecera{padding:12px 14px}
 body.ps-design-v19 .cabecera-contenido{flex-wrap:wrap;gap:10px}
 body.ps-design-v19 .marca{font-size:20px}
 body.ps-design-v19:not(.ps-scanner-v19) :is(main.panel,main.imp-contenedor,main.mat-contenedor,main.estudiantes-contenedor,main.cred-contenedor,main.psa-main,main.hs-contenedor){padding:16px 13px 36px;margin-bottom:35px}
 body.ps-design-v19:not(.ps-scanner-v19) :is(.tarjeta,.login-tarjeta){padding:16px}
 .ps19-secnav{padding:0 13px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .ps19-secnav a{flex:0 0 auto;white-space:nowrap}
 body.ps-design-v19:not(.ps-scanner-v19) :is(.boton,.ge-link-button,.ge-edit){min-height:42px}
}
@media(prefers-reduced-motion:reduce){body.ps-design-v19 *,body.ps-design-v19 *::before{transition:none!important;animation:none!important}}

/* Subpáginas heredadas: encabezado claro sin reescribir su contenido. */
body.ps-design-v19:not(.ps-scanner-v19) :is(main.panel,main.imp-contenedor,main.mat-contenedor)>h1{background:#fff;border:1px solid var(--ps19-line);border-radius:14px;padding:21px 24px;margin:16px 0 12px;box-shadow:0 3px 14px rgba(15,42,63,.035)}
body.ps-design-v19:not(.ps-scanner-v19) main :is(.ge-search,.mat-grid,.imp-acciones){max-width:100%}
@media(max-width:760px){body.ps-design-v19:not(.ps-scanner-v19) :is(main.panel,main.imp-contenedor,main.mat-contenedor)>h1{padding:16px 17px;margin-top:13px}}
