/* Servicios: componente común para WordPress, intranet de Rocío y responsive. */
.raa-services-page .raa-plan-list>.raa-admin-box .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  height:46px!important;
  margin:0!important;
  padding:9px 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-decoration:none!important;
  box-shadow:none!important;
}
.raa-services-page .raa-plan-list>.raa-admin-box .button-primary{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  border:1px solid #615ee8!important;
  background:#615ee8!important;
  color:#fff!important;
}
.raa-services-page .raa-plan-list>.raa-admin-box .button-primary:hover,
.raa-services-page .raa-plan-list>.raa-admin-box .button-primary:focus{
  border-color:#45426f!important;
  background:#45426f!important;
  color:#fff!important;
}
.raa-services-page .raa-plan-list>.raa-admin-box .button-link-delete{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  border:1px solid #615ee8!important;
  background:#fff!important;
  color:#544fd0!important;
}
.raa-services-page .raa-plan-list>.raa-admin-box .button-link-delete:hover,
.raa-services-page .raa-plan-list>.raa-admin-box .button-link-delete:focus{
  border-color:#45426f!important;
  background:#f2f1ff!important;
  color:#45426f!important;
}
@media(min-width:901px){
  .raa-services-page .raa-plan-list>.raa-admin-box{
    display:grid!important;
    grid-template-columns:auto 180px minmax(0,1fr)!important;
    align-items:end!important;
    justify-content:start!important;
    gap:10px!important;
  }
  .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create{
    display:grid!important;
    grid-template-columns:minmax(280px,560px) auto 180px!important;
    align-items:end!important;
    justify-content:start!important;
    gap:16px!important;
    width:auto!important;
  }
  .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create>.button,
  .raa-manager-content .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create>.button{
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
  }
  .raa-services-page .raa-plan-list>.raa-admin-box>form+form{
    align-self:end!important;
    margin:0!important;
  }
}
@media(max-width:900px){
  .raa-services-page .raa-plan-list>.raa-admin-box{display:block!important;}
  .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }
  .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create>.button,
  .raa-manager-content .raa-services-page .raa-plan-list>.raa-admin-box>.raa-group-create>.button,
  .raa-services-page .raa-plan-list>.raa-admin-box>form+form,
  .raa-services-page .raa-plan-list>.raa-admin-box>form+form .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .raa-services-page .raa-plan-list>.raa-admin-box>form+form{margin:10px 0 0!important;}
  .raa-services-page .raa-plan-list>.raa-admin-box .button{
    min-height:50px!important;
    height:50px!important;
  }
}

/* Tarifas: texto y cuadro numérico ocupan columnas fijas y quedan alineados. */
.raa-plans-page .raa-plan-modes label{
  display:grid!important;
  grid-template-columns:150px 86px!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:14px!important;
  row-gap:5px!important;
  min-width:0!important;
}
.raa-plans-page .raa-plan-modes label>span{
  width:150px!important;
  min-width:150px!important;
  white-space:normal!important;
}
.raa-plans-page .raa-plan-modes label>input{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  margin:0!important;
  justify-self:start!important;
  text-align:center!important;
}
.raa-plans-page .raa-plan-modes label>small{
  grid-column:1/-1!important;
  width:100%!important;
  margin:0!important;
}
.raa-plans-page .raa-plan-card .raa-plan-actions .button,
.raa-plans-page .raa-plan-card .raa-plan-delete .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  min-height:50px!important;
  height:50px!important;
  margin:0!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;
}
@media(max-width:782px){
  .raa-plans-page .raa-plan-modes label{
    grid-template-columns:minmax(0,1fr) 86px!important;
    justify-content:stretch!important;
  }
  .raa-plans-page .raa-plan-modes label>span{
    width:auto!important;
    min-width:0!important;
  }
  .raa-plans-page .raa-plan-card .raa-plan-actions .button,
  .raa-plans-page .raa-plan-card .raa-plan-delete,
  .raa-plans-page .raa-plan-card .raa-plan-delete .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Mensualidad manual individual, compartida por WordPress y el portal de Rocío. */
.raa-manual-monthly-payment{margin:18px 0!important;}
.raa-bulk-payment-form{flex-wrap:wrap!important;}

.raa-bulk-payment-form [data-bulk-payment-button]{min-width:250px!important;}
.raa-manual-monthly-payment>summary{cursor:pointer;}
.raa-manual-monthly-form{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) minmax(150px,.7fr) minmax(140px,.6fr) minmax(170px,.75fr) auto;
  gap:14px;
  align-items:end;
  margin-top:16px;
}
.raa-manual-monthly-form label{display:grid;gap:6px;min-width:0;font-weight:700;}
.raa-manual-monthly-form input,.raa-manual-monthly-form select{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.raa-manual-monthly-form>.button{min-height:46px!important;white-space:nowrap!important;}
.raa-manual-monthly-payment>small{display:block;margin-top:12px;color:#646970;line-height:1.5;}
@media(max-width:1050px){
  .raa-manual-monthly-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  .raa-manual-monthly-form>.button{width:100%!important;}
}
@media(max-width:600px){
  .raa-bulk-payment-form [data-bulk-payment-button]{width:100%!important;min-width:0!important;}
  .raa-manual-monthly-form{grid-template-columns:minmax(0,1fr);}
}

/* Cabeceras privadas: las acciones deben reconocerse siempre como botones. */
.raa-manager-header>a,
.raa-private-brand-bar .raa-heading-actions>a,
.raa-private-brand-bar>a.raa-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:46px!important;
  padding:11px 18px!important;
  border:1px solid #615ee8!important;
  border-radius:12px!important;
  background:#615ee8!important;
  color:#fff!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;
  box-shadow:0 7px 18px rgba(97,94,232,.18)!important;
  white-space:nowrap!important;
}
.raa-manager-header>a:hover,
.raa-manager-header>a:focus,
.raa-private-brand-bar .raa-heading-actions>a:hover,
.raa-private-brand-bar .raa-heading-actions>a:focus,
.raa-private-brand-bar>a.raa-logout:hover,
.raa-private-brand-bar>a.raa-logout:focus{
  border-color:#4d48d8!important;
  background:#4d48d8!important;
  color:#fff!important;
}
.raa-private-brand-bar .raa-heading-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}
.raa-private-brand-bar .raa-heading-actions>a:first-child{
  border-color:#615ee8!important;
  background:#fff!important;
  color:#514bcf!important;
  box-shadow:none!important;
}

@media(max-width:782px){
  /* La ficha conserva los márgenes de la intranet; su cabecera ya no invade la pantalla. */
  .raa-students-page>.raa-edit-box{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 22px!important;
    padding:0 12px max(50px,calc(28px + env(safe-area-inset-bottom)))!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#f7f8fc!important;
  }
  .raa-students-page>.raa-edit-box .raa-edit-box-heading{
    width:auto!important;
    margin:0 -12px 16px!important;
    padding:14px 16px!important;
    border-radius:12px 12px 0 0!important;
    box-sizing:border-box!important;
  }
  .raa-manager-header>a{
    min-width:118px!important;
    min-height:44px!important;
    padding:10px 13px!important;
    font-size:13px!important;
  }
  .raa-private-brand-bar .raa-heading-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-left:0!important;
  }
  .raa-private-brand-bar .raa-heading-actions>a{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
}

/* Buscadores: Buscar y Limpiar comparten proporciones y acabado. */
.raa-admin-search .raa-search-button,
.raa-admin-search .raa-search-clear,
.raa-manager-content .raa-admin-search .raa-search-button,
.raa-manager-content .raa-admin-search .raa-search-clear{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  min-height:50px!important;
  height:50px!important;
  margin:0!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-decoration:none!important;
}
.raa-admin-search .raa-search-clear{
  border:1px solid #615ee8!important;
  background:#fff!important;
  color:#554fd2!important;
}
.raa-admin-search .raa-search-clear:hover,
.raa-admin-search .raa-search-clear:focus{
  border-color:#554fd2!important;
  background:#f4f2ff!important;
  color:#4039bd!important;
}
@media(max-width:782px){
  .raa-admin-search .raa-search-button,
  .raa-admin-search .raa-search-clear,
  .raa-manager-content .raa-admin-search .raa-search-button,
  .raa-manager-content .raa-admin-search .raa-search-clear{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* 0.40.70 · Etiqueta superior común para todos los títulos de bloque. */
.raa-section-kicker{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--raa-brand-violet,#615ee8)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.3!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

/* Horarios y clases: control compacto para la ventana global de agenda. */
.raa-agenda-window-setting{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.raa-agenda-window-setting>div{max-width:760px!important;}
.raa-agenda-window-setting h2,
.raa-profile-completion-actions h2{
  margin:6px 0 8px!important;
  font-size:24px!important;
  font-weight:750!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}
.raa-agenda-window-setting>form{
  display:flex!important;
  align-items:flex-end!important;
  gap:12px!important;
  margin:0!important;
}
.raa-agenda-window-setting label{font-weight:800!important;}
.raa-agenda-window-setting input{
  display:block!important;
  width:110px!important;
  min-height:46px!important;
  margin-top:6px!important;
}
.raa-agenda-window-setting .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:260px!important;
  min-height:46px!important;
  height:46px!important;
  padding:10px 18px!important;
  border:1px solid #615ee8!important;
  border-radius:9px!important;
  background:#615ee8!important;
  color:#fff!important;
  box-sizing:border-box!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:center!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.raa-agenda-window-setting .button:hover,
.raa-agenda-window-setting .button:focus{
  border-color:#4d48d8!important;
  background:#4d48d8!important;
  color:#fff!important;
}
@media(max-width:782px){
  .raa-agenda-window-setting{display:block!important;}
  .raa-agenda-window-setting h2,
  .raa-profile-completion-actions h2{font-size:21px!important;line-height:1.22!important;}
  .raa-agenda-window-setting>form{display:grid!important;grid-template-columns:1fr!important;margin-top:18px!important;}
  .raa-agenda-window-setting input,.raa-agenda-window-setting .button{width:100%!important;min-width:0!important;max-width:none!important;}
  .raa-agenda-window-setting .button{min-height:50px!important;height:50px!important;}
}

/* Salas y buscadores: mismo margen seguro en WordPress, portal Máster y móvil. */
.raa-rooms-page,
.raa-rooms-page>details.raa-admin-box,
.raa-rooms-page>section.raa-admin-box,
.raa-rooms-page .raa-room-grid,
.raa-admin-search{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.raa-rooms-page .raa-room-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.raa-rooms-page .raa-room-box{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.raa-rooms-page .raa-room-toggle{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.raa-rooms-page .raa-room-toggle>span:first-child{
  min-width:0!important;
}
.raa-admin-search{
  grid-template-columns:auto minmax(0,1fr) auto auto auto!important;
}
.raa-admin-search input,
.raa-admin-search select{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:1000px) and (min-width:783px){
  .raa-rooms-page .raa-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:782px){
  .raa-rooms-page .raa-room-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin:14px 0!important;
  }
  .raa-rooms-page .raa-room-box{
    padding:14px!important;
  }
  .raa-rooms-page .raa-room-toggle{
    min-height:58px!important;
    padding:8px 10px!important;
  }
  .raa-admin-search{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
}

/* Salas: conserva el ancho centrado de la cabecera corporativa. */
.raa-rooms-page{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-right:auto!important;
  margin-left:auto!important;
}
/* Grado Creativo en PC: Salas comparte exactamente los bordes de la cabecera. */
@media(min-width:783px){
  body.wp-admin .wrap.raa-admin.raa-rooms-page{
    width:min(1600px,calc(100% - 40px))!important;
    max-width:1600px!important;
    margin-right:auto!important;
    margin-left:auto!important;
  }
}
.raa-rooms-page>details.raa-admin-box,
.raa-rooms-page>section.raa-admin-box,
.raa-rooms-page .raa-room-grid,
.raa-rooms-page .raa-admin-search{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.raa-rooms-page>section.raa-admin-box{
  overflow-x:auto!important;
}
.raa-rooms-page>section.raa-admin-box>.raa-table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
  box-sizing:border-box!important;
}
.raa-rooms-page .raa-table .raa-status{
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
@media(max-width:782px){
  .raa-rooms-page{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  .raa-rooms-page>section.raa-admin-box{
    padding:14px 10px!important;
  }
  .raa-rooms-page .raa-table th,
  .raa-rooms-page .raa-table td{
    padding-right:8px!important;
    padding-left:8px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .raa-rooms-page .raa-table .raa-status{
    padding:4px 7px!important;
    font-size:12px!important;
  }
}

/* Área del alumno: Cerrar sesión no hereda el ancho general en Android. */
@media(max-width:600px){
  .raa-student-header.raa-student-header-unified{
    grid-template-columns:minmax(0,1fr) 102px!important;
    gap:9px!important;
    padding:13px!important;
  }
  .raa-student-header.raa-student-header-unified .raa-student-logout{
    width:102px!important;
    min-width:102px!important;
    max-width:102px!important;
    min-height:42px!important;
    padding:8px 7px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:380px){
  .raa-student-header.raa-student-header-unified{
    grid-template-columns:minmax(0,1fr) 92px!important;
    gap:7px!important;
    padding:11px!important;
  }
  .raa-student-header.raa-student-header-unified .raa-student-logout{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    padding:8px 5px!important;
    font-size:10px!important;
  }
}

/* Asistencias: lectura compacta sin cruces de columnas en móvil. */
.raa-attendance-check{
  display:none;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#ddf5e8;
  color:#167347;
  box-shadow:inset 0 0 0 1px rgba(22,115,71,.12);
  vertical-align:middle;
}
.raa-attendance-check::before{
  content:'✓';
  font-size:16px;
  font-weight:900;
  line-height:1;
}
.raa-attendance-state{text-align:center;}
@media(max-width:782px){
  .raa-rooms-page .raa-room-qr{
    display:grid!important;
    justify-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin:4px 0 2px!important;
    padding:16px 12px!important;
    border:1px solid #e4e0f5!important;
    border-radius:14px!important;
    background:#faf9ff!important;
    box-sizing:border-box!important;
  }
  .raa-rooms-page .raa-room-qr img{
    width:min(220px,100%)!important;
    height:auto!important;
    aspect-ratio:1!important;
    object-fit:contain!important;
  }
  .raa-rooms-page .raa-room-qr .button{
    width:100%!important;
    max-width:280px!important;
    min-height:44px!important;
    box-sizing:border-box!important;
  }
  .raa-rooms-page .raa-attendance-table{
    width:100%!important;
    table-layout:fixed!important;
  }
  .raa-attendance-table th:nth-child(1){width:14%!important;}
  .raa-attendance-table th:nth-child(2){width:30%!important;}
  .raa-attendance-table th:nth-child(3){width:20%!important;}
  .raa-attendance-table th:nth-child(4){width:20%!important;}
  .raa-attendance-table th:nth-child(5){width:16%!important;}
  .raa-rooms-page .raa-attendance-table th,
  .raa-rooms-page .raa-attendance-table td{
    min-width:0!important;
    padding:9px 4px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .raa-rooms-page .raa-attendance-table th{
    font-size:10px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .raa-rooms-page .raa-attendance-table td{
    font-size:12px!important;
    line-height:1.25!important;
  }
  .raa-attendance-student span{
    display:block;
    max-width:100%;
    font-size:10.5px;
    line-height:1.22;
    overflow-wrap:anywhere;
  }
  .raa-attendance-class span,
  .raa-attendance-room span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .raa-attendance-check{
    display:inline-grid;
    width:24px;
    height:24px;
  }
  .raa-attendance-label{display:none!important;}
  .raa-attendance-check::before{font-size:14px;}
}

/* 0.40.60 · Patrón común de formularios y acciones de Servicios. */
.raa-services-page .raa-service-create-form,
.raa-services-page .raa-service-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.raa-services-page .raa-service-create-form>label,
.raa-services-page .raa-service-edit-form>.raa-service-name{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  font-weight:700!important;
}
.raa-services-page .raa-service-create-form input[name="service_name"],
.raa-services-page .raa-service-edit-form input[name="service_name"]{
  display:block!important;
  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-service-name>small{
  display:block!important;
  margin:0!important;
  color:#555264!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.raa-services-page .raa-service-create-form>.button,
.raa-services-page .raa-service-card .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  min-height:46px!important;
  height:46px!important;
  margin:0!important;
  padding:9px 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;
}

@media(min-width:901px){
  .raa-services-page .raa-service-create-form{
    display:grid!important;
    grid-template-columns:minmax(280px,560px) minmax(0,1fr) 180px!important;
    align-items:end!important;
    gap:16px!important;
    margin-top:16px!important;
  }
  .raa-services-page .raa-service-create-form>label{grid-column:1!important;}
  .raa-services-page .raa-service-create-form>.button{
    grid-column:3!important;
    justify-self:end!important;
  }
  .raa-services-page .raa-plan-list>.raa-service-card{
    display:grid!important;
    grid-template-columns:minmax(280px,560px) auto minmax(24px,1fr) 180px 180px!important;
    grid-template-rows:auto 50px auto!important;
    align-items:center!important;
    column-gap:16px!important;
    row-gap:6px!important;
    padding:14px 22px!important;
  }
  .raa-services-page .raa-service-edit-form,
  .raa-services-page .raa-service-archive-form{
    display:contents!important;
  }
  .raa-services-page .raa-service-edit-form>.raa-service-name{
    display:contents!important;
  }
  .raa-services-page .raa-service-edit-form>.raa-service-name>span{
    grid-column:1!important;
    grid-row:1!important;
    align-self:end!important;
    color:#2f2c3a!important;
    font-weight:700!important;
  }
  .raa-services-page .raa-service-edit-form>.raa-service-name>input{
    grid-column:1!important;
    grid-row:2!important;
    align-self:center!important;
  }
  .raa-services-page .raa-service-edit-form>.raa-service-name>small{
    grid-column:1!important;
    grid-row:3!important;
    align-self:start!important;
  }
  .raa-services-page .raa-service-edit-form>.raa-group-active{
    grid-column:2!important;
    grid-row:2!important;
    align-self:center!important;
    white-space:nowrap!important;
  }
  .raa-services-page .raa-service-edit-form>.button{
    grid-column:4!important;
    grid-row:2!important;
    justify-self:end!important;
  }
  .raa-services-page .raa-service-card.is-inactive .raa-service-edit-form>.button{
    grid-column:5!important;
  }
  .raa-services-page .raa-service-archive-form>.button{
    grid-column:5!important;
    grid-row:2!important;
    justify-self:end!important;
  }
}

@media(max-width:900px){
  .raa-services-page .raa-service-create-form,
  .raa-services-page .raa-plan-list>.raa-service-card,
  .raa-services-page .raa-service-edit-form,
  .raa-services-page .raa-service-archive-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    margin:0!important;
  }
  .raa-services-page .raa-service-create-form{margin-top:14px!important;}
  .raa-services-page .raa-service-archive-form{margin-top:10px!important;}
  .raa-services-page .raa-service-create-form>.button,
  .raa-services-page .raa-service-card .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:50px!important;
    height:50px!important;
  }
}

/* 0.40.60 · La ficha de solicitud contiene todos sus datos de contacto. */
.raa-request-card-compact .raa-request-data{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px 24px!important;
  width:100%!important;
  margin:0!important;
  padding:18px 0!important;
  border-top:1px solid #dedfeb!important;
  box-sizing:border-box!important;
}
.raa-request-card-compact .raa-request-data>p{
  display:grid!important;
  align-content:start!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  color:#514e5d!important;
  line-height:1.35!important;
}
.raa-request-card-compact .raa-request-data>p>strong{
  color:#2f2c3a!important;
  font-size:13px!important;
  font-weight:800!important;
}
.raa-request-card-compact .raa-request-data>p>span{
  min-width:0!important;
  font-size:14px!important;
  overflow-wrap:anywhere!important;
}
.raa-request-card-compact .raa-request-data>.is-address{
  grid-column:span 2!important;
}
@media(min-width:783px) and (max-width:1100px){
  .raa-request-card-compact .raa-request-data{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:782px){
  .raa-request-card-compact .raa-request-data{
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px!important;
    padding:14px 0!important;
  }
  .raa-request-card-compact .raa-request-data>.is-address{
    grid-column:auto!important;
  }
}

/* 0.40.69 · Acciones de sala alineadas con las dos columnas de la ficha. */
.raa-rooms-page .raa-room-actions{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 180px!important;
  align-items:center!important;
  gap:24px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.raa-rooms-page .raa-room-actions>.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:50px!important;
  min-height:50px!important;
  padding:10px 16px!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
@media(max-width:782px){
  .raa-rooms-page .raa-room-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}
@media(max-width:520px){
  .raa-rooms-page .raa-room-actions{grid-template-columns:minmax(0,1fr)!important;}
}

/* 0.40.64 · Clases extra: el rojo se reserva únicamente para Pendiente. */
.raa-extra-classes-table .raa-status.is-extra-alert{
  border:1px solid #b42318!important;
  background:#b42318!important;
  color:#fff!important;
  font-weight:800!important;
}
/* 0.40.65 · Botones semánticos reutilizables de la hoja visual común. */
.raa-manager-content .button.raa-action-positive,
.raa-admin .button.raa-action-positive{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:9px 12px!important;
  border:1px solid #198754!important;
  border-radius:8px!important;
  background:#198754!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.raa-manager-content .button.raa-action-positive:hover,
.raa-manager-content .button.raa-action-positive:focus,
.raa-admin .button.raa-action-positive:hover,
.raa-admin .button.raa-action-positive:focus{
  border-color:#11623d!important;
  background:#11623d!important;
  color:#fff!important;
}
.raa-manager-content .button.raa-action-positive:disabled,
.raa-admin .button.raa-action-positive:disabled{
  border-color:#cfd0d7!important;
  background:#e4e5e9!important;
  color:#777985!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
.raa-manager-content .button.raa-action-negative-recoverable,
.raa-admin .button.raa-action-negative-recoverable{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:9px 12px!important;
  border:1px solid var(--raa-brand-magenta,#c52dff)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--raa-brand-magenta-dark,#9b20d1)!important;
  font-weight:800!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.raa-manager-content .button.raa-action-negative-recoverable:hover,
.raa-manager-content .button.raa-action-negative-recoverable:focus,
.raa-admin .button.raa-action-negative-recoverable:hover,
.raa-admin .button.raa-action-negative-recoverable:focus{
  border-color:var(--raa-brand-magenta-dark,#9b20d1)!important;
  background:#fbf3ff!important;
  color:var(--raa-brand-magenta-dark,#9b20d1)!important;
}
.raa-extra-classes-table .raa-table-actions form .raa-action-positive,
.raa-extra-classes-table .raa-table-actions form .raa-action-negative-recoverable{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
@media(max-width:782px){
  .raa-extra-classes-table .raa-table-actions form .raa-action-positive,
  .raa-extra-classes-table .raa-table-actions form .raa-action-negative-recoverable{
    width:100%!important;
  }
}
.raa-extra-classes-table .raa-action-complete{
  color:#6b6877!important;
  font-size:13px!important;
}

/* 0.40.66 · Etiqueta breve y estable para la baja con anonimización. */
.raa-manager-content .button.raa-action-anonymize,
.raa-admin .button.raa-action-anonymize{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* 0.40.67 · Navegación y acciones secundarias de la hoja visual común. */
.raa-manager-content .button.raa-action-secondary,
.raa-admin .button.raa-action-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:9px 16px!important;
  border:1px solid var(--raa-brand-violet,#6d69ff)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--raa-brand-violet-dark,#514dcc)!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.raa-manager-content .button.raa-action-secondary:hover,
.raa-manager-content .button.raa-action-secondary:focus,
.raa-admin .button.raa-action-secondary:hover,
.raa-admin .button.raa-action-secondary:focus{
  border-color:var(--raa-brand-violet-dark,#514dcc)!important;
  background:var(--raa-brand-violet-soft,#f2f1ff)!important;
  color:var(--raa-brand-violet-dark,#514dcc)!important;
}
.raa-closure-nav .raa-action-secondary{
  width:128px!important;
  min-width:128px!important;
}
@media(max-width:782px){
  .raa-closure-nav .raa-action-secondary{
    width:auto!important;
    min-width:0!important;
    padding-inline:10px!important;
  }
}
