/* PaseSeguro.cl v2.6.0 · Identidad visual global "Calma Luminosa".
   Capa PRESENTACIONAL opcional, activada solo en las 24 pantallas marcadas
   ps-global-v260. Conserva el panel 2.5.3 y la portada 2.4.0 intactos.
   No reescribe estados de scanner, advertencias ni acciones peligrosas. */
body.ps-global-v260 {
  --ps260-navy:#173D4A;
  --ps260-teal:#08776D;
  --ps260-mint:#BCE8DF;
  --ps260-peach:#FFBE98;
  --ps260-ink:#173D4A;
  --ps260-muted:#506B77;
  --ps260-line:#D4E6E2;
  --ps260-soft:#F4F8F7;
  --ps260-accent:#19BCBC;
  --ps260-accent-soft:#E0F8F7;
  min-height:100vh;
  color:var(--ps260-ink);
  background-color:#f4f9f7;
  background-image:url('paseseguro_global_v260_fondo.svg');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  background-attachment:fixed;
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
body.ps-global-v260.ps260-students {--ps260-accent:#52B5FD;--ps260-accent-soft:#E3F2FF}
body.ps-global-v260.ps260-courses {--ps260-accent:#27D8C1;--ps260-accent-soft:#DDF8F2}
body.ps-global-v260.ps260-reports {--ps260-accent:#FFA56F;--ps260-accent-soft:#FFF0E6}
body.ps-global-v260.ps260-authorizations {--ps260-accent:#B25DF4;--ps260-accent-soft:#F2E4FF}
body.ps-global-v260.ps260-credentials {--ps260-accent:#19BCBC;--ps260-accent-soft:#E0F8F7}
body.ps-global-v260.ps260-staff {--ps260-accent:#FFCD45;--ps260-accent-soft:#FFF5D9}
body.ps-global-v260.ps260-admin {--ps260-accent:#08776D;--ps260-accent-soft:#E4F6F1}
body.ps-global-v260.ps260-login {--ps260-accent:#08776D;--ps260-accent-soft:#E4F6F1}

/* Cabecera consistente con el panel elegido, sin cambiar enlaces ni sesión. */
body.ps-global-v260 .cabecera{
  background:#173D4A;
  color:#fff;
  border-color:#173D4A;
  box-shadow:0 3px 14px rgba(23,61,74,.1);
}
body.ps-global-v260 .cabecera .cabecera-contenido{max-width:1160px}
body.ps-global-v260 .cabecera .marca{
  color:#fff;font-size:clamp(19px,2vw,23px);font-weight:800;
  letter-spacing:-.5px;text-decoration:none;
}
body.ps-global-v260 .cabecera .marca span{color:#BCE8DF}
body.ps-global-v260 .cabecera :is(.identidad-v16, .ps-module-subtitle-v17){color:#d6efea}

/* Estructura: el fondo ondulado siempre queda visible detrás de los módulos. */
body.ps-global-v260 :is(main.panel,main.ge-container,main.imp-contenedor,
  main.mat-contenedor,main.cred-contenedor,main.estudiantes-contenedor,
  main.psa-main,main.ps25-shell){
  position:relative;
  color:var(--ps260-ink);
}
body.ps-global-v260 :is(main.panel,main.ge-container,main.imp-contenedor,
  main.mat-contenedor,main.cred-contenedor,main.estudiantes-contenedor,
  main.psa-main) h1 {
  color:#173D4A;
  letter-spacing:-.45px;
  line-height:1.18;
}
body.ps-global-v260 :is(.descripcion,.panel-bienvenida-v16 p,
  .ps-module-hero-v17 p,.v22-titulo p,.ps-rep-hero p){color:var(--ps260-muted)}

/* Navegación y pestañas; estados activos conservan significado. */
body.ps-global-v260 :is(.ps201-quicknav,.ps-module-tabs-v17,.v22-tabs){
  border-color:var(--ps260-line);
  border-radius:12px;
}
body.ps-global-v260 .ps201-quicknav{box-shadow:0 5px 17px rgba(23,61,74,.035)}
body.ps-global-v260 :is(.ps201-quicknav a,.ps-module-tabs-v17 a,.v22-tabs a):focus-visible{
  outline:3px solid #08776D;outline-offset:3px;
}

/* Encabezados informativos: el color marca el módulo, sin colorear datos. */
body.ps-global-v260 :is(.ps-module-hero-v17,.ps-rep-hero,.v22-titulo,
  .panel-bienvenida-v16){
  position:relative;
}
body.ps-global-v260 :is(.ps-module-hero-v17,.ps-rep-hero){
  border-color:var(--ps260-line);
  background:linear-gradient(114deg, #fff 0%, #F3FAF8 100%);
  box-shadow:0 12px 27px rgba(23,61,74,.055);
  border-radius:17px;
}
body.ps-global-v260 .ps-module-hero-v17{border-left:5px solid var(--ps260-accent)}

/* Superficies de formularios, secciones y tablas, sin cambiar su contenido. */
body.ps-global-v260 :is(.tarjeta,.cred-panel,.psa-card,.hs-card,.mat-bloque,
  .imp-seccion,.ge-list,.v22-section,.ps-rep-card,.ps-hi-card,.ps25-panel){
  background-color:#fff;
  border-color:var(--ps260-line);
  border-radius:15px;
  box-shadow:0 10px 25px rgba(23,61,74,.065);
}
body.ps-global-v260 :is(.cred-panel,.psa-card,.hs-card,.mat-bloque,
  .imp-seccion,.ge-list,.v22-section,.ps-rep-card){
  border-top:3px solid var(--ps260-accent);
}
/* Tarjetas de navegación: misma idea de franjas coloridas de la opción B. */
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta){
  --ps260-tile:#52B5FD;
  position:relative;
  overflow:hidden;
  border:1px solid #D8E8E4;
  border-radius:15px;
  background:#fff;
  box-shadow:0 12px 25px rgba(30,88,91,.075);
}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta)::before{
  content:"";position:absolute;inset:0 auto 0 0;width:7px;
  border-radius:15px 0 0 15px;
  background:var(--ps260-tile);
  pointer-events:none;
}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta):nth-child(6n + 2){--ps260-tile:#27D8C1}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta):nth-child(6n + 3){--ps260-tile:#FFA56F}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta):nth-child(6n + 4){--ps260-tile:#B25DF4}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta):nth-child(6n + 5){--ps260-tile:#19BCBC}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta):nth-child(6n + 6){--ps260-tile:#FFCD45}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>a.tarjeta:is(:hover,:focus-visible){
  border-color:var(--ps260-tile);
  box-shadow:0 17px 34px rgba(23,61,74,.14);
  transform:translateY(-2px);
}
body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>a.tarjeta:focus-visible{
  outline:3px solid #08776D;outline-offset:3px;
}

/* Banner principal de acceso, cuando aparece en el módulo correspondiente. */
body.ps-global-v260 .acceso-destacado-v16{
  isolation:isolate;position:relative;overflow:hidden;
  border-radius:17px;
  background:linear-gradient(109deg,#173D4A 0%,#165F62 61%,#08776D 100%);
  box-shadow:0 16px 30px rgba(16,55,63,.13);
}
body.ps-global-v260 .acceso-destacado-v16::after{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(circle 130px at 103% 45%,rgba(188,232,223,.16) 0 99%,transparent 100%),
             radial-gradient(circle 150px at 80% 145%,rgba(188,232,223,.13) 0 99%,transparent 100%);
}
body.ps-global-v260 .acceso-destacado-v16 :is(h2,p){color:#fff!important}
body.ps-global-v260 .acceso-destacado-v16 a.boton-claro-v16{
  background:#FFBE98!important;color:#173D4A!important;
  border-color:#FFBE98!important;border-radius:10px;
  font-weight:800;
}
body.ps-global-v260 .acceso-destacado-v16 a.boton-claro-v16:hover{
  background:#FFD2B9!important;border-color:#FFD2B9!important;
}

/* Formularios: mejor relieve y contraste, sin cambiar tamaños lógicos ni estados. */
body.ps-global-v260:not(.ps260-scanner) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea){
  border-color:#B9D3CE;
  border-radius:9px;
  color:#173D4A;
  background-color:#fff;
  box-shadow:0 1px 2px rgba(23,61,74,.025);
}
body.ps-global-v260:not(.ps260-scanner) :is(input:not([type="hidden"]),select,textarea):focus-visible{
  outline:3px solid #08776D;outline-offset:2px;
}
body.ps-global-v260:not(.ps260-scanner) :is(input,select,textarea):disabled{
  opacity:.7;cursor:not-allowed;
}
body.ps-global-v260 label{color:#294B55}

/* Tablas: encabezados claros y filas legibles, coherentes con panel e informes. */
body.ps-global-v260:not(.ps260-scanner) :is(.ge-table,.mat-lista,.mat-tabla,.imp-tabla,
  .cred-tabla,.ps-hi-table,.ps-hi-tabla,.v22-table,.v22-tabla,.ps25-table){
  border-color:var(--ps260-line);
}
body.ps-global-v260:not(.ps260-scanner) :is(.ge-table,.mat-lista,.mat-tabla,.imp-tabla,
  .cred-tabla,.ps-hi-table,.ps-hi-tabla,.v22-table,.v22-tabla) thead th{
  background:#E9F4F1;
  color:#173D4A;
  border-color:var(--ps260-line);
}
body.ps-global-v260:not(.ps260-scanner) :is(.ge-table,.mat-lista,.mat-tabla,.imp-tabla,
  .cred-tabla,.ps-hi-table,.ps-hi-tabla,.v22-table,.v22-tabla) tbody tr:nth-child(even){
  background-color:#FAFDFC;
}

/* Pantalla de informes 2.5.2: preservar semántica cromática del estado. */
body.ps-global-v260.ps260-reports .ps25-shell{max-width:1180px}
body.ps-global-v260.ps260-reports .ps25-panel{
  background:#fff;border-color:var(--ps260-line);
  box-shadow:0 11px 28px rgba(23,61,74,.065);
}
body.ps-global-v260.ps260-reports .ps25-boton-volver{box-shadow:0 2px 8px rgba(23,61,74,.055)}
body.ps-global-v260.ps260-reports .ps25-tarjeta{box-shadow:0 5px 16px rgba(23,61,74,.055)}
body.ps-global-v260.ps260-reports .ps25-tarjeta:is(:hover,:focus-visible){
  box-shadow:0 12px 24px rgba(23,61,74,.13);
}

/* Scanner: solo marco y fondo; jamás tocar cámara, estados, foco o acciones. */
body.ps-global-v260.ps260-scanner{
  background-color:#F4F8F7;
  background-attachment:scroll;
}
body.ps-global-v260.ps260-scanner .ac13-card{
  border-radius:15px;
  box-shadow:0 8px 24px rgba(23,61,74,.06);
}

/* Login: elevar la tarjeta contra el fondo, manteniendo controles de seguridad. */
body.ps-global-v260.ps260-login .login-tarjeta{
  border:1px solid #D5E7E2;
  border-top:6px solid #08776D;
  background:#fff;
  box-shadow:0 16px 40px rgba(23,61,74,.12);
}
body.ps-global-v260.ps260-login .login-tarjeta h1{color:#173D4A}

/* Responsive y accesibilidad. */
@media(max-width:760px){
  body.ps-global-v260{background-attachment:scroll;background-size:auto 100vh}
  body.ps-global-v260 .cabecera{padding:14px 15px}
  body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>:is(a.tarjeta,div.tarjeta){border-radius:13px}
}
@media(prefers-reduced-motion:reduce){
  body.ps-global-v260 :is(.tarjetas,.tarjetas-panel-v16)>a.tarjeta:is(:hover,:focus-visible){transform:none}
}
@media print{
  body.ps-global-v260{background:#fff!important;color:#000}
  body.ps-global-v260 :is(.tarjeta,.cred-panel,.psa-card,.hs-card,.mat-bloque,
    .imp-seccion,.ge-list,.v22-section,.ps-rep-card,.ps25-panel){box-shadow:none!important}
}
