/*
 * CIAE Asistencias y Notas - Responsive real v8.8.13
 * Capa segura: corrige encuadre móvil, textos cortados y desbordes sin tocar lógica.
 */

:root{
  --ciae-mobile-page-pad: clamp(10px, 3.2vw, 18px);
  --ciae-mobile-radius: 20px;
  --ciae-mobile-border: rgba(15,23,42,.09);
  --ciae-mobile-shadow: 0 12px 30px rgba(15,23,42,.075);
}

html, body{ max-width:100% !important; overflow-x:hidden !important; }
body *{ box-sizing:border-box; }

#page, #content, .site, .site-content, .content-area, .entry-content, .wp-site-blocks,
.wp-block-post-content, .elementor, .elementor-section, .elementor-container, .elementor-widget-container{
  max-width:100% !important;
}

#ciae-historial-alumno,
#ciae-historial-alumno *,
#ciae-panel-preceptor,
#ciae-panel-preceptor *{
  box-sizing:border-box !important;
}

#ciae-historial-alumno img,
#ciae-panel-preceptor img{
  max-width:100% !important;
  height:auto !important;
}

/* =========================================================
   PANEL DEL ALUMNO - BASE ANTI DESBORDE
   ========================================================= */
#ciae-historial-alumno.ciae-student-pro-view,
#ciae-historial-alumno{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:var(--ciae-mobile-page-pad) !important;
  padding-right:var(--ciae-mobile-page-pad) !important;
  overflow:hidden !important;
}

#ciae-historial-alumno .ciae-student-shell,
#ciae-historial-alumno .ciae-student-main,
#ciae-historial-alumno .ciae-student-section-card,
#ciae-historial-alumno .ciae-student-content-grid,
#ciae-historial-alumno .ciae-student-data-card,
#ciae-historial-alumno .ciae-card,
#ciae-historial-alumno .ciae-grid,
#ciae-historial-alumno .ciae-stats,
#ciae-historial-alumno .ciae-avg-grid{
  min-width:0 !important;
  max-width:100% !important;
}

#ciae-historial-alumno .ciae-student-shell{
  width:100% !important;
}

#ciae-historial-alumno .ciae-student-menu{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

#ciae-historial-alumno .ciae-student-nav a,
#ciae-historial-alumno .ciae-student-brand span,
#ciae-historial-alumno .ciae-student-hero h2,
#ciae-historial-alumno .ciae-student-hero p,
#ciae-historial-alumno .ciae-student-kicker,
#ciae-historial-alumno .ciae-title,
#ciae-historial-alumno h1,
#ciae-historial-alumno h2,
#ciae-historial-alumno h3,
#ciae-historial-alumno p,
#ciae-historial-alumno td,
#ciae-historial-alumno th,
#ciae-historial-alumno .l,
#ciae-historial-alumno .subj,
#ciae-historial-alumno .avg,
#ciae-historial-alumno .ciae-meta{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  text-overflow:clip !important;
}

#ciae-historial-alumno .ciae-student-hero{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

#ciae-historial-alumno .ciae-student-hero > div{
  min-width:0 !important;
  max-width:100% !important;
}

#ciae-historial-alumno .ciae-student-actions,
#ciae-historial-alumno .ciae-student-print-btn,
#ciae-historial-alumno #ciae-print-historial-alumno-btn{
  max-width:100% !important;
}

#ciae-historial-alumno #ciae-print-historial-alumno-btn{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
  line-height:1.2 !important;
}

#ciae-historial-alumno .ciae-stat,
#ciae-historial-alumno .ciae-avg-item{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

#ciae-historial-alumno .ciae-stat .n,
#ciae-historial-alumno .ciae-stat .l{
  display:block !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}

#ciae-historial-alumno .ciae-avg-item{
  align-items:flex-start !important;
  gap:8px !important;
}

#ciae-historial-alumno .ciae-avg-item .subj{
  min-width:0 !important;
  flex:1 1 auto !important;
}

#ciae-historial-alumno .ciae-avg-item .avg{
  flex:0 0 auto !important;
}

/* Tablas: nunca deben empujar el layout */
#ciae-historial-alumno #ciae-att-table-alumno,
#ciae-historial-alumno #ciae-notas-table-alumno,
#ciae-historial-alumno .ciae-table-wrapper,
#ciae-historial-alumno .ciae-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  border-radius:16px !important;
}

#ciae-historial-alumno table,
#ciae-historial-alumno .ciae-table{
  width:100% !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

#ciae-historial-alumno th,
#ciae-historial-alumno td{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  white-space:normal !important;
}

/* =========================================================
   BREAKPOINTS ALUMNO
   ========================================================= */
@media (max-width: 1200px){
  #ciae-historial-alumno.ciae-student-pro-view{
    width:100% !important;
    max-width:100% !important;
    margin:14px 0 !important;
    padding-left:var(--ciae-mobile-page-pad) !important;
    padding-right:var(--ciae-mobile-page-pad) !important;
  }

  #ciae-historial-alumno .ciae-student-shell{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #ciae-historial-alumno .ciae-student-menu{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
  }

  #ciae-historial-alumno .ciae-student-nav{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:8px !important;
    overflow:visible !important;
    padding:0 !important;
  }

  #ciae-historial-alumno .ciae-student-nav a{
    width:100% !important;
    min-width:0 !important;
    flex:initial !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

@media (max-width: 760px){
  :root{ --ciae-mobile-page-pad: 10px; }

  #ciae-historial-alumno.ciae-student-pro-view,
  #ciae-historial-alumno{
    margin-top:10px !important;
    margin-bottom:10px !important;
  }

  #ciae-historial-alumno .ciae-student-menu,
  #ciae-historial-alumno .ciae-student-section-card,
  #ciae-historial-alumno .ciae-student-data-card,
  #ciae-historial-alumno .ciae-card{
    border-radius:20px !important;
    padding:14px !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  #ciae-historial-alumno .ciae-student-brand{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }

  #ciae-historial-alumno .ciae-student-brand img{
    width:54px !important;
    height:54px !important;
  }

  #ciae-historial-alumno .ciae-student-brand span{
    font-size:18px !important;
    line-height:1.15 !important;
  }

  #ciae-historial-alumno .ciae-student-nav{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  #ciae-historial-alumno .ciae-student-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    padding:10px 9px !important;
    min-height:46px !important;
    border-radius:16px !important;
    font-size:13px !important;
    line-height:1.1 !important;
  }

  #ciae-historial-alumno .ciae-student-nav a span{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    flex:0 0 28px !important;
  }

  #ciae-historial-alumno .ciae-student-hero{
    display:block !important;
    padding:18px 14px !important;
    border-radius:22px !important;
  }

  #ciae-historial-alumno .ciae-student-hero-icon{
    width:62px !important;
    height:62px !important;
    margin:0 0 14px !important;
    font-size:31px !important;
    border-radius:22px !important;
  }

  #ciae-historial-alumno .ciae-student-kicker{
    font-size:11px !important;
    line-height:1.35 !important;
    letter-spacing:.045em !important;
  }

  #ciae-historial-alumno .ciae-student-hero h2{
    font-size:clamp(24px, 7vw, 31px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }

  #ciae-historial-alumno .ciae-student-hero p:not(.ciae-student-kicker){
    font-size:16px !important;
    line-height:1.5 !important;
  }

  #ciae-historial-alumno .ciae-student-hero-art{
    display:none !important;
  }

  #ciae-historial-alumno .ciae-student-section-head{
    display:block !important;
    margin-bottom:14px !important;
  }

  #ciae-historial-alumno .ciae-title,
  #ciae-historial-alumno .ciae-card h2{
    font-size:clamp(22px, 6vw, 28px) !important;
    line-height:1.12 !important;
    letter-spacing:-.03em !important;
  }

  #ciae-historial-alumno .ciae-student-section-head > p{
    width:100% !important;
    margin:8px 0 0 !important;
    text-align:left !important;
    font-size:14px !important;
  }

  #ciae-historial-alumno .ciae-student-content-grid,
  #ciae-historial-alumno .ciae-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #ciae-historial-alumno .ciae-stats{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }

  #ciae-historial-alumno .ciae-stat{
    padding:12px 8px !important;
    border-radius:16px !important;
  }

  #ciae-historial-alumno .ciae-stat .n{
    font-size:30px !important;
    line-height:1 !important;
  }

  #ciae-historial-alumno .ciae-stat .l{
    margin-top:4px !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  #ciae-historial-alumno .ciae-avg-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  #ciae-historial-alumno .ciae-avg-item{
    display:flex !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    padding:11px !important;
    border-radius:15px !important;
  }

  #ciae-historial-alumno #ciae-print-historial-alumno-btn{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:12px 14px !important;
    border-radius:18px !important;
  }

  #ciae-historial-alumno th,
  #ciae-historial-alumno td{
    padding:10px 8px !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }
}

@media (max-width: 420px){
  :root{ --ciae-mobile-page-pad: 8px; }

  #ciae-historial-alumno .ciae-student-menu,
  #ciae-historial-alumno .ciae-student-section-card,
  #ciae-historial-alumno .ciae-student-data-card,
  #ciae-historial-alumno .ciae-card{
    padding:12px !important;
    border-radius:18px !important;
  }

  #ciae-historial-alumno .ciae-student-brand{
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:10px !important;
  }

  #ciae-historial-alumno .ciae-student-brand img{
    width:48px !important;
    height:48px !important;
  }

  #ciae-historial-alumno .ciae-student-brand span{
    font-size:17px !important;
  }

  #ciae-historial-alumno .ciae-student-nav{
    gap:7px !important;
  }

  #ciae-historial-alumno .ciae-student-nav a{
    font-size:12px !important;
    padding:9px 7px !important;
    gap:6px !important;
  }

  #ciae-historial-alumno .ciae-student-nav a span{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    flex-basis:26px !important;
  }

  #ciae-historial-alumno .ciae-student-hero{
    padding:16px 12px !important;
  }

  #ciae-historial-alumno .ciae-student-hero h2{
    font-size:clamp(23px, 7.2vw, 29px) !important;
  }

  #ciae-historial-alumno .ciae-student-hero p:not(.ciae-student-kicker){
    font-size:15px !important;
  }

  #ciae-historial-alumno .ciae-stats{
    grid-template-columns:1fr 1fr !important;
  }

  #ciae-historial-alumno .ciae-stat .n{
    font-size:28px !important;
  }

  #ciae-historial-alumno th,
  #ciae-historial-alumno td{
    padding:9px 7px !important;
    font-size:11.5px !important;
  }
}

@media (max-width: 340px){
  #ciae-historial-alumno .ciae-student-nav{
    grid-template-columns:1fr !important;
  }
  #ciae-historial-alumno .ciae-stats{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   PANEL PRECEPTOR - SEGURIDAD RESPONSIVE GENERAL
   ========================================================= */
#ciae-panel-preceptor,
.ciae-an-container,
.ciae-clean-shell,
.ciae-clean-card,
.ciae-clean-main,
.ciae-clean-grid,
.ciae-clean-table-wrap,
.ciae-panel,
.ciae-card{
  max-width:100% !important;
  min-width:0 !important;
}

.ciae-clean-table-wrap,
.ciae-table-wrapper,
.ciae-table-wrap,
#ciae-att-table,
#ciae-notas-table,
#ciae-audit-historial{
  max-width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

@media (max-width: 760px){
  #ciae-panel-preceptor,
  .ciae-an-container{
    width:100% !important;
    max-width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
    overflow:hidden !important;
  }

  .ciae-clean-header,
  .ciae-clean-main,
  .ciae-clean-grid,
  .ciae-clean-status-grid,
  .ciae-selected-student,
  .ciae-clean-student,
  .ciae-print-header,
  .ciae-print-summary,
  .ciae-avg-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .ciae-clean-card,
  .ciae-panel,
  .ciae-card,
  .ciae-print-doc{
    padding:14px !important;
    border-radius:18px !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .ciae-btn,
  .ciae-status-btn,
  .ciae-module-tab,
  .ciae-clean-actions button,
  .ciae-clean-actions .button,
  .ciae-clean-toolbar button,
  .ciae-clean-toolbar .button{
    max-width:100% !important;
    min-height:44px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    text-align:center !important;
  }

  .ciae-clean-table-wrap{
    border:0 !important;
    overflow:visible !important;
    display:grid !important;
    gap:12px !important;
    background:transparent !important;
  }

  .ciae-clean-table-head{ display:none !important; }

  .ciae-clean-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    border:1px solid var(--ciae-mobile-border) !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:var(--ciae-mobile-shadow) !important;
    overflow:hidden !important;
  }

  .ciae-clean-row > div{
    width:100% !important;
    border-right:0 !important;
    border-bottom:1px solid #eef2f7 !important;
    padding:12px 13px !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }

  .ciae-clean-row > div:last-child{ border-bottom:0 !important; }
}

@media print{
  html, body{ overflow:visible !important; }
  #ciae-historial-alumno.ciae-student-pro-view,
  #ciae-historial-alumno{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  #ciae-historial-alumno .ciae-only-print{ display:flex !important; }
}
