/*
 * Grado Creativo UI · Sistema visual común v1.2
 *
 * Esta hoja se carga después de los estilos históricos de GradoFit y define
 * la jerarquía visual oficial de las intranets. Los futuros productos deben
 * conservar estructura, medidas y comportamiento, cambiando únicamente las
 * variables de identidad corporativa.
 */

:root{
  --gc-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --gc-canvas:#f1f2f6;
  --gc-surface:#fff;
  --gc-text:#242331;
  --gc-text-soft:#686575;
  --gc-line:#dedfeb;
  --gc-primary:#6256e8;
  --gc-primary-dark:#4e43c8;
  --gc-primary-soft:#f1efff;
  --gc-secondary:#35a3ff;
  --gc-danger:#b42318;
  --gc-success:#25845a;
  --gc-warning:#b42318;
  --gc-attention-soft:#fff3f5;
  --gc-attention-line:#e5b9c0;
  --gc-attention-text:#a5273e;
  --gc-container:1500px;
  --gc-gutter:22px;
  --gc-gap-xs:8px;
  --gc-gap-sm:12px;
  --gc-gap-md:16px;
  --gc-gap-lg:24px;
  --gc-gap-xl:32px;
  --gc-radius-sm:10px;
  --gc-radius-md:15px;
  --gc-radius-lg:18px;
  --gc-control-height:50px;
  --gc-button-height:46px;
  --gc-title-main-size:38px;
  --gc-title-main-mobile-size:26px;
  --gc-title-module-weight:800;
  --gc-title-module-size:24px;
  --gc-title-module-mobile-size:21px;
  --gc-welcome-name-size:24px;
  --gc-welcome-name-mobile-size:20px;
  --gc-kicker-mobile-size:12px;
  --gc-body-mobile-size:15px;
  --gc-secondary-title-mobile-size:17px;
  --gc-module-padding-mobile:20px;
  --gc-module-gap-mobile:16px;
  --gc-kicker-title-gap-mobile:5px;
  --gc-title-copy-gap-mobile:8px;
  --gc-shadow:0 10px 28px rgba(42,43,92,.07);
}

/* Agenda diaria compacta: cada franja se abre con el patrón + / − de Grado Creativo. */
.raa-today-roster-group>header{
  grid-template-columns:82px minmax(0,1fr) auto 34px!important;
}
.raa-today-roster-group.is-collapsed>header{
  border-bottom-color:transparent!important;
}
.raa-today-roster-group.is-collapsed>.raa-today-roster-students{
  display:none!important;
}
.raa-today-roster-toggle{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#615ee8!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.raa-today-roster-toggle::before{
  content:'−';
  font-size:25px;
  font-weight:400;
  line-height:1;
}
.raa-today-roster-toggle[aria-expanded='false']::before{
  content:'+';
}
.raa-today-roster-toggle:hover,
.raa-today-roster-toggle:focus-visible{
  background:#e7e4ff!important;
  color:#4e46bd!important;
  outline:2px solid transparent!important;
}
@media(max-width:782px){
  .raa-today-roster-group>header{
    grid-template-columns:56px minmax(0,1fr) auto 32px!important;
    gap:9px!important;
  }
  .raa-today-roster-group>header b{
    grid-column:auto!important;
    justify-self:end!important;
    white-space:nowrap!important;
  }
  .raa-today-roster-toggle{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
}

/* 0.41.21 — disponibilidad fina: filo oscuro e interior suave, sin barra lateral. */
body.raa-private-area-page #raa-app .raa-class-slot.is-available{border:1px solid #25845a!important;background:#edf8f2!important;box-shadow:none!important}
body.raa-private-area-page #raa-app .raa-class-slot.is-available small{color:#17643f!important;font-size:12px!important;font-weight:800!important}
body.raa-private-area-page #raa-app .raa-class-slot.is-full{border:1px solid #b42318!important;background:#fff2f1!important;box-shadow:none!important}
body.raa-private-area-page #raa-app .raa-class-slot.is-full small{color:#8f1d18!important;font-size:12px!important;font-weight:800!important}
body.raa-private-area-page #raa-app .raa-class-slot.is-selected{border-color:#615ee8!important;background:#615ee8!important;color:#fff!important;box-shadow:0 5px 14px rgba(97,94,232,.24)!important}
body.raa-private-area-page #raa-app .raa-class-slot.is-selected small{color:#fff!important}
.raa-attendance-page .raa-status.is-scheduled{border:1px solid #615ee8!important;background:#f0efff!important;color:#4e46bd!important}
.raa-attendance-page .raa-attendance-roster-row.is-cancelled{background:#fff4f3!important}
.raa-attendance-page .raa-attendance-student small{display:block;margin-top:3px;color:#8f1d18;font-size:11px;font-weight:700}
.raa-today-roster-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.raa-today-roster-heading h2{margin:0 0 5px}.raa-today-roster-heading strong{display:block;color:#615ee8;font-size:16px;text-transform:capitalize}.raa-today-roster-heading p{max-width:650px;margin:0;color:#646970;text-align:right}.raa-today-roster-groups{display:grid;gap:18px}.raa-today-roster-group{overflow:hidden;border:1px solid #dedfeb;border-radius:12px;background:#fff}.raa-today-roster-group>header{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 18px;background:#f1f0ff;border-bottom:1px solid #dedfeb}.raa-today-roster-group>header time{color:#4e46bd;font-size:25px;font-weight:800}.raa-today-roster-group>header h3{margin:0;color:#252233;font-size:18px}.raa-today-roster-group>header span{display:block;margin-top:3px;color:#646970}.raa-today-roster-group>header b{padding:6px 10px;border-radius:999px;background:#fff;color:#4e46bd;font-size:12px}.raa-today-roster-students{display:grid}.raa-today-roster-student{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:10px 18px;border-top:1px solid #efeff4}.raa-today-roster-student:first-child{border-top:0}.raa-today-roster-student>span:first-child{min-width:0}.raa-today-roster-student strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raa-today-roster-student small{display:block;margin-top:3px;color:#8f1d18;font-size:11px;font-weight:700}.raa-today-roster-student.is-cancelled{background:#fff4f3}
@media(max-width:782px){.raa-today-roster-heading{display:block}.raa-today-roster-heading p{margin-top:12px;text-align:left}.raa-today-roster-group>header{grid-template-columns:62px minmax(0,1fr);gap:11px;padding:13px}.raa-today-roster-group>header time{font-size:21px}.raa-today-roster-group>header h3{font-size:16px}.raa-today-roster-group>header b{grid-column:2;justify-self:start}.raa-today-roster-student{gap:10px;padding:10px 13px}.raa-today-roster-student strong{font-size:13px}.raa-today-roster-student .raa-status{flex:0 0 auto;font-size:11px}}

/*
 * Semántica de estados y acciones.
 * No depende de la identidad del producto: rojo exige atención o informa una
 * suspensión; verde recupera o confirma. El amarillo no es un estado operativo.
 */
body.raa-private-area-page .raa-status.is-pending,
body.raa-private-area-page .raa-status-pending,
body.raa-private-area-page .raa-pill.is-awaiting,
body.raa-private-area-page .raa-pill.is-reported,
body.raa-private-area-page .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled),
body.raa-private-area-page .raa-payment-notice,
body.raa-private-area-page .raa-anamnesis-access:not(.is-completed),
body.raa-private-area-page .raa-profile-anamnesis.is-pending,
body.raa-private-area-page .raa-profile-plan-notice,
.raa-admin .raa-status.is-pending,
.raa-admin .raa-status-pending,
.raa-admin .raa-pill.is-awaiting,
.raa-admin .raa-pill.is-reported,
.raa-admin .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled),
.raa-admin .raa-payment-notice,
.raa-admin .raa-anamnesis-access:not(.is-completed),
.raa-admin .raa-profile-anamnesis.is-pending,
.raa-admin .raa-profile-plan-notice{
  border-color:var(--gc-danger)!important;
  background:#fff1f0!important;
  color:#7a1f1a!important;
}
body.raa-private-area-page .raa-status.is-pending,
body.raa-private-area-page .raa-status-pending,
body.raa-private-area-page .raa-pill.is-awaiting,
body.raa-private-area-page .raa-pill.is-reported,
body.raa-private-area-page .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled),
.raa-admin .raa-status.is-pending,
.raa-admin .raa-status-pending,
.raa-admin .raa-pill.is-awaiting,
.raa-admin .raa-pill.is-reported,
.raa-admin .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled){
  background:var(--gc-danger)!important;
  color:#fff!important;
  font-weight:800!important;
}
body.raa-private-area-page .raa-status.is-pending *,
body.raa-private-area-page .raa-status-pending *,
body.raa-private-area-page .raa-pill.is-awaiting *,
body.raa-private-area-page .raa-pill.is-reported *,
body.raa-private-area-page .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled) *,
.raa-admin .raa-status.is-pending *,
.raa-admin .raa-status-pending *,
.raa-admin .raa-pill.is-awaiting *,
.raa-admin .raa-pill.is-reported *,
.raa-admin .raa-payment .raa-pill:not(.is-paid):not(.is-cancelled) *{
  color:#fff!important;
}
body.raa-private-area-page .raa-request-card-compact.is-pending,
.raa-admin .raa-request-card-compact.is-pending{
  border-color:var(--gc-danger)!important;
}
body.raa-private-area-page .raa-status.is-cancelled,
body.raa-private-area-page .raa-status.is-suspended{
  border-color:var(--gc-danger)!important;
  background:var(--gc-danger)!important;
  color:#fff!important;
}
body.raa-private-area-page .raa-reactivate-class-form .raa-reactivate-class-button{
  border-color:var(--gc-success)!important;
  background:var(--gc-success)!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(37,132,90,.18)!important;
}
body.raa-private-area-page .raa-reactivate-class-form .raa-reactivate-class-button:hover,
body.raa-private-area-page .raa-reactivate-class-form .raa-reactivate-class-button:focus{
  border-color:#1d6846!important;
  background:#1d6846!important;
  color:#fff!important;
}

/* Lienzo y tipografía: una sola familia dentro de toda la aplicación. */
body.raa-private-area-page,
body.raa-private-area-page #ajax-content-wrap,
body.raa-private-area-page .container-wrap,
body.raa-private-area-page .main-content{
  background:var(--gc-canvas)!important;
}

/*
 * Escritorio: libera la envoltura de Salient/WPBakery. El tema limita su
 * .container antes de que pueda actuar --gc-container; la aplicación privada
 * necesita una superficie completa y gobierna después su propio ancho.
 */
@media(min-width:783px){
  body.raa-private-area-page .container.main-content,
  body.raa-private-area-page .container.main-content>.row,
  body.raa-private-area-page .container.main-content .wpb_row,
  body.raa-private-area-page .container.main-content .row_col_wrap_12,
  body.raa-private-area-page .container.main-content .wpb_column,
  body.raa-private-area-page .container.main-content .vc_column-inner,
  body.raa-private-area-page .container.main-content .wpb_wrapper{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  body.raa-private-area-page .container.main-content,
  body.raa-private-area-page .container.main-content>.row,
  body.raa-private-area-page .container.main-content .wpb_row,
  body.raa-private-area-page .container.main-content .row_col_wrap_12{
    margin-right:0!important;
    margin-left:0!important;
  }
  body.raa-private-area-page .container.main-content{
    padding-right:0!important;
    padding-left:0!important;
  }
}

body.raa-private-area-page :is(.raa-beta-strip,.raa-manager-portal,.raa-shell,#raa-app),
body.raa-private-area-page :is(.raa-beta-strip,.raa-manager-portal,.raa-shell,#raa-app) :is(button,input,select,textarea){
  font-family:var(--gc-font-family)!important;
  font-style:normal!important;
  letter-spacing:normal;
}
body.raa-private-area-page :is(.raa-manager-portal,.raa-shell,#raa-app){
  color:var(--gc-text)!important;
  font-size:15px!important;
  line-height:1.5!important;
}
body.raa-private-area-page :is(.raa-manager-portal,.raa-shell,#raa-app) :is(p,li,label,input,select,textarea){
  font-size:14px!important;
  line-height:1.5!important;
}
body.raa-private-area-page :is(.raa-manager-portal,.raa-shell,#raa-app) :is(h1,h2,h3,h4){
  margin-top:0;
  color:var(--gc-text);
  font-family:var(--gc-font-family)!important;
  font-style:normal!important;
  letter-spacing:-.025em!important;
}

/* Programa beta: primer módulo y misma alineación que la intranet. */
body.raa-private-area-page .raa-beta-strip{
  width:min(var(--gc-container),calc(100vw - (var(--gc-gutter) * 2)))!important;
  margin:12px auto var(--gc-gap-md)!important;
}
body.raa-private-area-page .raa-beta-strip details{
  border-radius:var(--gc-radius-md)!important;
  box-shadow:var(--gc-shadow)!important;
}
body.raa-private-area-page .raa-beta-strip summary{
  min-height:52px!important;
  padding:10px 16px 10px 18px!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page .raa-beta-strip summary>span,
body.raa-private-area-page .raa-beta-strip summary>span strong{
  font-size:14px!important;
  line-height:1.4!important;
}

/* Contenedor único. No dibuja una caja: los módulos viven directamente sobre el lienzo. */
body.raa-private-area-page .raa-manager-portal,
body.raa-private-area-page .raa-teacher-portal,
body.raa-private-area-page .raa-shell{
  width:min(var(--gc-container),calc(100vw - (var(--gc-gutter) * 2)))!important;
  max-width:var(--gc-container)!important;
  margin:0 auto var(--gc-gap-xl)!important;
  padding:0!important;
  background:transparent!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Cabecera oficial de producto. */
body.raa-private-area-page .raa-manager-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:var(--gc-gap-lg)!important;
  min-height:148px!important;
  margin:0 0 var(--gc-gap-md)!important;
  padding:24px 28px!important;
  border:1px solid var(--gc-line)!important;
  border-radius:var(--gc-radius-lg)!important;
  background:linear-gradient(105deg,#edf8ff 0%,#f2f1ff 58%,#fff 100%)!important;
  box-shadow:var(--gc-shadow)!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page .raa-manager-header>div{
  display:grid!important;
  justify-items:start!important;
  gap:10px!important;
  min-width:0!important;
}
body.raa-private-area-page .raa-manager-header .raa-manager-brand-logo{
  display:block!important;
  width:190px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:62px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
body.raa-private-area-page .raa-manager-center-title{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body.raa-private-area-page .raa-manager-center-title>span{
  color:var(--gc-primary-dark)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
body.raa-private-area-page .raa-manager-header strong{
  color:#4e4b60!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.raa-private-area-page .raa-manager-header>a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:var(--gc-button-height)!important;
  padding:11px 18px!important;
  border:1px solid var(--gc-primary)!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,var(--gc-primary),#7947e9)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(82,69,202,.2)!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* Licencia, bienvenida y menú son módulos separados. */
body.raa-private-area-page :is(.raa-license-portal,.raa-current-manager-profile,.raa-manager-menu){
  width:100%!important;
  margin:0 0 var(--gc-gap-md)!important;
  border:1px solid var(--gc-line)!important;
  border-radius:var(--gc-radius-md)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  box-shadow:0 6px 18px rgba(42,43,92,.035)!important;
}
body.raa-private-area-page .raa-license-portal{
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  padding:11px 18px!important;
  font-size:14px!important;
  font-weight:700!important;
}
body.raa-private-area-page .raa-current-manager-profile{
  display:flex!important;
  align-items:center!important;
  gap:var(--gc-gap-md)!important;
  min-height:108px!important;
  padding:18px 22px!important;
  background:var(--gc-surface)!important;
}
body.raa-private-area-page .raa-current-manager-profile>img,
body.raa-private-area-page .raa-current-manager-profile>.raa-team-avatar{
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
}
body.raa-private-area-page .raa-current-manager-profile>div:last-child{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body.raa-private-area-page .raa-current-manager-profile span{
  color:var(--gc-text-soft)!important;
  font-size:14px!important;
}
body.raa-private-area-page .raa-current-manager-profile strong{
  color:var(--gc-text)!important;
  font-size:var(--gc-welcome-name-size)!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}

/* Clase semántica estable: no depende del elemento HTML ni del tema activo. */
.raa-profile-welcome-name{
  display:block!important;
  margin:0!important;
  color:var(--gc-text,#242331)!important;
  font-family:var(--gc-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif)!important;
  font-size:var(--gc-welcome-name-size,24px)!important;
  font-style:normal!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}
body.raa-private-area-page .raa-current-manager-profile small{
  color:var(--gc-primary)!important;
  font-size:14px!important;
  font-weight:800!important;
}

/*
 * Bienvenida común de perfiles operativos.
 * El nombre nunca hereda el H1 editorial de WordPress/Salient ni se convierte
 * en mayúsculas. Máster y personal comparten la misma escala visual.
 */
body.raa-private-area-page .raa-teacher-profile>div:last-child{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body.raa-private-area-page .raa-teacher-profile p{
  margin:0!important;
  color:var(--gc-text-soft)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
body.raa-private-area-page .raa-teacher-profile h1{
  margin:0!important;
  color:var(--gc-text)!important;
  font-size:var(--gc-welcome-name-size)!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}
body.raa-private-area-page .raa-teacher-profile span{
  color:var(--gc-text-soft)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

/* Escritorio: todos los apartados visibles. Nunca hay desplazamiento horizontal. */
body.raa-private-area-page .raa-manager-menu{
  background:var(--gc-surface)!important;
}
body.raa-private-area-page .raa-manager-nav{
  gap:var(--gc-gap-xs)!important;
  padding:12px!important;
  border:0!important;
  border-radius:inherit!important;
  background:var(--gc-surface)!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page .raa-manager-nav a{
  display:inline-flex!important;
  order:0!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 12px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  color:#373449!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.raa-private-area-page .raa-manager-nav a:hover,
body.raa-private-area-page .raa-manager-nav a:focus{
  background:var(--gc-primary-soft)!important;
  color:var(--gc-primary-dark)!important;
}
body.raa-private-area-page .raa-manager-nav a.is-active{
  order:0!important;
  background:linear-gradient(135deg,var(--gc-primary),#7947e9)!important;
  color:#fff!important;
}
@media(min-width:1544px){
  body.raa-private-area-page .raa-manager-menu-button,
  body.raa-private-area-page .raa-manager-menu-toggle{
    display:none!important;
  }
  body.raa-private-area-page .raa-manager-nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  body.raa-private-area-page .raa-manager-nav::-webkit-scrollbar{
    display:none!important;
  }
}

/*
 * Pantallas que no admiten los 1500 px completos: el menú pasa al componente
 * desplegable común. Nunca se parte en dos filas ni se ocultan apartados.
 */
@media(min-width:783px) and (max-width:1543px){
  body.raa-private-area-page .raa-manager-menu-toggle{
    position:absolute!important;
    display:block!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.raa-private-area-page .raa-manager-menu-button{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:52px!important;
    padding:10px 14px!important;
    box-sizing:border-box!important;
    color:var(--gc-primary)!important;
    font-size:14px!important;
    font-weight:800!important;
    cursor:pointer!important;
  }
  body.raa-private-area-page .raa-manager-menu-button>span{
    color:var(--gc-primary)!important;
  }
  body.raa-private-area-page .raa-manager-menu-button i,
  body.raa-private-area-page .raa-manager-menu-button i:before,
  body.raa-private-area-page .raa-manager-menu-button i:after{
    display:block!important;
    width:25px!important;
    height:3px!important;
    border-radius:3px!important;
    background:var(--gc-primary)!important;
  }
  body.raa-private-area-page .raa-manager-menu-button i{
    position:relative!important;
  }
  body.raa-private-area-page .raa-manager-menu-button i:before,
  body.raa-private-area-page .raa-manager-menu-button i:after{
    content:''!important;
    position:absolute!important;
    left:0!important;
  }
  body.raa-private-area-page .raa-manager-menu-button i:before{top:-8px!important}
  body.raa-private-area-page .raa-manager-menu-button i:after{top:8px!important}
  body.raa-private-area-page .raa-manager-nav{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    width:100%!important;
    padding:0 8px 9px!important;
    overflow:visible!important;
  }
  body.raa-private-area-page .raa-manager-menu-toggle:checked~.raa-manager-nav{
    display:grid!important;
  }
  body.raa-private-area-page .raa-manager-menu-toggle:checked+.raa-manager-menu-button i{
    background:transparent!important;
  }
  body.raa-private-area-page .raa-manager-menu-toggle:checked+.raa-manager-menu-button i:before{
    top:0!important;
    transform:rotate(45deg)!important;
  }
  body.raa-private-area-page .raa-manager-menu-toggle:checked+.raa-manager-menu-button i:after{
    top:0!important;
    transform:rotate(-45deg)!important;
  }
  body.raa-private-area-page .raa-manager-nav a{
    justify-content:flex-start!important;
    width:100%!important;
    min-height:42px!important;
    white-space:normal!important;
    text-align:left!important;
  }
}

/* Contenido: jerarquía única y módulos internos coherentes. */
body.raa-private-area-page .raa-manager-content,
body.raa-private-area-page .raa-teacher-portal .raa-manager-content{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.raa-private-area-page .raa-manager-content .wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page .raa-manager-content .wrap>h1,
body.raa-private-area-page .raa-manager-content .raa-admin-heading h1{
  margin:6px 0 8px!important;
  color:var(--gc-text)!important;
  font-size:var(--gc-title-main-size)!important;
  font-weight:800!important;
  line-height:1.05!important;
}
body.raa-private-area-page .raa-manager-content .raa-admin-heading{
  margin:0 0 var(--gc-gap-lg)!important;
}
body.raa-private-area-page .raa-manager-content .raa-admin-heading p,
body.raa-private-area-page .raa-manager-content .wrap>h1+p{
  margin:0!important;
  color:var(--gc-text-soft)!important;
  font-size:15px!important;
  line-height:1.5!important;
}
body.raa-private-area-page :is(.raa-admin-box,.raa-dashboard-section,.raa-panel,.raa-admin-grid>a,.raa-teacher-profile){
  border:1px solid var(--gc-line)!important;
  border-radius:var(--gc-radius-md)!important;
  background:var(--gc-surface)!important;
  box-shadow:0 8px 24px rgba(42,43,92,.045)!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page :is(.raa-admin-box,.raa-dashboard-section,.raa-panel){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-right:0!important;
  margin-left:0!important;
  padding:22px!important;
}
body.raa-private-area-page :is(.raa-admin-box,.raa-dashboard-section,.raa-panel,.raa-reward-preset) h2,
body.raa-private-area-page .raa-dashboard-section>h3{
  color:var(--gc-text)!important;
  font-family:var(--gc-font-family)!important;
  font-size:var(--gc-title-module-size)!important;
  font-weight:var(--gc-title-module-weight)!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
}
body.raa-private-area-page .raa-dashboard-section>h3{
  margin:0 0 5px!important;
}
body.raa-private-area-page .raa-admin-grid{
  gap:var(--gc-gap-md)!important;
}
body.raa-private-area-page .raa-admin-grid>a{
  min-height:136px!important;
  padding:20px 132px 20px 20px!important;
}
body.raa-private-area-page .raa-admin-grid>a.raa-card-no-gauge{
  padding-right:20px!important;
}
body.raa-private-area-page .raa-admin-grid strong{
  color:var(--gc-text)!important;
  font-size:31px!important;
  font-weight:800!important;
  line-height:1.05!important;
}
body.raa-private-area-page .raa-admin-grid .raa-dashboard-finance-card>strong{
  font-size:30px!important;
  white-space:nowrap!important;
}
body.raa-private-area-page .raa-admin-grid span{
  color:#454251!important;
  font-size:15px!important;
  line-height:1.35!important;
}
body.raa-private-area-page .raa-admin-grid small{
  color:var(--gc-primary-dark)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* Controles y botones. */
body.raa-private-area-page .raa-manager-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select){
  min-height:var(--gc-control-height)!important;
  padding:11px 14px!important;
  border:1px solid #cfd2dc!important;
  border-radius:var(--gc-radius-sm)!important;
  background:#fff!important;
  color:var(--gc-text)!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  line-height:1.3!important;
}
body.raa-private-area-page .raa-manager-content textarea{
  min-height:120px!important;
  padding:12px 14px!important;
  border:1px solid #cfd2dc!important;
  border-radius:var(--gc-radius-sm)!important;
  background:#fff!important;
  color:var(--gc-text)!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  line-height:1.5!important;
}
body.raa-private-area-page .raa-manager-content :is(.button,.raa-button,input[type=submit],input[type=button]){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--gc-button-height)!important;
  padding:10px 18px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
}
body.raa-private-area-page .raa-manager-content :is(.button-primary,.raa-button){
  border-color:var(--gc-primary)!important;
  background:var(--gc-primary)!important;
  color:#fff!important;
}

/* Ayuda del apartado: módulo independiente. */
body.raa-private-area-page .raa-manager-tech-note{
  margin:var(--gc-gap-lg) 0 0!important;
  border:1px solid var(--gc-line)!important;
  border-radius:var(--gc-radius-md)!important;
  background:var(--gc-surface)!important;
  box-shadow:0 8px 24px rgba(42,43,92,.045)!important;
}

/* Programa beta e incidencias: componente común de Grado Creativo. */
body.raa-private-area-page .raa-support-history h3{
  margin:4px 0 18px!important;
  color:var(--gc-text)!important;
  font-size:var(--gc-title-main-size)!important;
  font-weight:800!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
body.raa-private-area-page .raa-support-ticket>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
}
body.raa-private-area-page .raa-support-ticket>summary strong{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:30ch!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.raa-private-area-page .raa-support-ticket>summary .raa-support-status{
  align-self:center!important;
  justify-self:end!important;
}
body.raa-private-area-page .raa-support-ticket>summary:after{
  display:none!important;
  content:none!important;
}
body.raa-private-area-page .raa-beta-strip form{
  gap:16px!important;
}
body.raa-private-area-page .raa-beta-strip form .raa-button{
  width:auto!important;
  min-width:238px!important;
  min-height:var(--gc-button-height)!important;
  padding:10px 20px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}

/* Área del alumno: mismo contenedor, tipografía, superficies y separaciones. */
body.raa-private-area-page .raa-shell{
  padding:0!important;
}
body.raa-private-area-page .raa-shell :is(.raa-card,.raa-panel,.raa-student-header,.raa-student-quick-summary>a,.raa-student-plan-overview>article){
  border-color:var(--gc-line)!important;
  border-radius:var(--gc-radius-md)!important;
  background-color:var(--gc-surface)!important;
  box-shadow:0 8px 24px rgba(42,43,92,.045)!important;
}

/* Móvil y tableta: misma jerarquía, menú desplegable y márgenes seguros. */
@media(max-width:782px){
  :root{
    --gc-gutter:10px;
    --gc-gap-md:12px;
    --gc-gap-lg:18px;
    --gc-gap-xl:22px;
  }
  body.raa-private-area-page :is(.raa-manager-portal,.raa-teacher-portal,.raa-shell){
    width:calc(100% - 20px)!important;
    margin:10px auto 22px!important;
  }
  body.raa-private-area-page .raa-beta-strip{
    width:calc(100% - 20px)!important;
    margin:10px auto 12px!important;
  }
  body.raa-private-area-page .raa-manager-header{
    grid-template-columns:minmax(0,1fr) 112px!important;
    gap:12px!important;
    min-height:116px!important;
    margin-bottom:12px!important;
    padding:16px!important;
    border-radius:var(--gc-radius-md)!important;
  }
  body.raa-private-area-page .raa-manager-header .raa-manager-brand-logo{
    width:190px!important;
    max-height:62px!important;
  }
  body.raa-private-area-page .raa-manager-header strong{
    font-size:13px!important;
    line-height:1.3!important;
  }
  body.raa-private-area-page .raa-manager-center-title>span{
    font-size:10px!important;
    letter-spacing:.03em!important;
  }
  body.raa-private-area-page .raa-manager-header>a{
    min-width:112px!important;
    min-height:44px!important;
    padding:9px 10px!important;
    font-size:12px!important;
  }
  body.raa-private-area-page :is(.raa-license-portal,.raa-current-manager-profile,.raa-manager-menu){
    margin-bottom:12px!important;
    border-radius:13px!important;
  }
  body.raa-private-area-page .raa-current-manager-profile{
    min-height:84px!important;
    padding:13px 14px!important;
  }
  body.raa-private-area-page .raa-current-manager-profile>img,
  body.raa-private-area-page .raa-current-manager-profile>.raa-team-avatar{
    flex-basis:56px!important;
    width:56px!important;
    height:56px!important;
  }
  body.raa-private-area-page .raa-current-manager-profile strong{
    font-size:var(--gc-welcome-name-mobile-size)!important;
  }
  body.raa-private-area-page .raa-teacher-profile h1{
    font-size:var(--gc-welcome-name-mobile-size)!important;
    line-height:1.15!important;
  }
  .raa-profile-welcome-name{
    font-size:var(--gc-welcome-name-mobile-size,20px)!important;
    line-height:1.15!important;
  }
  body.raa-private-area-page .raa-manager-menu-button{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:52px!important;
    padding:10px 14px!important;
    box-sizing:border-box!important;
    font-size:14px!important;
    font-weight:800!important;
    color:var(--gc-primary)!important;
  }
  body.raa-private-area-page .raa-manager-menu-button>span{
    color:var(--gc-primary)!important;
  }
  body.raa-private-area-page .raa-manager-menu-button i,
  body.raa-private-area-page .raa-manager-menu-button i:before,
  body.raa-private-area-page .raa-manager-menu-button i:after{
    background:var(--gc-primary)!important;
  }
  body.raa-private-area-page .raa-manager-nav{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:0 8px 9px!important;
    overflow:visible!important;
  }
  body.raa-private-area-page .raa-manager-menu-toggle:checked~.raa-manager-nav{
    display:grid!important;
  }
  body.raa-private-area-page .raa-manager-nav a{
    justify-content:flex-start!important;
    width:100%!important;
    min-height:42px!important;
    white-space:normal!important;
    text-align:left!important;
  }
  body.raa-private-area-page .raa-manager-content .wrap>h1,
  body.raa-private-area-page .raa-manager-content .raa-admin-heading h1{
    margin-top:8px!important;
    font-size:var(--gc-title-main-mobile-size)!important;
    line-height:1.05!important;
  }
  body.raa-private-area-page .raa-support-history h3{
    margin-bottom:14px!important;
    font-size:var(--gc-title-main-mobile-size)!important;
    line-height:1.05!important;
  }
  body.raa-private-area-page .raa-support-ticket>summary{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    flex-direction:row!important;
    min-height:44px!important;
    padding:8px 12px!important;
  }
  body.raa-private-area-page .raa-support-ticket>summary strong{
    width:auto!important;
    white-space:nowrap!important;
  }
  body.raa-private-area-page .raa-support-ticket>summary .raa-support-status{
    align-self:center!important;
  }
  body.raa-private-area-page .raa-beta-strip form .raa-button{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
  body.raa-private-area-page .raa-occupancy-table th:first-child,
  body.raa-private-area-page .raa-occupancy-table td:first-child{
    width:30%!important;
  }
  body.raa-private-area-page .raa-occupancy-table th:not(:first-child),
  body.raa-private-area-page .raa-occupancy-table td:not(:first-child){
    width:14%!important;
    min-width:4ch!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
  }
  body.raa-private-area-page .raa-occupancy-table th:not(:first-child){
    font-size:10px!important;
    letter-spacing:-.01em!important;
  }
  body.raa-private-area-page .raa-occupancy-table .raa-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    max-width:100%!important;
    padding:5px 4px!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }
  body.raa-private-area-page :is(.raa-admin-box,.raa-dashboard-section,.raa-panel){
    padding:16px!important;
  }
  body.raa-private-area-page :is(.raa-admin-box,.raa-dashboard-section,.raa-panel,.raa-reward-preset) h2,
  body.raa-private-area-page .raa-dashboard-section>h3{
    font-size:var(--gc-title-module-mobile-size)!important;
  }
  body.raa-private-area-page .raa-admin-grid>a{
    min-height:128px!important;
  }
  body.raa-private-area-page .raa-admin-grid strong{
    font-size:23px!important;
  }
  body.raa-private-area-page .raa-admin-grid .raa-dashboard-finance-card>strong{
    font-size:clamp(14px,4.9vw,21px)!important;
    line-height:1.08!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }
}

@media(max-width:380px){
  body.raa-private-area-page .raa-manager-header{
    grid-template-columns:minmax(0,1fr) 100px!important;
    gap:9px!important;
    padding:14px 12px!important;
  }
  body.raa-private-area-page .raa-manager-header .raa-manager-brand-logo{
    width:170px!important;
  }
  body.raa-private-area-page .raa-manager-header>a{
    min-width:100px!important;
    padding:8px!important;
  }
}

/*
 * 0.41.13 — Fichas responsive desplegables y de carga diferida.
 * El control + / − pertenece exclusivamente al listado móvil. La tabla de PC
 * mantiene su diseño y su navegación habitual mediante el botón Editar.
 */
.raa-student-editor-loading,
.raa-student-editor-error{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:110px!important;
  padding:24px!important;
  color:var(--gc-text-soft)!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

.raa-student-editor-loading>span{
  width:24px!important;
  height:24px!important;
  border:3px solid #dedfeb!important;
  border-top-color:var(--gc-primary)!important;
  border-radius:50%!important;
  animation:raa-student-editor-spin .75s linear infinite!important;
}

@keyframes raa-student-editor-spin{to{transform:rotate(360deg)}}

@media(max-width:782px){
  .raa-mobile-student-list{
    gap:10px!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow:hidden!important;
    border:1px solid var(--gc-line)!important;
    border-radius:var(--gc-radius-sm)!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card.is-pending{
    border:2px solid var(--gc-danger)!important;
    background:#fff1f0!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-height:70px!important;
    padding:11px 15px!important;
    list-style:none!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card>summary::marker{
    content:""!important;
    font-size:0!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card>summary::-webkit-details-marker{
    display:none!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card[open]>summary{
    border-bottom:1px solid var(--gc-line)!important;
  }

  .raa-mobile-student-list .raa-student-inline-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--gc-primary)!important;
    font-size:25px!important;
    font-weight:400!important;
    line-height:1!important;
  }

  .raa-mobile-student-list .raa-student-inline-icon::before{
    content:"+"!important;
  }

  .raa-mobile-student-list>.raa-student-inline-card[open]>summary .raa-student-inline-icon::before{
    content:"−"!important;
  }

  .raa-mobile-student-list .raa-student-inline-panel{
    width:100%!important;
    min-width:0!important;
    padding:14px!important;
    background:#f7f8fc!important;
    box-sizing:border-box!important;
  }

  .raa-mobile-student-list .raa-student-inline-panel>.raa-edit-box{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 0 24px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }

  .raa-mobile-student-list .raa-student-inline-panel .raa-edit-box-heading{
    margin:0 0 14px!important;
    border-radius:var(--gc-radius-sm)!important;
  }
}

/*
 * 0.41.11 — Estado inmediato de recuperaciones y mensualidades.
 * El mismo patrón sirve en escritorio y responsive: rojo requiere atención,
 * verde confirma que el alumno no tiene nada pendiente.
 */
body.raa-private-area-page #raa-app details:is(
  .raa-student-recoveries,
  .raa-student-payments
){
  border:1px solid var(--gc-line)!important;
  background:#fff!important;
}

body.raa-private-area-page #raa-app details:is(
  .raa-student-recoveries,
  .raa-student-payments
).is-attention{
  border-color:#e5a3ad!important;
}

body.raa-private-area-page #raa-app details:is(
  .raa-student-recoveries,
  .raa-student-payments
).is-clear{
  border-color:#9fd6bd!important;
}

body.raa-private-area-page #raa-app details:is(
  .raa-student-recoveries,
  .raa-student-payments
).is-attention>summary{
  background:linear-gradient(105deg,#fff1f0 0%,#fff8f8 58%,#fff 100%)!important;
}

body.raa-private-area-page #raa-app details:is(
  .raa-student-recoveries,
  .raa-student-payments
).is-clear>summary{
  background:linear-gradient(105deg,#eefaf4 0%,#f8fdfb 58%,#fff 100%)!important;
}

body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>.raa-summary-status-badge{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  box-sizing:border-box!important;
}

body.raa-private-area-page #raa-app .raa-mobile-collapsible.is-attention>summary>.raa-summary-status-badge{
  background:var(--gc-danger)!important;
  box-shadow:0 4px 12px rgba(180,35,24,.2)!important;
}

body.raa-private-area-page #raa-app .raa-mobile-collapsible.is-clear>summary>.raa-summary-status-badge{
  background:var(--gc-success)!important;
  box-shadow:0 4px 12px rgba(37,132,90,.18)!important;
}

body.raa-private-area-page #raa-app .raa-recovery-availability{
  display:grid!important;
  justify-items:center!important;
  gap:5px!important;
  width:100%!important;
  margin:20px 0 24px!important;
  padding:16px 18px!important;
  border:1px solid!important;
  border-radius:var(--gc-radius-sm)!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

body.raa-private-area-page #raa-app .raa-recovery-availability.is-attention{
  border-color:#e5a3ad!important;
  background:#fff1f0!important;
  color:#7a1f1a!important;
}

body.raa-private-area-page #raa-app .raa-recovery-availability.is-clear{
  border-color:#9fd6bd!important;
  background:#eefaf4!important;
  color:#1d6846!important;
}

body.raa-private-area-page #raa-app .raa-recovery-availability>strong{
  margin:0!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.3!important;
}

body.raa-private-area-page #raa-app .raa-recovery-availability>small{
  margin:0!important;
  color:#5b6380!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.4!important;
  opacity:1!important;
}

@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary{
    gap:10px!important;
  }

  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>h2{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>.raa-disclosure-toggle{
    margin-left:0!important;
  }

  body.raa-private-area-page #raa-app .raa-recovery-availability{
    margin-top:20px!important;
  }
}

@media(min-width:783px){
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
  }

  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>h2{
    flex:1 1 auto!important;
    margin:0!important;
  }
}

/*
 * 0.41.10 — Resumen contractual y horario completo del alumno.
 * La tarifa adopta la franja de vigencia y el horario utiliza todo el ancho.
 */
body.raa-private-area-page #raa-app .raa-student-plan-license{
  display:grid!important;
  grid-template-columns:14px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  margin:0 0 18px!important;
  padding:15px 18px!important;
  border:1px solid #d9e4e4!important;
  border-radius:var(--gc-radius-md,16px)!important;
  background:linear-gradient(105deg,#f1faf7 0%,#fff 72%)!important;
  box-shadow:0 8px 24px rgba(42,43,92,.045)!important;
  box-sizing:border-box!important;
}

body.raa-private-area-page #raa-app .raa-student-plan-license>i{
  display:block!important;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  background:#2dac71!important;
  box-shadow:0 0 0 6px rgba(45,172,113,.12)!important;
}

body.raa-private-area-page #raa-app .raa-student-plan-license>div{
  display:grid!important;
  min-width:0!important;
  gap:2px!important;
}

body.raa-private-area-page #raa-app .raa-student-plan-license span,
body.raa-private-area-page #raa-app .raa-student-fixed-schedule>span{
  color:var(--gc-primary,#6250d6)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

body.raa-private-area-page #raa-app .raa-student-plan-license strong{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  color:var(--gc-text,#29263a)!important;
  font-size:clamp(13px,1.35vw,17px)!important;
  font-weight:800!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}

body.raa-private-area-page #raa-app .raa-student-plan-license small{
  display:block!important;
  margin-top:2px!important;
  color:#696579!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.4!important;
}

body.raa-private-area-page #raa-app .raa-compensation-panel{
  border:1px solid #8eb2f4!important;
  background:linear-gradient(145deg,#edf5ff 0%,#fff 72%)!important;
  box-shadow:0 8px 24px rgba(47,104,232,.08)!important;
}

body.raa-private-area-page #raa-app .raa-compensation-panel>summary{
  color:var(--gc-text,#29263a)!important;
}

body.raa-private-area-page #raa-app .raa-compensation-panel .raa-summary-status-badge{
  border-color:#2f68e8!important;
  background:#2f68e8!important;
  color:#fff!important;
}

body.raa-private-area-page #raa-app .raa-compensation-panel.is-clear{
  border-color:#9dd8bd!important;
  background:linear-gradient(105deg,#eefaf4 0%,#f8fdfb 58%,#fff 100%)!important;
  box-shadow:0 8px 24px rgba(37,132,90,.08)!important;
}

body.raa-private-area-page #raa-app .raa-compensation-panel.is-clear .raa-summary-status-badge{
  border-color:var(--gc-success,#25845a)!important;
  background:var(--gc-success,#25845a)!important;
}

body.raa-private-area-page #raa-app .raa-compensation-availability{
  display:grid!important;
  justify-items:center!important;
  gap:5px!important;
  width:100%!important;
  margin:20px 0 24px!important;
  padding:16px 18px!important;
  border:1px solid #a9c4f5!important;
  border-radius:14px!important;
  background:#f3f7ff!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

body.raa-private-area-page #raa-app .raa-compensation-availability strong{
  color:#244fae!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.3!important;
}

body.raa-private-area-page #raa-app .raa-compensation-availability small{
  color:#5b6380!important;
  line-height:1.45!important;
}

body.raa-private-area-page #raa-app .raa-compensation-availability.is-clear{
  border-color:#b8e2ce!important;
  background:#f1faf6!important;
}

body.raa-private-area-page #raa-app .raa-compensation-availability.is-clear strong{
  color:var(--gc-success,#25845a)!important;
}

body.raa-private-area-page #raa-app .raa-credit-waive-row{
  display:flex!important;
  justify-content:center!important;
  margin:-8px 0 22px!important;
}

body.raa-private-area-page #raa-app .raa-credit-waive{
  min-height:42px!important;
  padding:9px 16px!important;
  border:1px solid #7563df!important;
  border-radius:var(--gc-radius-button,12px)!important;
  background:#fff!important;
  color:#5d4dca!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.25!important;
  cursor:pointer!important;
}

body.raa-private-area-page #raa-app .raa-credit-waive:hover,
body.raa-private-area-page #raa-app .raa-credit-waive:focus{
  background:#f1efff!important;
  border-color:#5d4dca!important;
}

body.raa-private-area-page #raa-app .raa-credit-waive:disabled{
  cursor:wait!important;
  opacity:.55!important;
}

@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-credit-waive-row,
  body.raa-private-area-page #raa-app .raa-credit-waive{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

body.raa-private-area-page #raa-app .raa-calendar-empty-week{
  margin:0!important;
  padding:18px!important;
  border:1px solid var(--gc-line,#dfe1f2)!important;
  border-radius:14px!important;
  background:#f8f8fc!important;
  color:#5b6380!important;
  text-align:center!important;
}

@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-calendar-scroll.is-filtered-mobile{
    overflow-x:visible!important;
    padding-bottom:0!important;
  }

  body.raa-private-area-page #raa-app .raa-calendar-days.is-filtered-mobile{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
    width:100%!important;
  }

  body.raa-private-area-page #raa-app .raa-calendar-days.is-filtered-mobile .raa-calendar-day{
    min-width:0!important;
    min-height:0!important;
    border-top:1px solid var(--gc-line,#dfe1f2)!important;
  }

  body.raa-private-area-page #raa-app .raa-calendar-days.is-filtered-mobile .raa-class-slot{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

}

body.raa-private-area-page #raa-app .raa-suspension-notice{
  border-color:#7966e8!important;
  background:linear-gradient(145deg,#f1efff 0%,#fff 76%)!important;
  box-shadow:0 10px 28px rgba(98,80,214,.1)!important;
}

body.raa-private-area-page #raa-app .raa-suspension-notice>a{
  border-radius:var(--gc-radius-button,12px)!important;
  background:linear-gradient(135deg,#6250d6,#7449ee)!important;
  box-shadow:0 8px 18px rgba(98,80,214,.2)!important;
}

body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending{
  border-color:#e5a3ad!important;
  background:linear-gradient(145deg,#fff 12%,#fff0f2 100%)!important;
  box-shadow:0 8px 22px rgba(166,43,61,.1)!important;
}

body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending:hover,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending:focus{
  border-color:#c94f60!important;
  box-shadow:0 10px 25px rgba(166,43,61,.16)!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
  margin:0 0 18px!important;
  padding:19px!important;
  border:1px solid var(--gc-line,#dfe1f2)!important;
  border-radius:var(--gc-radius-md,16px)!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(42,43,92,.045)!important;
  box-sizing:border-box!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
  min-width:0!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid>article{
  display:grid!important;
  align-content:start!important;
  gap:3px!important;
  min-width:0!important;
  padding:10px 12px!important;
  border-left:3px solid var(--gc-primary,#6250d6)!important;
  border-radius:7px!important;
  background:#f7f6ff!important;
  box-sizing:border-box!important;
  text-align:left!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid strong{
  color:var(--gc-text,#29263a)!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid span{
  min-width:0!important;
  color:#575269!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}

body.raa-private-area-page #raa-app .raa-student-fixed-schedule>small{
  display:block!important;
  color:#696579!important;
  font-size:13px!important;
  line-height:1.4!important;
  text-align:left!important;
}

@media(max-width:782px){
  body.raa-private-area-page #raa-app > :is(.raa-student-plan-license,.raa-student-fixed-schedule){
    margin-top:0!important;
    margin-bottom:var(--gc-module-gap-mobile,12px)!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-license{
    grid-template-columns:12px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px 16px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-license strong{
    font-size:clamp(12px,3.35vw,15px)!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-license small{
    font-size:12px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-license span,
  body.raa-private-area-page #raa-app .raa-student-fixed-schedule>span{
    font-size:var(--gc-kicker-mobile-size,12px)!important;
  }

  body.raa-private-area-page #raa-app .raa-student-fixed-schedule{
    gap:10px!important;
    padding:var(--gc-module-padding-mobile,16px)!important;
  }

  body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid>article{
    padding:9px 10px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid strong{
    font-size:14px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid span,
  body.raa-private-area-page #raa-app .raa-student-fixed-schedule>small{
    font-size:12px!important;
  }
}

@media(max-width:360px){
  body.raa-private-area-page #raa-app .raa-student-plan-license{
    padding-right:12px!important;
    padding-left:12px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-license strong{
    font-size:11.5px!important;
  }
}

/* Selector común de clases: fecha compacta, una sola hora y plazas visibles. */
.raa-form-field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
}

.raa-form-field-label{
  color:#232334;
  font-weight:800;
}

.raa-class-choice{
  position:relative;
  width:100%;
  min-width:0;
}

.raa-class-choice-toggle{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:1px solid #d6d7e4!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#262638!important;
  font:inherit!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}

.raa-class-choice-toggle:hover,
.raa-class-choice-toggle:focus,
.raa-class-choice-toggle[aria-expanded=true]{
  border-color:var(--raa-brand-violet,#6d69ff)!important;
  box-shadow:0 0 0 3px rgba(109,105,255,.12)!important;
  outline:0!important;
}

.raa-class-choice.is-invalid .raa-class-choice-toggle{
  border-color:#b42318!important;
  box-shadow:0 0 0 3px rgba(180,35,24,.1)!important;
}

.raa-class-choice-toggle>span{
  display:block;
  min-width:0;
  overflow:hidden;
}

.raa-class-choice-toggle>[data-class-choice-value].raa-class-choice-option-main{
  display:grid;
}

.raa-class-choice-toggle>i{
  display:flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  color:var(--raa-brand-violet-dark,#514dcc);
  font-size:23px;
  font-style:normal;
  font-weight:500;
  line-height:1;
}

.raa-class-choice-toggle[aria-expanded=true]>i{
  font-size:0;
}

.raa-class-choice-toggle[aria-expanded=true]>i:after{
  content:'−';
  font-size:23px;
}

.raa-class-choice-list{
  position:absolute;
  z-index:10020;
  top:calc(100% + 7px);
  right:0;
  left:0;
  display:grid;
  max-height:min(430px,58vh);
  gap:0;
  padding:7px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid #d9daea;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 46px rgba(35,35,68,.2);
  box-sizing:border-box;
}

.raa-class-choice-list[hidden]{
  display:none!important;
}

.raa-class-choice-option{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:10px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#28283a!important;
  font:inherit!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}

.raa-class-choice-option+.raa-class-choice-option{
  border-top:1px solid #ececf4!important;
  border-radius:0!important;
}

.raa-class-choice-option:hover,
.raa-class-choice-option:focus,
.raa-class-choice-option[aria-selected=true]{
  background:var(--raa-brand-violet-soft,#f2f1ff)!important;
  outline:0!important;
}

.raa-class-choice-option:disabled{
  opacity:1!important;
  cursor:not-allowed!important;
}

.raa-class-choice-option-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
}

.raa-class-choice-option-main>span{
  display:grid;
  min-width:0;
  gap:3px;
}

.raa-class-choice-option-main strong,
.raa-class-choice-option-main small{
  display:block;
  min-width:0;
  line-height:1.3;
}

.raa-class-choice-option-main strong{
  color:#202031;
  font-size:14px;
  font-weight:850;
}

.raa-class-choice-option-main small{
  color:#66667a;
  font-size:13px;
  font-weight:600;
  white-space:normal;
}

.raa-class-choice-option-main>b{
  display:inline-flex;
  min-width:68px;
  min-height:28px;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:7px;
  color:#fff;
  font-size:12px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
  box-sizing:border-box;
}

.raa-class-choice-option-main>b.is-available{
  background:#26834a;
}

.raa-class-choice-option-main>b.is-full{
  background:#b42318;
}

.raa-class-choice-empty{
  margin:0;
  padding:14px;
  color:#68687a;
}

.raa-extra-full-note{
  margin:0!important;
  color:#8f1d18;
  font-size:13px;
  font-weight:700;
}

@media(max-width:782px){
  .raa-class-choice-list{
    max-height:min(390px,56vh);
    padding:5px;
  }

  .raa-class-choice-option{
    padding:11px 8px!important;
  }

  .raa-class-choice-option-main{
    gap:8px;
  }

  .raa-class-choice-option-main strong{
    font-size:13px;
  }

  .raa-class-choice-option-main small{
    font-size:12px;
  }

  .raa-class-choice-option-main>b{
    min-width:62px;
    padding-right:7px;
    padding-left:7px;
    font-size:11px;
  }
}

/*
 * 0.40.87 — Geometría única de acciones del alumno y semántica de cobros.
 * Ninguna acción textual utiliza forma de píldora: 46 px y radio de 8 px.
 */
body.raa-private-area-page #raa-app .raa-student-action-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto;
  min-height:var(--gc-button-height)!important;
  padding:10px 18px!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button{
  min-height:var(--gc-button-height)!important;
  padding:10px 14px!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-correct-payment{
  border-color:var(--gc-primary)!important;
  background:var(--gc-primary)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-correct-payment:hover,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-correct-payment:focus{
  border-color:var(--gc-primary-dark)!important;
  background:var(--gc-primary-dark)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-confirm-payment,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-reactivate-payment{
  border-color:var(--gc-success)!important;
  background:var(--gc-success)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-confirm-payment:hover,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-confirm-payment:focus,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-reactivate-payment:hover,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-reactivate-payment:focus{
  border-color:#196743!important;
  background:#196743!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-prepare-invoice{
  border-color:var(--raa-brand-magenta,#c52dff)!important;
  background:var(--raa-brand-magenta,#c52dff)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-prepare-invoice:hover,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-action-prepare-invoice:focus{
  border-color:var(--raa-brand-magenta-dark,#9b20d1)!important;
  background:var(--raa-brand-magenta-dark,#9b20d1)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-cancel-payment{
  border-color:var(--gc-danger)!important;
  background:var(--gc-danger)!important;
  color:#fff!important;
}

.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-cancel-payment:hover,
.raa-payments-page .raa-payments-table .raa-table-actions .button.raa-cancel-payment:focus{
  border-color:#8f1c14!important;
  background:#8f1c14!important;
  color:#fff!important;
}

@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-student-action-button,
  .raa-payments-page .raa-payments-table .raa-table-actions .button{
    min-height:50px!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-profile-form>.raa-student-action-button,
    .raa-profile-anamnesis>.raa-student-action-button,
    .raa-attendance-access>.raa-student-action-button,
    .raa-extra-selector>.raa-student-action-button
  ){
    width:100%!important;
  }
}

/*
 * 0.40.86 — Acciones completas y desplegables administrativos unificados.
 * La división en dos columnas vive únicamente dentro del formulario: el
 * contenedor de acciones siempre ocupa el ancho completo de la ficha.
 */
@media(max-width:782px){
  .raa-extra-classes-page .raa-extra-classes-table,
  .raa-extra-classes-page .raa-extra-classes-table>tbody{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table{
    border-collapse:separate!important;
    border-spacing:0!important;
    overflow:visible!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table tr{
    overflow:hidden!important;
    border-radius:14px!important;
    background:#fff!important;
    background-clip:padding-box!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table tbody>tr:nth-child(odd),
  .raa-extra-classes-page .raa-extra-classes-table tbody>tr:nth-child(even){
    background:#fff!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(7){
    grid-column:1 / -1!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions>form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:9px 8px!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    box-sizing:border-box!important;
  }

  .raa-rooms-page .raa-room-toggle{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
  }

  .raa-rooms-page .raa-room-toggle-arrow{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--gc-primary)!important;
    transform:none!important;
    transition:none!important;
    box-sizing:border-box!important;
  }

  .raa-rooms-page .raa-room-toggle-arrow::before{
    content:"−"!important;
    display:block!important;
    color:inherit!important;
    font-size:25px!important;
    font-weight:400!important;
    line-height:1!important;
  }

  .raa-rooms-page .raa-room-box.is-collapsed .raa-room-toggle-arrow::before{
    content:"+"!important;
  }

  .raa-rooms-page .raa-room-toggle:hover .raa-room-toggle-arrow,
  .raa-rooms-page .raa-room-toggle:focus .raa-room-toggle-arrow{
    border:0!important;
    color:var(--gc-primary-dark)!important;
  }
}

/* 0.40.72 — Resumen del perfil del alumno compacto y estable en móvil. */
@media(max-width:600px){
  body.raa-private-area-page .raa-personal-data>summary{
    grid-template-columns:60px minmax(0,1fr) 34px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:2px!important;
    min-height:92px!important;
    padding:14px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-avatar{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:60px!important;
    height:60px!important;
    flex-basis:60px!important;
    font-size:22px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary>div:nth-child(2){
    grid-column:2!important;
    grid-row:1 / span 2!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-eyebrow{
    margin:0 0 3px!important;
    text-align:left!important;
  }
  body.raa-private-area-page .raa-personal-data>summary h2,
  body.raa-private-area-page .raa-personal-data>summary span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
  body.raa-private-area-page .raa-personal-data>summary h2{
    font-size:17px!important;
    line-height:1.2!important;
  }
  body.raa-private-area-page .raa-personal-data>summary>b{
    grid-column:3!important;
    grid-row:2!important;
    align-self:end!important;
    justify-self:end!important;
    width:32px!important;
    height:32px!important;
  }
}

/* 0.40.74 — Composición definitiva de Mi perfil según la maqueta responsive. */
@media(max-width:782px){
  body.raa-private-area-page .raa-personal-data>summary{
    position:relative!important;
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:14px!important;
    min-height:128px!important;
    padding:18px 58px 18px 18px!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-avatar{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    width:64px!important;
    height:64px!important;
    flex-basis:64px!important;
    margin:0!important;
    font-size:23px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    align-content:center!important;
    justify-items:start!important;
    gap:3px!important;
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy .raa-eyebrow{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#6250d6!important;
    text-align:left!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy h2,
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy>span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    text-align:left!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy h2{
    font-size:17px!important;
    line-height:1.2!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy>span{
    color:#706b7d!important;
    font-size:11px!important;
    line-height:1.3!important;
  }
  body.raa-private-area-page .raa-personal-data>summary>b{
    position:absolute!important;
    right:14px!important;
    bottom:14px!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:auto!important;
    justify-self:auto!important;
    width:32px!important;
    height:32px!important;
    margin:0!important;
  }
}

@media(max-width:380px){
  body.raa-private-area-page .raa-personal-data>summary{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:120px!important;
    padding:16px 52px 16px 16px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-avatar{
    width:58px!important;
    height:58px!important;
    flex-basis:58px!important;
    font-size:21px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary .raa-profile-summary-copy h2{
    font-size:16px!important;
  }
  body.raa-private-area-page .raa-personal-data>summary>b{
    right:12px!important;
    bottom:12px!important;
  }
}

/* 0.40.72 — Los módulos móviles no admiten huecos muertos entre contenido y acción. */
@media(max-width:640px){
  body.raa-private-area-page .raa-attendance-access{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-content:start!important;
    align-items:start!important;
    justify-content:stretch!important;
    gap:16px!important;
    min-height:0!important;
    height:auto!important;
    padding:20px!important;
  }
  body.raa-private-area-page .raa-attendance-access>div{
    min-height:0!important;
  }
  body.raa-private-area-page .raa-attendance-access .raa-button{
    align-self:start!important;
    width:100%!important;
    margin:0!important;
  }
}

/* 0.40.73 — El área privada no muestra controles flotantes heredados de Salient. */
body.raa-private-area-page #to-top,
body.raa-private-area-page .nectar-scroll-to-top,
body.raa-private-area-page [data-scroll-to-top]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* 0.40.73 — Aviso informativo del calendario fijo. */
body.raa-private-area-page .raa-fixed-schedule-notice{
  border-color:#c9bdfb!important;
  background:linear-gradient(135deg,#f5f1ff 0%,#edf3ff 100%)!important;
  box-shadow:0 10px 28px rgba(83,69,172,.09)!important;
}
body.raa-private-area-page .raa-fixed-schedule-notice h2{
  color:#4f3cc5!important;
}
body.raa-private-area-page .raa-fixed-schedule-notice p{
  color:#4f4a63!important;
}

/* 0.40.73 — Próximas clases es desplegable en móvil y permanece abierta en escritorio. */
body.raa-private-area-page details.raa-upcoming-classes{
  padding:0!important;
  overflow:hidden!important;
}
body.raa-private-area-page .raa-upcoming-classes>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  list-style:none!important;
  cursor:pointer;
}
body.raa-private-area-page .raa-upcoming-classes>summary::-webkit-details-marker{
  display:none!important;
}
body.raa-private-area-page .raa-upcoming-classes>summary h2{
  margin:0!important;
}
body.raa-private-area-page .raa-upcoming-classes>summary>b{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#efecff;
  color:#6048df;
  font-size:22px;
  line-height:1;
  transition:transform .2s ease;
}
body.raa-private-area-page .raa-upcoming-classes[open]>summary>b{
  transform:rotate(180deg);
}

@media(min-width:601px){
  body.raa-private-area-page details.raa-upcoming-classes{
    padding:28px!important;
    overflow:visible!important;
  }
  body.raa-private-area-page .raa-upcoming-classes>summary{
    padding:0!important;
    pointer-events:none!important;
    cursor:default!important;
  }
  body.raa-private-area-page .raa-upcoming-classes>summary>b{
    display:none!important;
  }
  body.raa-private-area-page .raa-upcoming-classes-body{
    display:block!important;
    padding:0!important;
  }
}

@media(max-width:600px){
  body.raa-private-area-page .raa-upcoming-classes>summary{
    min-height:72px!important;
    padding:18px 20px!important;
    box-sizing:border-box!important;
  }
  body.raa-private-area-page .raa-upcoming-classes[open]>summary{
    border-bottom:1px solid #ebe8f6!important;
  }
  body.raa-private-area-page .raa-upcoming-classes-body{
    padding:0 20px 20px!important;
  }
}

/*
 * 0.40.75 — Hoja responsive del área del alumno.
 * Una sola escala controla títulos, textos, rellenos y ritmo vertical de todos
 * los módulos. Las excepciones son únicamente estados y componentes funcionales.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app > :is(
    .raa-student-header,
    .raa-student-quick-summary,
    .raa-personal-data,
    .raa-student-plan-overview,
    #raa-class-calendar,
    #raa-upcoming-classes,
    .raa-suspension-notice,
    .raa-compensation-panel,
    #raa-recoveries,
    .raa-payment-notice,
    #raa-payments,
    .raa-attendance-access,
    .raa-extra-class-panel,
    .raa-loyalty-panel,
    .raa-consistency-card,
    .raa-student-help
  ){
    margin-top:0!important;
    margin-bottom:var(--gc-module-gap-mobile)!important;
  }

  body.raa-private-area-page #raa-app :is(.raa-eyebrow,.raa-student-plan-overview>article>span){
    margin:0 0 var(--gc-kicker-title-gap-mobile)!important;
    font-size:var(--gc-kicker-mobile-size)!important;
    font-weight:900!important;
    line-height:1.2!important;
    letter-spacing:.1em!important;
  }

  body.raa-private-area-page #raa-app > :is(
    #raa-class-calendar,
    .raa-suspension-notice,
    .raa-compensation-panel,
    #raa-recoveries,
    .raa-payment-notice,
    .raa-attendance-access,
    .raa-extra-class-panel,
    .raa-consistency-card
  ) h2,
  body.raa-private-area-page #raa-app > :is(#raa-upcoming-classes,#raa-recoveries,#raa-payments)>summary h2,
  body.raa-private-area-page #raa-app > .raa-loyalty-panel>summary h2{
    margin:0 0 var(--gc-title-copy-gap-mobile)!important;
    color:var(--gc-text)!important;
    font-size:var(--gc-title-module-mobile-size)!important;
    font-weight:800!important;
    line-height:1.2!important;
    letter-spacing:-.02em!important;
  }

  body.raa-private-area-page #raa-app > :is(
    #raa-class-calendar,
    .raa-suspension-notice,
    .raa-compensation-panel,
    #raa-recoveries,
    .raa-payment-notice,
    .raa-attendance-access,
    .raa-extra-class-panel,
    .raa-consistency-card
  ) p:not(.raa-eyebrow),
  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>small{
    font-size:var(--gc-body-mobile-size)!important;
    line-height:1.5!important;
  }

  body.raa-private-area-page #raa-app > :is(
    #raa-class-calendar,
    .raa-suspension-notice,
    .raa-compensation-panel,
    #raa-recoveries,
    .raa-payment-notice,
    .raa-attendance-access,
    .raa-extra-class-panel,
    .raa-consistency-card
  ){
    padding:var(--gc-module-padding-mobile)!important;
    border-radius:var(--gc-radius-md)!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-overview>article{
    gap:0!important;
    padding:var(--gc-module-padding-mobile)!important;
  }
  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>span{
    color:var(--gc-primary)!important;
  }
  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>strong{
    margin:0 0 var(--gc-title-copy-gap-mobile)!important;
    color:var(--gc-text)!important;
    font-size:var(--gc-title-module-mobile-size)!important;
    font-weight:800!important;
    line-height:1.2!important;
  }

  body.raa-private-area-page #raa-app .raa-attendance-access{
    gap:var(--gc-module-gap-mobile)!important;
  }
  body.raa-private-area-page #raa-app .raa-attendance-access>div{
    display:grid!important;
    align-content:start!important;
    gap:0!important;
    min-height:0!important;
  }
  body.raa-private-area-page #raa-app .raa-attendance-access>div>p:last-child{
    margin:0!important;
  }

  /* El aviso se diferencia por la superficie completa; su título sigue la regla común. */
  body.raa-private-area-page #raa-app .raa-fixed-schedule-notice{
    border-color:#aaa0ea!important;
    background:linear-gradient(135deg,#e5dfff 0%,#dbe8ff 100%)!important;
    box-shadow:0 10px 26px rgba(83,69,172,.13)!important;
  }
  body.raa-private-area-page #raa-app .raa-fixed-schedule-notice h2{
    color:var(--gc-text)!important;
  }

  /* Próximas clases y mensualidades comparten el mismo patrón plegable. */
  body.raa-private-area-page #raa-app details.raa-mobile-collapsible{
    padding:0!important;
    overflow:hidden!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    min-height:72px!important;
    padding:18px var(--gc-module-padding-mobile)!important;
    box-sizing:border-box!important;
    list-style:none!important;
    cursor:pointer!important;
    pointer-events:auto!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary::-webkit-details-marker{
    display:none!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary h2{
    margin:0!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>b{
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    background:var(--gc-primary-soft)!important;
    color:var(--gc-primary)!important;
    font-size:22px!important;
    line-height:1!important;
    transition:transform .2s ease!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible[open]>summary{
    border-bottom:1px solid #ebe8f6!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible[open]>summary>b{
    transform:rotate(180deg)!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible-body{
    padding:0 var(--gc-module-padding-mobile) var(--gc-module-padding-mobile)!important;
  }
}

@media(min-width:783px){
  body.raa-private-area-page #raa-app details.raa-mobile-collapsible{
    padding:0!important;
    overflow:visible!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    min-height:84px!important;
    padding:24px 28px!important;
    list-style:none!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary::-webkit-details-marker{
    display:none!important;
  }
  body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>h2{flex:1 1 auto!important;min-width:0!important;margin:0!important}
  body.raa-private-area-page #raa-app .raa-mobile-collapsible-body{
    padding:0 28px 28px!important;
  }
}

/*
 * 0.40.76 — Mi perfil replica la composición aprobada por Francisco.
 * La flecha vive en la zona inferior y no resta anchura al nombre. El recorte
 * solo aparece cuatro píxeles antes del límite útil real de la columna.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-personal-data>summary{
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    gap:14px!important;
    min-height:128px!important;
    padding:24px 18px 18px!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-avatar{
    align-self:start!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy{
    align-content:start!important;
    padding-top:4px!important;
    overflow:visible!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy h2,
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy>span{
    width:calc(100% - 4px)!important;
    max-width:calc(100% - 4px)!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary>b{
    right:14px!important;
    bottom:10px!important;
  }
}

/*
 * 0.40.78 — Cierre de la arquitectura responsive del alumno.
 * Tarifa y horario reutilizan exactamente la geometría de las tarjetas resumen.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-student-plan-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:8px!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-overview>article{
    position:relative!important;
    display:grid!important;
    align-content:start!important;
    gap:5px!important;
    min-width:0!important;
    min-height:124px!important;
    padding:14px 12px!important;
    border:1px solid #dcd8fa!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,#fff 15%,#f2f4ff)!important;
    box-shadow:0 8px 22px rgba(69,58,149,.07)!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>span{
    margin:0!important;
  }

  body.raa-private-area-page #raa-app .raa-student-quick-summary>a>strong,
  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>strong{
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:normal!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>strong{
    margin:0!important;
    padding:0!important;
    overflow-wrap:anywhere!important;
  }

  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>small{
    margin:0!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:380px){
  body.raa-private-area-page #raa-app .raa-personal-data>summary{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:124px!important;
    padding:20px 16px 16px!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy{
    padding-top:3px!important;
  }
  body.raa-private-area-page #raa-app .raa-personal-data>summary>b{
    right:12px!important;
    bottom:10px!important;
  }
}

/*
 * 0.40.88 — Campos temporales contenidos en responsive.
 * Safari y Chrome móvil no pueden imponer su anchura intrínseca a la columna.
 */
@media(max-width:782px){
  body.raa-private-area-page .raa-manager-content .raa-temporal-field{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page .raa-manager-content :is(
    input[type="date"],
    input[type="month"],
    input[type="datetime-local"]
  ){
    display:block!important;
    inline-size:calc(100% - 2px)!important;
    width:calc(100% - 2px)!important;
    max-inline-size:calc(100% - 2px)!important;
    max-width:calc(100% - 2px)!important;
    min-inline-size:0!important;
    min-width:0!important;
    -webkit-min-logical-width:0!important;
    margin-inline:0 2px!important;
    padding-inline:12px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    font-size:16px!important;
    text-align:left!important;
  }

  body.raa-private-area-page .raa-manager-content :is(
    input[type="date"],
    input[type="month"],
    input[type="datetime-local"]
  )::-webkit-date-and-time-value,
  body.raa-private-area-page .raa-manager-content :is(
    input[type="date"],
    input[type="month"],
    input[type="datetime-local"]
  )::-webkit-datetime-edit{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    text-align:left!important;
  }

  body.raa-private-area-page .raa-manager-content :is(
    input[type="date"],
    input[type="month"],
    input[type="datetime-local"]
  )::-webkit-calendar-picker-indicator{
    flex:0 0 auto!important;
    margin:0 0 0 auto!important;
  }
}

/*
 * 0.40.77 — Los cinco rótulos principales del alumno son un único componente.
 * No se permite que las tarjetas resumen recuperen tamaños históricos menores.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app :is(
    .raa-student-quick-summary>a>span,
    .raa-personal-data>summary .raa-profile-summary-copy>.raa-eyebrow,
    .raa-student-plan-overview>article>span
  ){
    color:var(--gc-primary)!important;
    font-size:var(--gc-kicker-mobile-size)!important;
    font-weight:900!important;
    line-height:1.2!important;
    letter-spacing:.1em!important;
    text-transform:uppercase!important;
  }
}

/*
 * 0.40.84 — Fichas operativas compactas en el responsive del máster.
 * Clases extra utiliza dos columnas de información y una fila final de acciones.
 * Servicios conserva sus dos acciones en una única fila de igual anchura.
 */
@media(max-width:782px){
  .raa-extra-classes-page .raa-extra-classes-table tbody{
    gap:14px!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:16px!important;
    row-gap:15px!important;
    width:100%!important;
    padding:18px!important;
    box-sizing:border-box!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow-wrap:anywhere!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(1),
  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(6),
  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(7){
    grid-column:1 / -1!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(2),
  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(4){
    grid-column:1!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(3),
  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(5){
    grid-column:2!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table td:nth-child(3){
    font-size:15px!important;
    line-height:1.35!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions>form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .raa-services-page .raa-plan-list>.raa-service-card{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    padding:18px!important;
    box-sizing:border-box!important;
  }

  .raa-services-page .raa-service-card>.raa-service-edit-form,
  .raa-services-page .raa-service-card>.raa-service-archive-form{
    display:contents!important;
  }

  .raa-services-page .raa-service-edit-form>.raa-service-name,
  .raa-services-page .raa-service-edit-form>.raa-group-active{
    grid-column:1 / -1!important;
    min-width:0!important;
    margin:0!important;
  }

  .raa-services-page .raa-service-edit-form>.button{
    grid-column:1!important;
  }

  .raa-services-page .raa-service-archive-form>.button{
    grid-column:2!important;
  }

  .raa-services-page .raa-service-card.is-inactive .raa-service-edit-form>.button{
    grid-column:1 / -1!important;
  }

  .raa-services-page .raa-service-card .button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    margin:0!important;
    padding:9px 10px!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:380px){
  .raa-extra-classes-page .raa-extra-classes-table tr,
  .raa-services-page .raa-plan-list>.raa-service-card{
    column-gap:10px!important;
    padding:15px!important;
  }

  .raa-extra-classes-page .raa-extra-classes-table .raa-table-actions button,
  .raa-services-page .raa-service-card .button{
    padding-inline:7px!important;
    font-size:13px!important;
  }
}

/*
 * 0.40.80 — Norma cerrada para desplegables y campos del perfil en móvil.
 * Los tres paneles comparten el mismo eje y ningún control puede desbordar.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app > details:is(
    #raa-upcoming-classes,
    #raa-compensations,
    #raa-recoveries,
    #raa-payments
  ).raa-mobile-collapsible{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app > details:is(
    #raa-upcoming-classes,
    #raa-compensations,
    #raa-recoveries,
    #raa-payments
  ).raa-mobile-collapsible>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:16px!important;
    width:100%!important;
    min-height:72px!important;
    padding:18px var(--gc-module-padding-mobile)!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app > details:is(
    #raa-upcoming-classes,
    #raa-compensations,
    #raa-recoveries,
    #raa-payments
  ).raa-mobile-collapsible>summary>h2{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
  }

  body.raa-private-area-page #raa-app > details:is(
    #raa-upcoming-classes,
    #raa-compensations,
    #raa-recoveries,
    #raa-payments
  ).raa-mobile-collapsible>summary>b{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    margin:0 0 0 auto!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>label{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form input[type="date"]{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/*
 * 0.40.81 — Datos variables sin negrita y horario fijo de altura controlada.
 * Se aplica en la última hoja cargada para blindar la norma frente a reglas
 * históricas de las tarjetas del alumno.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-student-quick-summary>a>strong,
  body.raa-private-area-page #raa-app .raa-student-plan-overview>article>strong{
    font-weight:400!important;
  }

  body.raa-private-area-page #raa-app .raa-fixed-schedule-preview{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }
}

/*
 * 0.40.83 — Regla común de desplegables responsive y fecha nativa contenida.
 * Todo acordeón del alumno usa el mismo control + / − de las tarifas de gestión.
 * El campo de fecha se blinda también en su envoltorio para neutralizar el ancho
 * intrínseco que Safari y algunos Chrome móviles añaden al selector nativo.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )>summary{
    list-style:none!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )>summary::marker{
    content:""!important;
    font-size:0!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )>summary::-webkit-details-marker{
    display:none!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )>summary>.raa-disclosure-toggle{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--gc-primary)!important;
    font-size:25px!important;
    font-weight:400!important;
    line-height:1!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )>summary>.raa-disclosure-toggle::before{
    content:"+"!important;
    display:block!important;
    color:var(--gc-primary)!important;
    font:inherit!important;
    line-height:1!important;
  }

  body.raa-private-area-page #raa-app :is(
    .raa-personal-data,
    .raa-mobile-collapsible
  )[open]>summary>.raa-disclosure-toggle::before{
    content:"−"!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field>small{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field>input[type="date"]{
    display:block!important;
    inline-size:calc(100% - 2px)!important;
    width:calc(100% - 2px)!important;
    max-inline-size:calc(100% - 2px)!important;
    max-width:calc(100% - 2px)!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin-inline:0 2px!important;
    padding-inline:12px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    font-size:16px!important;
    text-align:left!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field>input[type="date"]::-webkit-date-and-time-value,
  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field>input[type="date"]::-webkit-datetime-edit{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    text-align:left!important;
  }

  body.raa-private-area-page #raa-app .raa-profile-form>.raa-date-field>input[type="date"]::-webkit-calendar-picker-indicator{
    flex:0 0 auto!important;
    margin:0 0 0 auto!important;
  }
}

/*
 * 0.40.85 — Cabecera compacta de Mi perfil en responsive.
 * El control pertenece visualmente a la línea del nombre: nunca queda aislado
 * debajo de la fotografía ni consume una segunda fila del módulo.
 */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-personal-data>summary{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) 34px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:14px!important;
    min-height:0!important;
    padding:16px!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-avatar{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    min-height:72px!important;
    font-size:25px!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    align-content:center!important;
    min-width:0!important;
    max-width:100%!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy h2,
  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-copy>span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary>.raa-disclosure-toggle{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    transform:none!important;
  }
}

@media(max-width:380px){
  body.raa-private-area-page #raa-app .raa-personal-data>summary{
    grid-template-columns:66px minmax(0,1fr) 30px!important;
    gap:10px!important;
    padding:14px!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary .raa-profile-summary-avatar{
    width:66px!important;
    height:66px!important;
    min-width:66px!important;
    min-height:66px!important;
    font-size:23px!important;
  }

  body.raa-private-area-page #raa-app .raa-personal-data>summary>.raa-disclosure-toggle{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    font-size:23px!important;
  }
}
/* Acceso directo del escritorio a la lista de alumnos de cada clase de hoy. */
.raa-dashboard-class-link[data-attendance-url]{cursor:pointer}
.raa-dashboard-class-link[data-attendance-url]:hover td{background:#f5f2ff!important}
.raa-dashboard-class-link[data-attendance-url]:focus{outline:3px solid rgba(100,69,213,.28);outline-offset:-3px}
.raa-dashboard-class-hint{display:inline-block;margin-left:10px;color:#6847d5;font-size:12px;font-weight:700}
.raa-today-roster-group.is-direct-focus{box-shadow:0 0 0 3px rgba(100,69,213,.25),0 14px 34px rgba(67,45,139,.12);transition:box-shadow .2s ease}
.raa-day-classes .raa-status.is-live{background:#25845a!important;color:#fff!important;border-color:#25845a!important}
.raa-day-classes .raa-status.is-programmed{background:#6256e8!important;color:#fff!important;border-color:#6256e8!important}
.raa-day-classes .raa-status.is-finalized{background:#c44757!important;color:#fff!important;border-color:#c44757!important}
body.raa-private-area-page .raa-day-classes .raa-status.is-suspended,
.raa-admin .raa-day-classes .raa-status.is-suspended{background:#971f30!important;color:#fff!important;border-color:#971f30!important}

/* Recuperaciones visibles dentro de la asistencia prevista del día. */
.raa-today-roster-student.is-recovery{background:#f5f2ff}
.raa-today-roster-student .raa-status.is-recovery{border:1px solid #615ee8;background:#615ee8;color:#fff;font-weight:700}
.raa-today-roster-student small.raa-recovery-attended{color:#2f7d4a}

/* La cabecera morada de la ficha de alumno siempre utiliza texto blanco. */
body.raa-private-area-page .raa-manager-content .raa-edit-box>.raa-edit-box-heading>h2,
.raa-admin.raa-students-page .raa-edit-box>.raa-edit-box-heading>h2{
  color:#fff!important;
}
body.raa-private-area-page .raa-manager-content .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close,
.raa-admin.raa-students-page .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close{
  color:#fff!important;
}

/* Ficha de alumno: cabecera de cierre propia en PC. */
@media(min-width:783px){
  body.raa-private-area-page .raa-manager-content .raa-edit-box>.raa-edit-box-heading,
  .raa-admin.raa-students-page .raa-edit-box>.raa-edit-box-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:-18px -18px 20px!important;
    padding:16px 20px!important;
    border-radius:10px 10px 0 0!important;
    background:#6d49e8!important;
  }
  body.raa-private-area-page .raa-manager-content .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close,
  .raa-admin.raa-students-page .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    text-decoration:none!important;
  }
}

/* En responsive manda el +/− de la tarjeta del alumno; no se duplica el cierre. */
@media(max-width:782px){
  .raa-mobile-student-list .raa-student-inline-panel .raa-edit-box-heading{
    display:none!important;
  }
  body.raa-private-area-page .raa-manager-content .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close,
  .raa-admin.raa-students-page .raa-edit-box>.raa-edit-box-heading>.raa-mobile-edit-close{
    display:none!important;
  }
}

/* All manager disclosure controls use a right-aligned plus/minus at every width. */
:is(.raa-admin,.raa-manager-content) details.raa-admin-box>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;width:100%!important;min-width:0!important;list-style:none!important;box-sizing:border-box!important}
:is(.raa-admin,.raa-manager-content) details.raa-admin-box>summary::marker{content:""!important;font-size:0!important}
:is(.raa-admin,.raa-manager-content) details.raa-admin-box>summary::-webkit-details-marker{display:none!important}
:is(.raa-admin,.raa-manager-content) details.raa-admin-box>summary::after{content:"+"!important;display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;color:var(--gc-primary,#713cff)!important;font-size:25px!important;font-weight:400!important;line-height:1!important}
:is(.raa-admin,.raa-manager-content) details.raa-admin-box[open]>summary::after{content:"−"!important}



/*
 * 0.41.85 — Cabecera de bloque compartida por todos los centros.
 * raa-block-title es el contrato para nuevos bloques. Los selectores estructurales
 * cubren también los bloques existentes: títulos h2, formularios plegables y salas.
 * Texto auxiliar, cifras, campos y controles de abrir/cerrar tienen su propio rol.
 */
:is(.raa-admin,.raa-manager-content) :is(
  .raa-block-title,
  .raa-admin-box>h2,
  .raa-admin-box>summary>strong,
  .raa-admin-box>summary h2,
  .raa-dashboard-section>h2,
  .raa-dashboard-section>h3,
  .raa-panel>h2,
  .raa-reward-preset h2,
  .raa-room-toggle>span:first-child>strong
){
  color:var(--gc-text)!important;
  font-family:var(--gc-font-family)!important;
  font-size:var(--gc-title-module-size)!important;
  font-weight:var(--gc-title-module-weight)!important;
  font-style:normal!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:782px){
  :is(.raa-admin,.raa-manager-content) :is(
    .raa-block-title,
    .raa-admin-box>h2,
    .raa-admin-box>summary>strong,
    .raa-admin-box>summary h2,
    .raa-dashboard-section>h2,
    .raa-dashboard-section>h3,
    .raa-panel>h2,
    .raa-reward-preset h2,
    .raa-room-toggle>span:first-child>strong
  ){
    font-size:var(--gc-title-module-mobile-size)!important;
  }
}


/* 0.41.86 — En móvil, el fondo pertenece a cada tarjeta de regalos,
 * no a la tabla rectangular que las agrupa. Evita esquinas blancas
 * y franjas entre tarjetas, incluso con los estilos widefat del tema.
 */
@media(max-width:782px){
  :is(.raa-admin,.raa-manager-content) .raa-rewards-table,
  :is(.raa-admin,.raa-manager-content) .raa-rewards-table>tbody{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}


/* 0.41.87 — Cabecera reutilizable: rótulo de contexto y título en dos líneas,
 * con el control de abrir/cerrar reservado a la derecha del summary.
 */
:is(.raa-admin,.raa-manager-content) .raa-block-heading{
  display:block;
  min-width:0;
}
:is(.raa-admin,.raa-manager-content) .raa-block-heading>.raa-block-title{
  display:block;
}

:is(.raa-admin,.raa-manager-content) .raa-section-description{
  margin:0 0 var(--gc-gap-md)!important;
  color:var(--gc-text-soft)!important;
  font-family:var(--gc-font-family)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
}


/* 0.41.88 — Título y descripción forman una sola cabecera.
 * El margen de la fila de acciones nunca separa el título de su explicación.
 */
:is(.raa-admin,.raa-manager-content) .raa-section-heading-copy{
  min-width:0;
}
:is(.raa-admin,.raa-manager-content) .raa-admin-heading.raa-section-heading .raa-section-heading-copy>h1{
  margin:0 0 8px!important;
}
:is(.raa-admin,.raa-manager-content) .raa-admin-heading.raa-section-heading .raa-section-heading-copy>.raa-section-description{
  margin:0!important;
}


/* 0.41.95 — Disponibilidad completa con identidad corporativa, reutilizable. */
:is(.raa-admin,.raa-manager-content) .raa-status.is-capacity-full{
  border:1px solid var(--gc-primary)!important;
  background:var(--gc-primary-soft)!important;
  color:var(--gc-primary-dark)!important;
  font-weight:800!important;
}
.raa-extra-classes-table tbody tr[hidden]{display:none!important}


/* 0.41.100 — Aviso informativo común, separado de la descripción de sección.
 * Facturación y regla de generación comparten identidad y geometría.
 */
:is(.raa-admin,.raa-manager-content) .raa-info-notice{
  width:100%;
  min-width:0;
  margin:0 0 var(--gc-gap-md)!important;
  padding:11px 13px!important;
  border:1px solid var(--gc-attention-text)!important;
  border-radius:7px!important;
  background:var(--gc-attention-soft)!important;
  color:var(--gc-attention-text)!important;
  line-height:1.45!important;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
:is(.raa-admin,.raa-manager-content) .raa-info-notice.raa-bulk-payment-rule{
  flex:1 0 100%;
  margin:2px 0 0!important;
}


/* 0.41.101 — Avisos y mensualidades pendientes comparten el rojo de atención. */
:is(.raa-admin,.raa-manager-content) .raa-payment-student.has-pending-payments{
  border-color:var(--gc-attention-line);
}
:is(.raa-admin,.raa-manager-content) .raa-payment-student.has-pending-payments>summary{
  background:var(--gc-attention-soft);
}
:is(.raa-admin,.raa-manager-content) .raa-payment-student.has-pending-payments>summary>span:last-of-type small{
  color:var(--gc-attention-text);
}

/* 0.41.103 — Perfil: fotografía centrada y acciones con identidad común. */
body.raa-private-area-page #raa-app .raa-profile-form .raa-profile-photo{
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
body.raa-private-area-page #raa-app .raa-profile-form .raa-student-photo-copy{
  width:100%;
  justify-items:center!important;
  text-align:center!important;
}
body.raa-private-area-page #raa-app .raa-profile-form .raa-student-photo-copy>button{
  justify-self:center!important;
  max-width:100%;
}
body.raa-private-area-page #raa-app .raa-profile-form :is(button[type=submit],[data-profile-camera]){
  border:0!important;
  background:linear-gradient(135deg,var(--gc-primary),#7947e9)!important;
  color:#fff!important;
  box-shadow:0 6px 15px rgba(97,94,232,.18)!important;
  cursor:pointer;
}
body.raa-private-area-page #raa-app .raa-profile-form :is(button[type=submit],[data-profile-camera]):is(:hover,:focus-visible){
  background:linear-gradient(135deg,var(--gc-primary-dark),#6939dd)!important;
  color:#fff!important;
}
body.raa-private-area-page #raa-app #raa-student-profile>.raa-collapsible-body .raa-profile-form>button[type=submit]{
  justify-self:center!important;
}
body.raa-private-area-page #raa-app #raa-student-profile>summary .raa-profile-summary-copy h2,
body.raa-private-area-page #raa-app #raa-student-profile>summary .raa-profile-summary-copy>span{
  white-space:normal!important;
  text-overflow:clip!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
body.raa-private-area-page #raa-app #raa-student-profile>summary .raa-profile-summary-copy h2{
  color:var(--gc-primary)!important;
}

/* 0.41.104 — Selector y cámara comparten las acciones corporativas. */
body.raa-private-area-page .raa-profile-photo-dialog .raa-profile-camera-actions>.raa-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--gc-button-height)!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,var(--gc-primary),#7947e9)!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:center!important;
}
body.raa-private-area-page .raa-profile-photo-dialog .raa-profile-camera-actions>.raa-button:is(:hover,:focus-visible){
  background:linear-gradient(135deg,var(--gc-primary-dark),#6939dd)!important;
}
body.raa-private-area-page .raa-profile-photo-dialog .raa-profile-camera-actions>.raa-button:disabled{
  opacity:.55;
}

/* 0.41.105 — Separación entre avatar e identidad del alumno en móvil. */
@media(max-width:782px){
  :is(.raa-admin,.raa-manager-content) .raa-mobile-student-list .raa-student-list-person{
    gap:var(--gc-gap-sm,12px)!important;
  }
}

/* Los controles de cámara ocultos conservan su estado frente al estilo de botón. */
body.raa-private-area-page .raa-profile-photo-dialog .raa-profile-camera-actions>button[hidden]{
  display:none!important;
}

/* 0.41.111 — Tres recuadros de tamaño de letra, como en la presentación del producto. */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-student-text-placement [data-raa-text-panel]{
    background:#eeebf7;
  }
  body.raa-private-area-page #raa-app .raa-student-text-placement .raa-student-text-options{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.raa-private-area-page #raa-app .raa-student-text-placement .raa-student-text-options>button{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:88px!important;
    margin:0!important;
    padding:13px 5px!important;
    border:1px solid #d4cce7!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#6d647e!important;
    box-shadow:none!important;
    text-align:center!important;
  }
  body.raa-private-area-page #raa-app .raa-student-text-placement .raa-student-text-options>button[aria-pressed="true"]{
    border-color:var(--gc-primary)!important;
    background:#fff!important;
    color:var(--gc-primary)!important;
    box-shadow:0 3px 10px rgba(53,40,81,.04)!important;
  }
  body.raa-private-area-page #raa-app .raa-student-text-options .raa-text-size-sample{
    display:block!important;
    font-family:var(--gc-font-family)!important;
    font-weight:400!important;
    line-height:1!important;
  }
  body.raa-private-area-page #raa-app .raa-student-text-options [data-raa-text-level="0"] .raa-text-size-sample{font-size:20px!important}
  body.raa-private-area-page #raa-app .raa-student-text-options [data-raa-text-level="2"] .raa-text-size-sample{font-size:26px!important}
  body.raa-private-area-page #raa-app .raa-student-text-options [data-raa-text-level="4"] .raa-text-size-sample{font-size:32px!important}
  body.raa-private-area-page #raa-app .raa-student-text-options .raa-text-size-label{
    display:block;
    max-width:100%;
    font-size:12px;
    font-weight:500;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
}

/* 0.41.112 — Tamaño de letra siempre visible, sin desplegable ni contenedor. */
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-student-text-placement .raa-student-text-tools{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.raa-private-area-page #raa-app .raa-student-text-placement .raa-text-size-caption{
    margin:8px 0 0!important;
    padding:0!important;
    background:transparent!important;
    color:var(--gc-text-soft)!important;
    font-size:12px;
    font-weight:400!important;
    line-height:1.4;
    text-align:center!important;
  }
}

/* 0.41.113 — Cerrar sesión se encuentra al final de Mi perfil. */
body.raa-private-area-page #raa-app .raa-profile-session-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--gc-line);
}
body.raa-private-area-page #raa-app .raa-profile-session-actions>.raa-profile-logout{
  border:1px solid var(--gc-danger)!important;
  background:var(--gc-danger)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.raa-private-area-page #raa-app .raa-profile-session-actions>.raa-profile-logout:is(:hover,:focus-visible){
  border-color:#8f1c14!important;
  background:#8f1c14!important;
  color:#fff!important;
}
@media(max-width:782px){
  body.raa-private-area-page #raa-app .raa-profile-session-actions>.raa-profile-logout{width:100%!important}
}

/* 0.41.115 — El bloque de acceso aporta el espacio; Mi perfil mantiene su regla común. */
body.raa-private-area-page #raa-app>.raa-profile-gate{
  margin-bottom:var(--gc-gap-md)!important;
}
@media(max-width:782px){
  body.raa-private-area-page #raa-app>.raa-profile-gate{
    margin-bottom:var(--gc-module-gap-mobile)!important;
  }
}
/* Selector de tarifa compartido: + / − y disponibilidad semanal por turno. */
:is(.raa-admin,.raa-manager-content) .raa-plan-field{display:grid;gap:7px;grid-column:1/-1;min-width:0}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-choice{min-width:0;width:100%;border:1px solid var(--gc-line);border-radius:9px;background:var(--gc-surface)}
:is(.raa-admin,.raa-manager-content) :is(.raa-plan-assignment-choice,.raa-plan-capacity-details)>summary{display:flex!important;align-items:center;justify-content:space-between;gap:14px;list-style:none!important;cursor:pointer;padding:13px 15px;min-height:50px;box-sizing:border-box}
:is(.raa-admin,.raa-manager-content) :is(.raa-plan-assignment-choice,.raa-plan-capacity-details)>summary::marker{content:''!important;font-size:0!important}
:is(.raa-admin,.raa-manager-content) :is(.raa-plan-assignment-choice,.raa-plan-capacity-details)>summary::-webkit-details-marker{display:none!important}
:is(.raa-admin,.raa-manager-content) :is(.raa-plan-assignment-choice,.raa-plan-capacity-details)>summary::after{content:'+'!important;flex:0 0 25px;text-align:center;color:var(--gc-primary);font-size:24px;font-weight:400;line-height:1}
:is(.raa-admin,.raa-manager-content) :is(.raa-plan-assignment-choice,.raa-plan-capacity-details)[open]>summary::after{content:'−'!important}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-choice>summary>span{min-width:0;overflow-wrap:anywhere}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-list{max-height:520px;overflow:auto;padding:0 12px 12px;border-top:1px solid var(--gc-line);overscroll-behavior:contain}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;min-width:0;cursor:pointer;padding:14px 10px;margin:0!important;border-radius:7px;line-height:1.5}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option:has(input:checked){background:var(--gc-primary-soft)}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option input[type=radio]{flex:0 0 18px!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:3px 0 0!important;accent-color:var(--gc-primary)}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option strong{font-size:15px;font-weight:800}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option small{font-size:13px;color:var(--gc-text-soft);font-weight:400}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-item{border-top:1px solid var(--gc-line);padding:4px 0 9px}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity{font-size:13px;font-weight:600}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-choice .has-places{color:#28784b}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-choice .is-full{color:var(--gc-danger)}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-help{margin:10px 0 15px;padding:12px;background:var(--gc-primary-soft);border-radius:7px;color:var(--gc-text-soft);font-size:12px;font-weight:400;line-height:1.6}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-warning{margin:7px 10px;font-size:12px;font-weight:600;line-height:1.5;color:var(--gc-danger)}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-details{margin:0 10px;border:0;background:transparent}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-details>summary{min-height:42px;padding:8px 0;color:var(--gc-primary);font-size:13px;font-weight:600}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--gc-line)}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns>div>span{display:grid;gap:3px;min-width:0}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns strong{font-size:13px}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns small{font-size:12px;color:var(--gc-text-soft)}
:is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns b{font-size:12px;text-align:right;flex:0 0 auto}
@media(max-width:782px){
 :is(.raa-admin,.raa-manager-content) .raa-plan-assignment-list{max-height:60vh;padding:0 8px 10px}
 :is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option{padding:12px 7px}
 :is(.raa-admin,.raa-manager-content) .raa-plan-capacity-turns>div{align-items:flex-start}
}

/* 0.41.116 — Una única referencia de disponibilidad en cada tarifa. */
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option .raa-plan-capacity{
  display:inline-block;
  justify-self:start;
  max-width:100%;
  padding:5px 9px;
  border-radius:7px;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
  box-sizing:border-box;
}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option .raa-plan-capacity.has-places{background:#eaf6ef;color:#28784b}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option .raa-plan-capacity.is-full{background:var(--gc-attention-soft);color:var(--gc-attention-text)}
:is(.raa-admin,.raa-manager-content) .raa-plan-assignment-option .raa-plan-capacity.is-date{background:var(--gc-primary-soft);color:var(--gc-primary)}

/* Tarifa y horario en un mismo paso. */
.raa-admin .raa-student-schedule-editor{grid-column:1/-1;width:100%;min-width:0}
.raa-admin .raa-student-schedule-editor .raa-fixed-schedule-box{margin:0!important}
.raa-admin .raa-fixed-slot:not(.is-full){background:#edf8f0!important;border-color:#bddfc7!important;color:#234d32!important}
.raa-admin .raa-fixed-slot.is-selected{background:#d6eddf!important;border-color:#31804e!important;box-shadow:inset 0 0 0 1px #31804e}
.raa-admin .raa-fixed-slot.is-full{background:#f0f1f3!important;border-color:#d6d9de!important;color:#727780!important}
.raa-admin .raa-anamnesis-admin{background:#edf5fc!important;border-color:#c9dff0!important}

.raa-admin .raa-fixed-slot.is-selected small{color:#234d32!important}
.raa-admin .raa-fixed-slot.is-selected input{accent-color:#31804e!important}

/* Radios del horario: círculo y texto forman siempre una opción. */
.raa-admin .raa-fixed-schedule-box .raa-schedule-mode{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.raa-admin .raa-fixed-schedule-box .raa-schedule-mode>label{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:8px;flex:0 0 auto;width:auto!important;max-width:100%;white-space:nowrap;box-sizing:border-box}
.raa-admin .raa-fixed-schedule-box .raa-current-month-payment>label{display:flex!important;flex-direction:row!important;align-items:flex-start;justify-content:flex-start;gap:10px;width:100%;margin:12px 0;line-height:1.5;text-align:left}
.raa-admin .raa-fixed-schedule-box .raa-current-month-payment>label>span{display:block;flex:1;min-width:0}
.raa-admin .raa-fixed-schedule-box :is(.raa-schedule-mode,.raa-current-month-payment) input[type=radio]{display:inline-block!important;position:static!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;align-self:flex-start;box-sizing:border-box}
.raa-admin .raa-fixed-schedule-box .raa-schedule-mode input[type=radio]{align-self:center;margin:0!important}

/* Cierre de la ficha, después de anamnesis y compensaciones. */
.raa-admin .raa-student-profile-footer{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px;width:100%;box-sizing:border-box}
.raa-admin .raa-student-profile-footer>label{width:100%;min-width:0;box-sizing:border-box;font-weight:600}
.raa-admin .raa-student-profile-footer .raa-health-consent input[type=checkbox]{display:block!important;flex:0 0 22px!important;width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;margin:1px 0 0!important;padding:0!important;opacity:1!important;appearance:auto!important;accent-color:#615ee8}
.raa-admin .raa-student-profile-footer .raa-health-consent input[type=checkbox]:checked::before{content:none!important;display:none!important}
.raa-admin .raa-student-profile-footer .raa-form-actions{grid-column:1/-1}

/* Tarifa comparte la cabecera de los bloques de la ficha. */
:is(.raa-admin,.raa-manager-content) details.raa-plan-assignment-block{margin:0!important;border-radius:var(--gc-radius-lg,18px);max-width:none}
:is(.raa-admin,.raa-manager-content) details.raa-plan-assignment-block>summary{padding:0!important;min-height:34px}
:is(.raa-admin,.raa-manager-content) details.raa-plan-assignment-block .raa-plan-assignment-list{margin-top:18px}

/* Notas de campo discretas y anamnesis de lectura directa. */
.raa-admin :is(.raa-student-profile-form,.raa-add-student-form) .raa-field-caption{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.35}
.raa-admin :is(.raa-student-profile-form,.raa-add-student-form) .raa-field-caption>small{display:inline!important;font-size:12px!important;font-weight:400!important;color:#858995!important;line-height:inherit;white-space:nowrap}
.raa-admin .raa-student-anamnesis-readonly{width:100%;max-width:none;margin:18px 0;padding:0!important;border:0!important;background:transparent!important;box-sizing:border-box;font-family:var(--gc-font-family);font-size:16px;line-height:1.35}
.raa-admin .raa-student-anamnesis-readonly .raa-student-field-heading{margin:0 0 6px;color:var(--gc-text);font-family:inherit;font-size:16px!important;font-weight:600!important;line-height:1.35}
.raa-admin .raa-student-readonly-text{min-height:160px;padding:12px 13px;border:1px solid #bddfc7;border-radius:8px;background:#edf8f0;color:var(--gc-text);box-sizing:border-box;font-family:inherit;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.raa-admin .raa-student-anamnesis-meta{margin:7px 0 0;font-size:13px;font-weight:400;color:#777d87;line-height:1.5}

/* Cancelar la edición: botón visible con la misma presencia en PC y móvil. */
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions>a.raa-cancel-edit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:var(--gc-button-height,46px)!important;padding:10px 18px!important;border:1px solid var(--gc-danger,#b42318)!important;border-radius:12px!important;background:var(--gc-danger,#b42318)!important;color:#fff!important;font-family:var(--gc-font-family);font-size:14px!important;font-weight:700!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;box-sizing:border-box!important;cursor:pointer}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions>a.raa-cancel-edit:hover{filter:brightness(.92)}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions>a.raa-cancel-edit:focus-visible{outline:3px solid var(--gc-danger,#b42318)!important;outline-offset:3px}
@media(max-width:782px){
 body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-form-actions>a.raa-cancel-edit{width:100%!important;min-height:52px!important}
}

.raa-admin .raa-student-profile-form>.raa-student-anamnesis-readonly{grid-column:1/-1;margin:0}

/* Consentimiento con estado visible, sin amarillo ni colores heredados. */
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-health-consent{border-color:var(--gc-attention-line,#e5b9c0)!important;background:var(--gc-attention-soft,#fff3f5)!important;color:var(--gc-attention-text,#a5273e)!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-health-consent:has(input:checked){border-color:#bddfc7!important;background:#edf8f0!important;color:#234d32!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-health-consent :is(span,small,strong){color:inherit!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-health-consent input[type=checkbox]{accent-color:var(--gc-attention-text,#a5273e)!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-health-consent:has(input:checked) input[type=checkbox]{accent-color:var(--gc-success,#25845a)!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-student-active-toggle :is(span,strong){color:var(--gc-text,#242331)!important}
body :is(.raa-admin,.raa-manager-content) .raa-edit-box .raa-student-profile-footer .raa-student-active-toggle small{color:var(--gc-text-soft,#686575)!important}

/* Promociones: estados y acciones del máster. */
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-reward-status.is-available{background:#eaf6ef!important;color:#23613c!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-reward-status:is(.is-used,.is-expired){background:#edf0f4!important;color:#545b66!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-reward-status.is-prepared{background:#edf5fc!important;color:#265b86!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-table-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:175px}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-table-actions form{width:100%;margin:0}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-table-actions .button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:46px!important;padding:12px 16px!important;box-sizing:border-box;font-size:14px!important;font-weight:700;line-height:1.35!important;white-space:normal;text-align:center;border:1px solid var(--gc-danger)!important;border-radius:12px!important;background:var(--gc-danger)!important;color:#fff!important;text-decoration:none!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-rewards-table .raa-table-actions .raa-reward-delete{background:#fff!important;color:var(--gc-danger)!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-reward-auto-note{display:block;color:var(--gc-text-soft);font-size:13px;line-height:1.4}
/* Regalos del alumno: mismo sistema de títulos, controles y +/−. */
body.raa-private-area-page #raa-app .raa-loyalty-panel>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;padding:22px 26px!important}
body.raa-private-area-page #raa-app .raa-loyalty-panel>summary h2{margin:0!important;font-family:var(--gc-font-family)!important;font-size:var(--gc-title-module-size)!important;font-weight:800!important;line-height:1.25!important;color:var(--gc-text)!important}
body.raa-private-area-page #raa-app .raa-loyalty-panel>summary::after{content:'+'!important;position:static!important;display:grid!important;place-items:center!important;flex:0 0 34px;width:34px;height:34px;border:0!important;transform:none!important;font-size:25px;line-height:1;color:var(--gc-primary)}
body.raa-private-area-page #raa-app .raa-loyalty-panel[open]>summary::after{content:'−'!important}
body.raa-private-area-page #raa-app .raa-loyalty-card h3{font-family:var(--gc-font-family)!important;font-size:20px!important;font-weight:800!important;line-height:1.3!important;color:var(--gc-text)!important}
body.raa-private-area-page #raa-app .raa-gift-group-title{font-size:18px!important;font-weight:700!important;color:var(--gc-text)!important}
body.raa-private-area-page #raa-app .raa-loyalty-card select{display:block;width:100%!important;min-height:50px!important;padding:12px 14px!important;border:1px solid var(--gc-line)!important;border-radius:var(--gc-radius-sm)!important;background:#fff!important;color:var(--gc-text)!important;font-family:var(--gc-font-family)!important;font-size:16px!important;box-sizing:border-box}
body.raa-private-area-page #raa-app .raa-loyalty-card .raa-gift-actions{display:flex;gap:12px;flex-wrap:wrap}
body.raa-private-area-page #raa-app .raa-loyalty-card .raa-gift-actions>button{min-height:50px!important;padding:12px 18px!important;border-radius:12px!important;font-size:16px!important;font-weight:700!important;line-height:1.3!important}
@media(max-width:782px){
 body.raa-private-area-page #raa-app .raa-loyalty-panel>summary{padding:18px!important}
 body.raa-private-area-page #raa-app .raa-loyalty-panel>summary h2{font-size:var(--gc-title-module-mobile-size)!important}
 body.raa-private-area-page #raa-app .raa-loyalty-panel .raa-loyalty-grid{grid-template-columns:minmax(0,1fr)}
 body.raa-private-area-page #raa-app .raa-loyalty-card{padding:18px;min-width:0}
 body.raa-private-area-page #raa-app .raa-loyalty-card .raa-gift-actions>button{width:100%!important}
}

/* Regalos: barra de la misma anchura y altura, con identidad dorada propia. */
body.raa-private-area-page #raa-app>details#raa-promotions{width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid #ccb57e!important;background:linear-gradient(115deg,#faf3df 0%,#ead4a1 48%,#fffaf0 100%)!important;box-shadow:0 8px 24px rgba(133,103,43,.08)!important}
body.raa-private-area-page #raa-app>details#raa-promotions>summary{width:100%!important;min-height:72px!important;padding:22px 26px!important;gap:16px!important;box-sizing:border-box!important;justify-content:flex-start!important}
body.raa-private-area-page #raa-app>details#raa-promotions>summary h2{flex:1 1 auto!important;min-width:0!important;margin:0!important}
body.raa-private-area-page #raa-app>details#raa-promotions>summary::after{flex:0 0 34px!important;width:34px!important;height:34px!important;margin:0 0 0 auto!important;box-sizing:border-box!important;color:#806025!important}
body.raa-private-area-page #raa-app>details#raa-promotions>.raa-collapsible-body{border-top-color:#dfcda5!important;background:rgba(255,255,255,.78)}
body.raa-private-area-page #raa-app>details#raa-promotions .raa-loyalty-card .raa-class-choice-list{z-index:30}
@media(max-width:782px){
 body.raa-private-area-page #raa-app>details#raa-promotions>summary{padding:18px var(--gc-module-padding-mobile)!important}
}

body.raa-private-area-page #raa-app>details#raa-promotions[open]{position:relative;z-index:5;overflow:visible!important}
body.raa-private-area-page #raa-app>details#raa-promotions>.raa-collapsible-body{border-radius:0 0 var(--gc-radius-lg,18px) var(--gc-radius-lg,18px)}

/* Asistencia: las clases regalo conservan su identidad dorada. */
body :is(.raa-admin,.raa-manager-content) .raa-today-roster-student.is-reward{border-color:#d7bf89!important;background:linear-gradient(115deg,#faf3df,#f0dfb9 55%,#fffaf0)!important}
body :is(.raa-admin,.raa-manager-content) .raa-today-roster-student.is-reward .raa-status.is-reward{border:1px solid #806025!important;background:#806025!important;color:#fff!important;font-weight:700!important}
body :is(.raa-admin,.raa-manager-content) .raa-today-roster-student.is-reward .raa-reward-attended{color:#705426!important}

/* Perfil del alumno: mismas notas en línea que en los formularios del máster. */
body.raa-private-area-page #raa-app .raa-profile-form .raa-field-caption{display:flex!important;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.35}
body.raa-private-area-page #raa-app .raa-profile-form .raa-field-caption>small{display:inline!important;margin:0!important;font-size:12px!important;font-weight:400!important;color:#858995!important;line-height:inherit;white-space:nowrap;letter-spacing:normal!important;text-transform:none!important}
body.raa-private-area-page #raa-app .raa-profile-form>label>.raa-field-help{display:block!important;margin:0!important;font-size:12px!important;font-weight:400!important;color:#777d87!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}

/* Caducidad visible en cada modalidad de regalo. */
.raa-admin .raa-reward-validity{display:grid;gap:7px;min-width:0;font-weight:600}
.raa-admin .raa-reward-validity select{width:100%;max-width:100%;min-height:46px;box-sizing:border-box}
.raa-admin .raa-reward-validity small{font-size:12px;font-weight:400;line-height:1.4;color:var(--gc-text-soft)}
.raa-admin .raa-reward-preset form>.raa-reward-validity{grid-column:1/-1}

/* QR de regalos y lector del máster: controles locales y confirmación visible. */
.raa-reward-qr-code{display:grid;justify-items:center;gap:8px;min-width:125px}
.raa-reward-qr-code img{display:block;width:112px;height:112px;max-width:100%;background:#fff;border-radius:8px}
.raa-reward-qr-code code{font-size:13px;overflow-wrap:anywhere;text-align:center}
.raa-reward-redeemed-date{display:block;margin-top:7px;font-size:12px;color:var(--gc-text-soft)}
body.raa-private-area-page #raa-app .raa-student-gift-qr{display:grid;justify-items:center;gap:10px;margin:8px 0;text-align:center}
body.raa-private-area-page #raa-app .raa-student-gift-qr img{display:block;width:220px;height:auto;max-width:100%;aspect-ratio:1;background:#fff;border-radius:10px}
body.raa-private-area-page #raa-app .raa-student-gift-qr small{max-width:320px;font-size:13px;font-weight:400;line-height:1.5;color:var(--gc-text-soft)}
.raa-admin .raa-reward-qr-reader [hidden]{display:none!important}
.raa-admin .raa-reward-qr-camera-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.raa-admin .raa-reward-qr-reader video{display:block;width:100%;max-width:560px;max-height:380px;object-fit:cover;border-radius:var(--gc-radius-md);background:#111;margin:16px 0}
.raa-admin .raa-reward-qr-reader [data-reward-qr-lookup]{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.raa-admin .raa-reward-qr-reader [data-reward-qr-lookup]>label{display:grid;gap:7px;flex:1 1 260px;font-weight:600}
.raa-admin .raa-reward-qr-reader [data-reward-qr-lookup] input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--gc-line);border-radius:10px;box-sizing:border-box}
.raa-admin .raa-reward-qr-message{color:var(--gc-text);line-height:1.5}
.raa-admin .raa-reward-qr-message.is-error{color:var(--gc-danger);font-weight:600}
.raa-admin .raa-reward-qr-review{padding:20px;border:1px solid #d7bf89;border-radius:var(--gc-radius-md);background:#fffaf0;margin:18px 0;max-width:850px}
.raa-admin .raa-reward-qr-review h3{font-family:var(--gc-font-family);font-size:20px;font-weight:800;margin:7px 0 16px}
.raa-admin .raa-reward-qr-review p{line-height:1.5}
/* Acciones del lector: identidad común, sin botones nativos grises ni dorados. */
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:50px!important;padding:12px 18px!important;box-sizing:border-box!important;
 border:1px solid var(--gc-primary,#6256e8)!important;border-radius:12px!important;
 background:var(--gc-primary,#6256e8)!important;color:#fff!important;
 font-family:var(--gc-font-family)!important;font-size:14px!important;font-weight:700!important;
 line-height:1.3!important;text-align:center!important;text-decoration:none!important;
 white-space:normal!important;box-shadow:none!important;cursor:pointer;
}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button:is(:hover,:focus-visible){
 background:var(--gc-primary-dark,#4e43c8)!important;border-color:var(--gc-primary-dark,#4e43c8)!important;
}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button[data-reward-qr-stop]{
 background:var(--gc-danger,#b42318)!important;border-color:var(--gc-danger,#b42318)!important;
}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button[data-reward-qr-stop]:is(:hover,:focus-visible){
 background:#8f1d18!important;border-color:#8f1d18!important;
}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button:focus-visible{outline:3px solid var(--gc-primary-soft,#f1efff)!important;outline-offset:3px}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button:disabled{opacity:.6;cursor:wait}
body .raa-admin.raa-rewards-page .raa-reward-qr-reader button.button[hidden]{display:none!important}
@media(max-width:782px){
 .raa-admin .raa-reward-qr-reader [data-reward-qr-lookup]{display:grid;grid-template-columns:minmax(0,1fr)}
 .raa-admin .raa-reward-qr-reader .button{width:100%;min-height:50px}
 .raa-admin .raa-reward-qr-review{padding:16px}
}

/* Selectores de Promociones: +/− y ancho común en todos los formularios. */
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page select.raa-enhanced-reward-select[hidden]{display:none!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice{position:relative;display:block;width:100%;max-width:100%;min-width:0;margin:0!important;padding:0!important;border:1px solid var(--gc-line)!important;border-radius:12px!important;background:#fff!important;box-sizing:border-box!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;width:100%!important;min-height:50px!important;padding:12px 16px!important;box-sizing:border-box!important;list-style:none!important;cursor:pointer;font-size:14px!important;line-height:1.4!important;font-weight:500!important;color:var(--gc-text)!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice>summary::-webkit-details-marker{display:none!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice>summary::marker{content:''!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice>summary::before,
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice>summary::after{content:none!important;display:none!important;border:0!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice-symbol{display:grid!important;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:0!important;color:var(--gc-primary)!important;font-size:25px!important;font-weight:400!important;line-height:1!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice-options{position:absolute;z-index:50;top:calc(100% + 7px);left:0;right:0;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--gc-line);border-radius:12px;background:#fff;box-shadow:0 10px 25px rgba(36,35,49,.14);box-sizing:border-box;overscroll-behavior:contain}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice:not([open])>.raa-select-choice-options{display:none!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice .raa-select-choice-option{display:block!important;width:100%!important;min-height:44px!important;margin:0!important;padding:11px 12px!important;border:0!important;border-radius:7px!important;background:#fff!important;color:var(--gc-text)!important;box-shadow:none!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important;text-align:left!important;white-space:normal;cursor:pointer}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice .raa-select-choice-option:is(:hover,:focus-visible,[aria-selected="true"]){background:var(--gc-primary-soft)!important;color:var(--gc-primary-dark)!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-select-choice:is(:focus-within,.is-invalid){outline:2px solid var(--gc-primary);outline-offset:1px}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page :is(.raa-reward-preset,.raa-admin-box):has(.raa-select-choice[open]){position:relative;z-index:20;overflow:visible!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-reward-preset form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
body :is(.raa-admin,.raa-manager-content) .raa-rewards-page .raa-reward-preset form>label{display:grid;gap:7px;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}

/* 0.41.136 — Signos visibles y cierre real de todos los bloques del alumno. */
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary{list-style:none!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary::marker{content:""!important;font-size:0!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary::-webkit-details-marker{display:none!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary>.raa-disclosure-toggle{
 display:grid!important;place-items:center!important;flex:0 0 34px!important;
 width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
 border:0!important;border-radius:0!important;background:transparent!important;
 color:var(--gc-primary,#6256e8)!important;font-size:25px!important;font-weight:400!important;
 line-height:1!important;transform:none!important;box-sizing:border-box!important;
}
body.raa-private-area-page #raa-app .raa-mobile-collapsible>summary>.raa-disclosure-toggle{margin:0 0 0 auto!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary>.raa-disclosure-toggle::before{content:"+"!important;display:block!important;color:inherit!important;font:inherit!important;line-height:1!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)[open]>summary>.raa-disclosure-toggle::before{content:"−"!important}
body.raa-private-area-page #raa-app details.raa-mobile-collapsible:not([open])>.raa-mobile-collapsible-body{display:none!important}
body.raa-private-area-page #raa-app :is(.raa-personal-data,.raa-mobile-collapsible)>summary:focus-visible{outline:3px solid var(--gc-primary,#6256e8);outline-offset:-4px;border-radius:var(--gc-radius-lg,18px)}

/* 0.41.137 — Clase extra siempre visible; composición amplia solo en escritorio. */
@media(min-width:783px){
 body.raa-private-area-page #raa-app #raa-extra-classes .raa-extra-selector{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,auto)!important;
  align-items:end!important;gap:18px!important;width:100%!important;
  padding:22px!important;box-sizing:border-box!important;
 }
 body.raa-private-area-page #raa-app #raa-extra-classes .raa-extra-selector>.raa-form-field{width:100%!important;min-width:0!important}
 body.raa-private-area-page #raa-app #raa-extra-classes .raa-extra-selector>.raa-student-action-button{
  width:100%!important;min-height:50px!important;margin:0!important;padding:12px 22px!important;
 }
}

/* 0.41.138 — Salir en cabecera de escritorio y dentro del perfil en móvil. */
@media(min-width:783px){
 body.raa-private-area-page #raa-app .raa-student-header.raa-student-header-unified{grid-template-columns:minmax(0,1fr) auto!important}
 body.raa-private-area-page #raa-app .raa-student-header .raa-desktop-logout{display:inline-flex!important;justify-self:end;flex:0 0 auto}
 body.raa-private-area-page #raa-app .raa-profile-session-actions{display:none!important}
}
@media(max-width:782px){
 body.raa-private-area-page #raa-app .raa-student-header .raa-desktop-logout{display:none!important}
}

/* 0.41.140 — Alta compacta y etiquetas con la norma común de formularios. */
@media(min-width:783px){
 body .raa-shell #raa-login.raa-login{
  width:100%!important;max-width:580px!important;margin-inline:auto!important;
  padding:30px!important;box-sizing:border-box!important;
 }
 body #raa-login .raa-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
body #raa-login .raa-register-grid .raa-field-caption{
 display:flex!important;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.35;
}
body #raa-login .raa-register-grid .raa-field-caption>small{
 display:inline!important;margin:0!important;font-family:var(--gc-font-family)!important;font-size:12px!important;font-weight:300!important;font-style:normal!important;
 color:#858995!important;line-height:inherit!important;white-space:nowrap;letter-spacing:normal!important;text-transform:none!important;
}
body #raa-login .raa-register-grid>label{min-width:0}
body #raa-login .raa-register-grid>label>input{width:100%;max-width:100%;box-sizing:border-box}

/* 0.41.143 — Solicitudes: estado arriba a la derecha; identidad con ancho útil. */
body :is(.raa-admin,.raa-manager-content) details.raa-admin-box.raa-request-card-compact>summary{
 display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;
 grid-template-rows:auto auto!important;align-items:center!important;gap:10px 14px!important;
 padding:18px 22px!important;min-height:0!important;box-sizing:border-box!important;
}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary>.raa-status{
 grid-column:1/-1!important;grid-row:1!important;justify-self:end!important;align-self:start!important;
 width:auto!important;max-width:100%;margin:0!important;padding:5px 11px!important;
 font-family:var(--gc-font-family)!important;font-size:12px!important;font-weight:700!important;
 line-height:1.35!important;white-space:nowrap!important;border-radius:999px!important;
}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary>.raa-request-identity{
 grid-column:1!important;grid-row:2!important;display:grid!important;gap:5px!important;min-width:0!important;
}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary>.raa-request-identity>strong{
 margin:0!important;font-size:17px!important;line-height:1.35!important;overflow-wrap:anywhere;
}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary .raa-request-contact{
 display:flex!important;flex-wrap:wrap!important;gap:4px 14px!important;margin:0!important;
 color:var(--gc-text-soft)!important;font-size:13px!important;font-weight:400!important;line-height:1.45!important;
}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary .raa-request-email{min-width:0;overflow-wrap:anywhere}
body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary .raa-request-phone{white-space:nowrap}
body :is(.raa-admin,.raa-manager-content) details.raa-admin-box.raa-request-card-compact>summary::after{
 grid-column:2!important;grid-row:2!important;justify-self:end!important;align-self:center!important;margin:0!important;
}
@media(max-width:782px){
 body :is(.raa-admin,.raa-manager-content) details.raa-admin-box.raa-request-card-compact>summary{padding:16px!important;gap:10px 10px!important}
 body :is(.raa-admin,.raa-manager-content) details.raa-request-card-compact>summary .raa-request-contact{flex-direction:column!important;align-items:flex-start!important}
}

.raa-maintenance-options .raa-field-caption{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.raa-maintenance-options .raa-field-caption>small{font-size:12px!important;font-weight:300!important;color:#858995!important;white-space:nowrap}

/* 0.41.145 — Mantenimiento: composición y controles independientes del tema. */
body #raa-maintenance-access{
 width:min(1080px,calc(100% - 40px))!important;max-width:1080px!important;
 margin:28px auto!important;padding:0!important;text-align:left!important;
 font-family:var(--gc-font-family)!important;color:var(--gc-text)!important;
}
body #raa-maintenance-access>.raa-card{
 width:100%!important;max-width:none!important;margin:0!important;padding:30px!important;
 box-sizing:border-box!important;border:1px solid var(--gc-line)!important;border-radius:18px!important;
 background:#fff!important;box-shadow:0 8px 24px rgba(42,43,92,.045)!important;text-align:left!important;
}
body #raa-maintenance-access .raa-maintenance-heading{
 display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;
 margin:0 0 24px!important;padding:0 0 24px!important;border-bottom:1px solid var(--gc-line)!important;
}
body #raa-maintenance-access .raa-maintenance-heading>div{min-width:0}
body #raa-maintenance-access .raa-eyebrow{
 margin:0 0 7px!important;color:var(--gc-primary)!important;font-family:var(--gc-font-family)!important;
 font-size:11px!important;font-weight:800!important;line-height:1.3!important;letter-spacing:.12em!important;
}
body #raa-maintenance-access h1{
 margin:0 0 8px!important;font-family:var(--gc-font-family)!important;font-size:29px!important;
 font-weight:800!important;line-height:1.2!important;letter-spacing:-.025em!important;color:var(--gc-text)!important;text-align:left!important;
}
body #raa-maintenance-access .raa-maintenance-heading p:not(.raa-eyebrow){
 margin:0!important;color:var(--gc-text-soft)!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;
}
body #raa-maintenance-access .raa-maintenance-options{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin:0!important;
}
body #raa-maintenance-access .raa-maintenance-options>form{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;align-content:start!important;
 margin:0!important;padding:24px!important;border:1px solid #e0dcf2!important;border-radius:14px!important;
 background:#faf9ff!important;box-sizing:border-box!important;min-width:0!important;
}
body #raa-maintenance-access h2{
 margin:0!important;font-family:var(--gc-font-family)!important;font-size:20px!important;font-weight:700!important;
 line-height:1.3!important;letter-spacing:-.015em!important;text-align:left!important;color:var(--gc-text)!important;
}
body #raa-maintenance-access .raa-maintenance-options label{display:grid!important;gap:8px!important;margin:0!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important}
body #raa-maintenance-access .raa-field-caption{display:flex!important;align-items:baseline;gap:6px;flex-wrap:wrap}
body #raa-maintenance-access .raa-field-caption>small{font-family:var(--gc-font-family)!important;font-size:12px!important;font-weight:300!important;color:#858995!important;line-height:inherit!important;white-space:nowrap}
body #raa-maintenance-access input[type=email]{
 width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;
 height:auto!important;margin:0!important;padding:11px 13px!important;box-sizing:border-box!important;
 border:1px solid #d5d6e2!important;border-radius:10px!important;background:#fff!important;
 color:var(--gc-text)!important;font-family:var(--gc-font-family)!important;font-size:15px!important;font-weight:400!important;line-height:1.4!important;box-shadow:none!important;
}
body #raa-maintenance-access input[type=email]:focus{border-color:var(--gc-primary)!important;outline:3px solid var(--gc-primary-soft)!important;outline-offset:0}
body #raa-maintenance-access .raa-maintenance-options button.raa-button,
body #raa-maintenance-access a.raa-maintenance-admin-link{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;
 margin:0!important;padding:12px 18px!important;box-sizing:border-box!important;border:1px solid var(--gc-primary)!important;
 border-radius:10px!important;background:var(--gc-primary)!important;background-image:none!important;color:#fff!important;
 font-family:var(--gc-font-family)!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;
 letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;text-align:center!important;box-shadow:none!important;cursor:pointer!important;
}
body #raa-maintenance-access .raa-maintenance-options button.raa-button{width:100%!important}
body #raa-maintenance-access a.raa-maintenance-admin-link{flex:0 0 auto;white-space:nowrap;background:#fff!important;color:var(--gc-primary)!important;border-color:#d5cef3!important}
body #raa-maintenance-access .raa-maintenance-options button.raa-button:hover{background:var(--gc-primary-dark)!important;border-color:var(--gc-primary-dark)!important}
body #raa-maintenance-access a.raa-maintenance-admin-link:hover{background:var(--gc-primary-soft)!important}
body #raa-maintenance-access :is(button,a):focus-visible{outline:3px solid #c9bfff!important;outline-offset:3px}
body .raa-maintenance-banner{
 display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1500px;margin:18px auto 24px;padding:16px 22px;
 border:1px solid #d4ccef;border-radius:14px;background:#f1efff;color:#302b49;font-family:var(--gc-font-family);box-sizing:border-box;
}
body .raa-maintenance-banner>div{display:grid;gap:5px;min-width:0}
body .raa-maintenance-banner strong{font-size:16px!important;font-weight:700!important;line-height:1.4!important;overflow-wrap:anywhere}
body .raa-maintenance-banner span{font-size:13px!important;font-weight:400!important;line-height:1.5!important}
body .raa-maintenance-banner>a{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:46px;padding:10px 16px;border:0!important;border-radius:10px;background:var(--gc-primary)!important;color:#fff!important;font-family:var(--gc-font-family)!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;box-sizing:border-box}
body .raa-maintenance-error{padding:14px;border:1px solid var(--gc-danger);border-radius:10px;background:#fff1f0;color:#8f1d18;font-size:14px}
body.raa-maintenance-page .raa-floating-push,body.raa-maintenance-page .raa-read-all{display:none!important}
@media(max-width:782px){
 body #raa-maintenance-access{width:calc(100% - 20px)!important;margin:16px auto!important}
 body #raa-maintenance-access>.raa-card{padding:20px!important}
 body #raa-maintenance-access .raa-maintenance-heading{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}
 body #raa-maintenance-access h1{font-size:25px!important}
 body #raa-maintenance-access .raa-maintenance-options{grid-template-columns:minmax(0,1fr)!important}
 body #raa-maintenance-access .raa-maintenance-options>form{padding:18px!important}
 body .raa-maintenance-banner{margin:12px 10px 20px;padding:16px;align-items:stretch;flex-direction:column}
}

body.wp-admin .wrap.raa-admin.raa-maintenance-admin{font-family:var(--gc-font-family)!important}
body.wp-admin .raa-maintenance-admin>h1{margin:0 0 6px!important;padding:0!important;font-size:28px!important;font-weight:800!important;line-height:1.25!important;color:var(--gc-text)!important}
body.wp-admin .raa-maintenance-admin .raa-maintenance-admin-intro{margin:0 0 24px!important;font-size:14px!important;line-height:1.5!important;color:var(--gc-text-soft)!important}
body.wp-admin .raa-maintenance-admin .raa-maintenance-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid var(--gc-line);border-radius:16px;background:#fff;box-sizing:border-box;box-shadow:0 8px 24px rgba(42,43,92,.045)}
body.wp-admin .raa-maintenance-admin .raa-section-kicker{display:block;margin:0 0 7px;color:var(--gc-primary);font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.3}
body.wp-admin .raa-maintenance-admin h2{margin:0 0 7px!important;padding:0!important;font-size:21px!important;font-weight:700!important;line-height:1.3!important;color:var(--gc-text)!important}
body.wp-admin .raa-maintenance-admin .raa-maintenance-launch p{margin:0!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;color:var(--gc-text-soft)!important}
body.wp-admin .raa-maintenance-admin .raa-maintenance-launch>a.button{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:48px!important;height:auto!important;margin:0!important;padding:12px 20px!important;border:1px solid var(--gc-primary)!important;border-radius:10px!important;background:var(--gc-primary)!important;color:#fff!important;font-family:var(--gc-font-family)!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;box-shadow:none!important;text-decoration:none!important;text-align:center;box-sizing:border-box}
body.wp-admin .raa-maintenance-admin .raa-maintenance-launch>a.button:hover{background:var(--gc-primary-dark)!important;border-color:var(--gc-primary-dark)!important}
@media(max-width:782px){body.wp-admin .raa-maintenance-admin .raa-maintenance-launch{align-items:stretch;flex-direction:column;padding:20px}body.wp-admin .raa-maintenance-admin .raa-maintenance-launch>a.button{width:100%}}

/* 0.41.146 — Accesos técnicos exclusivos de la administración de Grado Creativo. */
body.raa-private-area-page .raa-technical-navigation{display:grid;gap:12px;margin:0 0 24px;padding:18px 22px;border:1px solid #d9d2f4;border-radius:15px;background:#f7f5ff;box-sizing:border-box}
body.raa-private-area-page .raa-technical-navigation>span{color:var(--gc-primary);font-family:var(--gc-font-family);font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.3}
body.raa-private-area-page .raa-technical-navigation>div{display:flex;flex-wrap:wrap;gap:10px}
body.raa-private-area-page .raa-technical-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #d6cef2;border-radius:10px;background:#fff;color:var(--gc-primary-dark)!important;font-family:var(--gc-font-family);font-size:14px;font-weight:600;line-height:1.3;text-decoration:none!important;box-sizing:border-box}
body.raa-private-area-page .raa-technical-navigation a:hover,body.raa-private-area-page .raa-technical-navigation a:focus-visible{background:var(--gc-primary)!important;color:#fff!important;border-color:var(--gc-primary)}

/* 0.41.147 — Revisión y retirada individual de compensaciones iniciales. */
body :is(.raa-admin,.raa-manager-content) details.raa-compensation-cleanup{display:block}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-review{padding-top:14px}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-records{list-style:none;margin:18px 0;padding:0}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-record{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;margin:0;border-bottom:1px solid #e8e3ef}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-record>div{min-width:0;overflow-wrap:anywhere}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-record strong{display:block;font-size:15px;color:#25212d}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-record span{display:block;font-size:13px;line-height:1.6;color:#68616e}
body :is(.raa-admin,.raa-manager-content) .raa-compensation-cleanup-all{padding-top:8px}
@media(max-width:782px){
 body :is(.raa-admin,.raa-manager-content) .raa-compensation-record{flex-direction:column;align-items:stretch;gap:12px}
}

/* 0.41.149 — Bloques alineados con su contenedor en WordPress.
   Regla compartida: evita el antiguo límite de 1100 px en las tarjetas principales.
   La ficha de edición conserva sus propias dimensiones. */
body.wp-admin .wrap.raa-admin>.raa-admin-box:not(.raa-edit-box){width:100%;max-width:none;min-width:0;box-sizing:border-box}
body.wp-admin .raa-admin .raa-email-template{width:100%;max-width:none;min-width:0;box-sizing:border-box;margin:14px 0;padding:18px}
body.wp-admin .raa-admin .raa-email-template>summary{cursor:pointer}
body.wp-admin .raa-admin .raa-email-template>summary>.raa-block-title{min-width:0;overflow-wrap:anywhere}

/* 0.41.150 — Tarjetas de resumen con contorno uniforme, sin franjas.
   Azul de los arcos del escritorio; estados verdes y alertas conservan su significado. */
body{--gc-summary-border-blue:#328fc4;--gc-summary-border-green:#86b49a;--gc-summary-border-alert:#c94f60}
body :is(.raa-admin,.raa-manager-content) .raa-admin-grid>a,
body :is(.raa-admin,.raa-manager-content) .raa-admin-grid>a.raa-dashboard-action-card.has-pending,
body .raa-wp-dashboard-stats>a,
body .raa-technical-grid>article,
body .raa-technical-secondary>article,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a,
body.raa-private-area-page #raa-app .raa-student-plan-overview>article{
 border:1px solid var(--gc-summary-border-blue)!important;
 box-sizing:border-box;
}
body :is(.raa-admin,.raa-manager-content) .raa-admin-grid>a.raa-dashboard-action-card.is-clear,
body .raa-wp-dashboard-stats>a.raa-dashboard-action-card.is-clear,
body .raa-technical-grid>article.is-ok{
 border:1px solid var(--gc-summary-border-green)!important;
}
body .raa-technical-grid>article.is-alert,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending{
 border:1px solid var(--gc-summary-border-alert)!important;
}
body :is(.raa-admin,.raa-manager-content) .raa-admin-grid>a:focus-visible,
body .raa-wp-dashboard-stats>a:focus-visible,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a:focus-visible{
 outline:2px solid var(--gc-summary-border-blue);outline-offset:3px;
}
/* Configuración local de preguntas: campos y acciones corporativos. */
body .raa-technical-secondary .raa-anamnesis-settings-button,
body .raa-anamnesis-settings-page .button{
 display:inline-flex!important;align-items:center;justify-content:center;min-height:46px!important;height:auto!important;padding:11px 18px!important;border:1px solid var(--gc-primary,#713cff)!important;border-radius:10px!important;background:var(--gc-primary,#713cff)!important;color:#fff!important;font-family:var(--gc-font-family)!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important;text-align:center;text-decoration:none!important;box-sizing:border-box;white-space:normal;
}
body .raa-technical-secondary .raa-anamnesis-settings-button:hover,
body .raa-anamnesis-settings-page .button:hover{background:var(--gc-primary-dark,#5424c7)!important}
body .raa-anamnesis-questions-editor{width:100%;max-width:none}
body .raa-anamnesis-questions-editor>.raa-admin-box{width:100%;max-width:none;box-sizing:border-box}
body .raa-anamnesis-question-list{display:grid;gap:18px;padding-top:20px}
body .raa-anamnesis-question-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:0 0 18px;border-bottom:1px solid var(--gc-line,#e2deef);min-width:0}
body .raa-anamnesis-question-editor>label{display:grid;align-content:start;gap:8px;min-width:0;font-size:14px;font-weight:600}
body .raa-anamnesis-question-editor :is(input,textarea){width:100%;max-width:none;min-height:46px;padding:11px 13px;border:1px solid #d9d2e6;border-radius:9px;box-sizing:border-box;font:inherit;background:#fff;color:#25212d}
body .raa-anamnesis-question-editor>.description{grid-column:1/-1;font-size:12px;font-weight:300;color:#76717e}
@media(max-width:782px){body .raa-anamnesis-question-editor{grid-template-columns:1fr}body .raa-anamnesis-settings-page .raa-admin-heading{flex-wrap:wrap}}

/* 0.41.151 — Resumen del alumno con contorno morado, sin franjas. */
body.raa-private-area-page #raa-app .raa-student-quick-summary>a,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending,
body.raa-private-area-page #raa-app .raa-student-plan-overview>article,
body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid>article{
 border:1px solid var(--gc-primary,#6250d6)!important;
}
body.raa-private-area-page #raa-app .raa-student-quick-summary>a:hover,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a:focus,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending:hover,
body.raa-private-area-page #raa-app .raa-student-quick-summary>a.is-recovery-pending:focus{
 border-color:var(--gc-primary-dark,#5424c7)!important;
}
body.raa-private-area-page #raa-app .raa-student-quick-summary>a:focus-visible{
 outline-color:var(--gc-primary,#6250d6);
}

/* 0.41.153 — Espaciado interior compacto de asistencia y constancia del alumno. */
body.raa-private-area-page #raa-app .raa-attendance-access{gap:12px!important}
body.raa-private-area-page #raa-app .raa-attendance-access>div,
body.raa-private-area-page #raa-app .raa-consistency-heading>div{
 display:grid!important;align-content:start!important;gap:6px!important;min-height:0!important;
}
body.raa-private-area-page #raa-app .raa-attendance-access>div>.raa-eyebrow,
body.raa-private-area-page #raa-app .raa-attendance-access>div>h2,
body.raa-private-area-page #raa-app .raa-attendance-access>div>p:last-child,
body.raa-private-area-page #raa-app .raa-consistency-heading>div>.raa-eyebrow,
body.raa-private-area-page #raa-app .raa-consistency-heading>div>h2,
body.raa-private-area-page #raa-app .raa-consistency-message{
 margin:0!important;padding:0!important;
}
body.raa-private-area-page #raa-app .raa-attendance-access>.raa-button{margin:0!important}
body.raa-private-area-page #raa-app .raa-consistency-card{gap:10px!important;align-content:start!important}
body.raa-private-area-page #raa-app .raa-consistency-meter,
body.raa-private-area-page #raa-app .raa-consistency-card>small{margin:0!important;padding:0!important}
body.raa-private-area-page #raa-app .raa-consistency-stats{margin-top:2px!important}

/* 0.41.154 — Método de cobro junto a la confirmación, en WordPress y portal máster. */
body :is(.raa-admin,.raa-manager-content) .raa-payment-method-field{display:grid;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;color:var(--gc-text,#25212d);min-width:150px}
body :is(.raa-admin,.raa-manager-content) .raa-payment-method-field select{width:100%;max-width:none;min-height:46px;padding:9px 30px 9px 12px;border:1px solid var(--gc-primary,#713cff);border-radius:8px;background-color:#fff;color:var(--gc-text,#25212d);font:inherit;font-size:14px;box-sizing:border-box}
/* 0.41.155 — El foco pertenece al campo, sin marco alrededor de su etiqueta. */
body :is(.raa-admin,.raa-manager-content) .raa-payment-method-field select:focus{border-color:var(--gc-primary,#713cff)!important;outline:none!important;box-shadow:inset 0 0 0 1px var(--gc-primary,#713cff)!important}

/* 0.41.157 — Día, fecha, hora y servicio en líneas propias para letra grande. */
body.raa-private-area-page #raa-app .raa-student-quick-summary .raa-next-class-summary{display:grid;align-content:start;gap:3px;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;padding-right:0}
body.raa-private-area-page #raa-app .raa-next-class-summary>:is(span,time){display:block;min-width:0;font:inherit!important;line-height:1.3!important;color:inherit!important;letter-spacing:normal!important;text-transform:none!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
body.raa-private-area-page #raa-app .raa-next-class-summary>time{white-space:nowrap!important}
body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid>article{height:auto!important;max-height:none!important;align-content:start!important}
body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid .raa-fixed-class-time{display:block;color:#575269;font-size:13px;font-weight:500;line-height:1.35;white-space:nowrap}
body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid .raa-fixed-class-service{display:block;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important}
@media(max-width:782px){body.raa-private-area-page #raa-app .raa-student-fixed-schedule-grid .raa-fixed-class-time{font-size:12px}}

/* 0.41.159 — Misma jerarquía de color en avisos sin recuperaciones ni compensaciones. */
body.raa-private-area-page #raa-app .raa-recovery-availability.is-clear>strong{color:var(--gc-success,#25845a)!important}

/* 0.41.161 — Crear notificación: columna única y contadores junto a su etiqueta. */
body :is(.raa-admin,.raa-manager-content) .raa-notification-create-form{grid-template-columns:minmax(0,1fr)!important}
body :is(.raa-admin,.raa-manager-content) .raa-notification-create-form>.raa-counted-field{width:100%;min-width:0}
body :is(.raa-admin,.raa-manager-content) .raa-notification-field-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;width:100%}
body :is(.raa-admin,.raa-manager-content) .raa-notification-field-heading>.raa-character-counter{display:inline-flex!important;align-items:baseline;gap:4px;margin:0!important;color:#686271;font-size:12px!important;font-weight:400;line-height:1.4;white-space:nowrap;margin-left:auto!important}
body :is(.raa-admin,.raa-manager-content) .raa-character-counter>[data-character-count]{color:var(--gc-primary,#713cff);font-weight:700}
body :is(.raa-admin,.raa-manager-content) .raa-counted-field.is-near-limit .raa-character-counter,
body :is(.raa-admin,.raa-manager-content) .raa-counted-field.is-near-limit .raa-character-counter>[data-character-count]{color:var(--gc-danger,#b42318)!important}
body :is(.raa-admin,.raa-manager-content) .raa-notification-create-form .raa-promotion-recipient{grid-template-columns:minmax(0,1fr)!important;min-width:0}
body :is(.raa-admin,.raa-manager-content) .raa-notification-create-form .raa-promotion-recipient :is(select,.raa-select-choice){width:100%!important;max-width:none!important;min-width:0;box-sizing:border-box}
body :is(.raa-admin,.raa-manager-content) .raa-notification-create-form>button{grid-column:1/-1;width:100%!important;box-sizing:border-box}
body :is(.raa-admin,.raa-manager-content) .raa-notification-length-help{border:1px solid var(--gc-primary,#713cff)!important}

/* 0.41.163 — Incidencias con contorno uniforme y borrado individual. */
body :is(.raa-admin,.raa-manager-content) .raa-incident-card{border:1px solid var(--gc-primary,#713cff)!important}
body :is(.raa-admin,.raa-manager-content) .raa-incident-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
body :is(.raa-admin,.raa-manager-content) .raa-incident-actions>form{margin:0}
body :is(.raa-admin,.raa-manager-content) .raa-delete-incident{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px!important;height:auto!important;padding:10px 18px!important;border:1px solid var(--gc-danger,#b42318)!important;border-radius:8px!important;background:var(--gc-danger,#b42318)!important;color:#fff!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;box-sizing:border-box;box-shadow:none!important;cursor:pointer}
body :is(.raa-admin,.raa-manager-content) .raa-delete-incident:hover{filter:brightness(.92)}
@media(max-width:782px){body :is(.raa-admin,.raa-manager-content) .raa-incident-actions{align-items:stretch;flex-direction:column}body :is(.raa-admin,.raa-manager-content) .raa-incident-actions>form{width:100%}}

/* 0.41.164 — La ayuda de facturación vive junto a la regla de mensualidades. */
body :is(.raa-admin,.raa-manager-content) .raa-bulk-payment-form>.raa-invoice-workflow-notice{flex:1 0 100%;grid-column:1/-1;width:100%;margin:0!important}

/* 0.41.170 — Enviar incidencia ocupa toda la fila del formulario. */
.raa-teacher-incidents .raa-incident-form>button.button-primary,
.raa-incidents-page .raa-incident-form>button.button-primary{
 grid-column:1 / -1!important;
 justify-self:stretch!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}

/* 0.41.171 — Alumnos de cada clase asignada al profesor. */
.raa-teacher-portal .raa-teacher-roster{margin-top:10px;border:1px solid var(--gc-line,#dedfeb);border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.raa-teacher-portal .raa-teacher-roster>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;list-style:none!important;color:var(--gc-primary,#6256e8);font-weight:700;cursor:pointer;box-sizing:border-box}
.raa-teacher-portal .raa-teacher-roster>summary::-webkit-details-marker{display:none!important}
.raa-teacher-portal .raa-teacher-roster>summary::marker{content:""}
.raa-teacher-portal .raa-teacher-roster>summary>b{margin-left:auto;font-size:24px;line-height:1;font-weight:400}
.raa-teacher-portal .raa-teacher-roster>summary>b::before{content:"+"}
.raa-teacher-portal .raa-teacher-roster[open]>summary>b::before{content:"−"}
.raa-teacher-portal .raa-teacher-roster:not([open])>.raa-teacher-roster-body{display:none!important}
.raa-teacher-portal .raa-teacher-roster-body{padding:0 12px 12px;box-sizing:border-box}
.raa-teacher-portal .raa-teacher-roster-body>ul{list-style:none;margin:0;padding:0}
.raa-teacher-portal .raa-teacher-roster-body li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 0;border-top:1px solid var(--gc-line,#dedfeb);line-height:1.4}
.raa-teacher-portal .raa-teacher-roster-body li>span:first-child{min-width:0;overflow-wrap:anywhere}
.raa-teacher-portal .raa-teacher-roster-body li strong{font-size:14px}
.raa-teacher-portal .raa-teacher-roster-body li small{display:block;font-size:12px;color:var(--gc-text-soft,#686575)}
.raa-teacher-portal .raa-teacher-roster-status{flex:0 0 auto;padding:5px 8px;border:1px solid #b8ddc7;border-radius:999px;background:#edf8f2;color:#17643f;font-size:11px;font-weight:600;line-height:1.3;text-align:center}
.raa-teacher-portal .raa-teacher-roster-status.is-cancelled{border-color:#e5b9c0;background:#fff3f5;color:#a5273e}
.raa-teacher-portal .raa-teacher-roster-status.is-waitlist{border-color:#d8cff3;background:#f1efff;color:#5743bd}
@media(max-width:782px){
 .raa-teacher-portal .raa-teacher-day td.raa-teacher-class-cell{grid-column:1/-1}
 .raa-teacher-portal .raa-teacher-roster-body li{flex-wrap:wrap;gap:7px}
}

/* 0.41.171 — Selector de alumno a todo el ancho al registrar incidencias. */
.raa-teacher-incidents .raa-teacher-incident-form>.raa-incident-student-field{
 grid-column:1 / -1!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}
.raa-teacher-incidents .raa-teacher-incident-form>.raa-incident-student-field>select{
 display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
