.elementor-227 .elementor-element.elementor-element-2986373{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-936d4a6{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-227 .elementor-element.elementor-element-b46e611{text-align:center;}.elementor-227 .elementor-element.elementor-element-b46e611 .elementor-heading-title{font-family:var( --e-global-typography-c4adf1b-font-family ), Sans-serif;font-size:var( --e-global-typography-c4adf1b-font-size );font-weight:var( --e-global-typography-c4adf1b-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-227 .elementor-element.elementor-element-bb8fdcc{--divider-border-style:solid;--divider-color:var( --e-global-color-543645b );--divider-border-width:1px;}.elementor-227 .elementor-element.elementor-element-bb8fdcc .elementor-divider-separator{width:100%;}.elementor-227 .elementor-element.elementor-element-bb8fdcc .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-227 .elementor-element.elementor-element-52ded49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-826f5a1{--display:flex;--border-radius:10px 10px 10px 10px;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-227 .elementor-element.elementor-element-826f5a1:not(.elementor-motion-effects-element-type-background), .elementor-227 .elementor-element.elementor-element-826f5a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-227 .elementor-element.elementor-element-bfd0fe8{text-align:center;}.elementor-227 .elementor-element.elementor-element-bfd0fe8 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-543645b );}.elementor-227 .elementor-element.elementor-element-3415399{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-227 .elementor-element.elementor-element-7ca55d0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-369ea4e .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-247bdee{--divider-border-style:solid;--divider-color:var( --e-global-color-fb6ebe0 );--divider-border-width:2px;}.elementor-227 .elementor-element.elementor-element-247bdee .elementor-divider-separator{width:100%;}.elementor-227 .elementor-element.elementor-element-247bdee .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-227 .elementor-element.elementor-element-3124f90{text-align:justify;font-family:var( --e-global-typography-eb1ea17-font-family ), Sans-serif;font-size:var( --e-global-typography-eb1ea17-font-size );font-weight:var( --e-global-typography-eb1ea17-font-weight );}.elementor-227 .elementor-element.elementor-element-5c5fbbd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-2af9a5b .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-67f0f27{--divider-border-style:solid;--divider-color:var( --e-global-color-fb6ebe0 );--divider-border-width:2px;}.elementor-227 .elementor-element.elementor-element-67f0f27 .elementor-divider-separator{width:100%;}.elementor-227 .elementor-element.elementor-element-67f0f27 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-227 .elementor-element.elementor-element-927c2c2{text-align:justify;font-family:var( --e-global-typography-eb1ea17-font-family ), Sans-serif;font-size:var( --e-global-typography-eb1ea17-font-size );font-weight:var( --e-global-typography-eb1ea17-font-weight );}.elementor-227 .elementor-element.elementor-element-34b8e50 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-476ad8e{--divider-border-style:solid;--divider-color:var( --e-global-color-fb6ebe0 );--divider-border-width:2px;}.elementor-227 .elementor-element.elementor-element-476ad8e .elementor-divider-separator{width:100%;}.elementor-227 .elementor-element.elementor-element-476ad8e .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-227 .elementor-element.elementor-element-84d5894{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:030px;--margin-left:0px;--margin-right:0px;}.elementor-227 .elementor-element.elementor-element-69fa8ad{text-align:justify;font-family:var( --e-global-typography-eb1ea17-font-family ), Sans-serif;font-size:var( --e-global-typography-eb1ea17-font-size );font-weight:var( --e-global-typography-eb1ea17-font-weight );}.elementor-227 .elementor-element.elementor-element-26ad855{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-26ad855.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-227 .elementor-element.elementor-element-cba56fc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:015px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-227 .elementor-element.elementor-element-08071d7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 2px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:var( --e-global-color-fb6ebe0 );--border-color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-08071d7:not(.elementor-motion-effects-element-type-background), .elementor-227 .elementor-element.elementor-element-08071d7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-227 .elementor-element.elementor-element-f467931 .elementor-heading-title{font-family:var( --e-global-typography-a9d03d4-font-family ), Sans-serif;font-size:var( --e-global-typography-a9d03d4-font-size );font-weight:var( --e-global-typography-a9d03d4-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-73e0b43{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:15px;--margin-left:0px;--margin-right:0px;}.elementor-227 .elementor-element.elementor-element-4b22f58{text-align:justify;font-family:var( --e-global-typography-eb1ea17-font-family ), Sans-serif;font-size:var( --e-global-typography-eb1ea17-font-size );font-weight:var( --e-global-typography-eb1ea17-font-weight );}.elementor-227 .elementor-element.elementor-element-c25b5fd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:15px;--margin-left:0px;--margin-right:0px;}.elementor-227 .elementor-element.elementor-element-0442bbc{--display:flex;}.elementor-227 .elementor-element.elementor-element-d542841{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-354cedf{--display:flex;}.elementor-227 .elementor-element.elementor-element-0889283{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-227 .elementor-element.elementor-element-88713b5{text-align:center;}.elementor-227 .elementor-element.elementor-element-88713b5 .elementor-heading-title{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-9f334ca{--display:flex;}.elementor-227 .elementor-element.elementor-element-c8e0be1{--display:flex;}.elementor-227 .elementor-element.elementor-element-a8d0a2b{--display:flex;}.elementor-227 .elementor-element.elementor-element-2d6895c{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-font-size:var( --e-global-typography-text-font-size );--n-tabs-title-color:var( --e-global-color-1548ee4 );--n-tabs-title-color-active:var( --e-global-color-1548ee4 );}.elementor-227 .elementor-element.elementor-element-2d6895c > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-accent );}.elementor-227 .elementor-element.elementor-element-2d6895c.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-d36803e );}.elementor-227 .elementor-element.elementor-element-2d6895c.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-227 .elementor-element.elementor-element-2d6895c.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-fb6ebe0 );}.elementor-227 .elementor-element.elementor-element-2d6895c.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(min-width:768px){.elementor-227 .elementor-element.elementor-element-2986373{--content-width:1440px;}.elementor-227 .elementor-element.elementor-element-52ded49{--content-width:1440px;}.elementor-227 .elementor-element.elementor-element-3415399{--content-width:1440px;}.elementor-227 .elementor-element.elementor-element-7ca55d0{--width:100%;}.elementor-227 .elementor-element.elementor-element-5c5fbbd{--width:100%;}.elementor-227 .elementor-element.elementor-element-84d5894{--width:100%;}.elementor-227 .elementor-element.elementor-element-26ad855{--content-width:1440px;}.elementor-227 .elementor-element.elementor-element-cba56fc{--width:100%;}.elementor-227 .elementor-element.elementor-element-08071d7{--width:100%;}.elementor-227 .elementor-element.elementor-element-73e0b43{--width:100%;}.elementor-227 .elementor-element.elementor-element-c25b5fd{--width:100%;}.elementor-227 .elementor-element.elementor-element-d542841{--width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-227 .elementor-element.elementor-element-b46e611 .elementor-heading-title{font-size:var( --e-global-typography-c4adf1b-font-size );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-bfd0fe8 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-369ea4e .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-227 .elementor-element.elementor-element-3124f90{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-2af9a5b .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-927c2c2{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-34b8e50 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-69fa8ad{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-f467931 .elementor-heading-title{font-size:var( --e-global-typography-a9d03d4-font-size );}.elementor-227 .elementor-element.elementor-element-4b22f58{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-88713b5 .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );}.elementor-227 .elementor-element.elementor-element-2d6895c{--n-tabs-title-font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-227 .elementor-element.elementor-element-b46e611 .elementor-heading-title{font-size:var( --e-global-typography-c4adf1b-font-size );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-bfd0fe8 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-369ea4e .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-227 .elementor-element.elementor-element-3124f90{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-2af9a5b .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-927c2c2{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-34b8e50 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-227 .elementor-element.elementor-element-69fa8ad{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-f467931 .elementor-heading-title{font-size:var( --e-global-typography-a9d03d4-font-size );}.elementor-227 .elementor-element.elementor-element-4b22f58{font-size:var( --e-global-typography-eb1ea17-font-size );}.elementor-227 .elementor-element.elementor-element-88713b5 .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );}.elementor-227 .elementor-element.elementor-element-2d6895c{--n-tabs-title-font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e4d19b2 *//* ====== Tabla estilo CICM/CAPIT ====== */
.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

/* Contenedor responsivo (scroll en móvil) */
.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

/* Tabla */
.cicm-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--text);
  font-size: 14px;

  /* Clave para que respete anchos y no rompa encabezados */
  table-layout: fixed;
  min-width: 920px; /* evita que se aplaste: en móvil habrá scroll */
}

/* Encabezado */
.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 1;
}

/* Redondeo */
.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

/* Celdas */
.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere; /* evita desbordes raros */
}

/* Rayado suave */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* ===== Columnas (AJUSTE PRINCIPAL) ===== */
.col-ciclo{ width: 90px; }

/* Haz más ancha “Horas con docente” y que no se parta */
.col-horas{
  width: 220px;      /* <- más ancho */
  white-space: nowrap; /* <- 1 solo renglón */
}

/* Créditos */
.col-creditos{
  width: 140px;
}

/* Para que ASIGNATURAS use el espacio restante */
.col-asig{
  width: auto;
}

.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Celda “Ciclo” */
.ciclo{
  text-align: center;
  font-weight: 800;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

/* Separador por ciclo */
.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Sección optativas */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Etiqueta optativa */
.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 700;
}

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Responsive: reduce tamaños */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 920px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aab21df */.cicm-table-wrap{
  --navy:#0b2b5a;
  --blue:#2f79b8;
  --light:#f4f7fb;
  --line:#d7e2ee;
  --text:#1b2430;
  --muted:#6b7a8a;

  max-width: 100%;
  margin: 18px 0 28px;
}

.cicm-table-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}

.cicm-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(11,43,90,.06);
}

.cicm-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  color: var(--text);
  font-size: 14px;
}

.cicm-table thead th{
  position: sticky;
  top: 0;
  background: linear-gradient(0deg, var(--navy), #0a3a78);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  z-index: 2;
}

.cicm-table thead th:first-child{ border-top-left-radius: 10px; }
.cicm-table thead th:last-child{ border-top-right-radius: 10px; }

.cicm-table td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

/* Zebra */
.cicm-table tbody tr:nth-child(even) td{
  background: var(--light);
}

/* Columnas */
.col-band{ width: 56px; }
.col-num{ width: 90px; }
.col-clave{ width: 160px; }
.col-prof{ width: 320px; }
.col-asig{ width: auto; }

.num{ text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ciclo{
  text-align: center;
  font-weight: 900;
  color: var(--navy);
  background: rgba(47,121,184,.10) !important;
  border-right: 1px solid var(--line);
}

.ciclo-start td{
  border-top: 2px solid rgba(47,121,184,.35);
}

/* Secciones */
.section-row td{
  background: rgba(11,43,90,.06) !important;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 2px solid rgba(11,43,90,.25);
}

/* Banda vertical "SEMESTRE" */
.band-semestre{
  background: linear-gradient(180deg, rgba(47,121,184,.20), rgba(11,43,90,.10)) !important;
  border-right: 1px solid var(--line);
  padding: 0 !important;
}

.band-semestre span{
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  color: var(--navy);
  padding: 16px 0;
  user-select: none;
}

.band-empty{
  background: rgba(47,121,184,.06) !important;
  border-right: 1px solid var(--line);
}

/* Profesores múltiples */
.prof-list > div{
  padding: 2px 0;
}
.prof-list > div + div{
  border-top: 1px dashed rgba(11,43,90,.18);
  margin-top: 6px;
  padding-top: 6px;
}

.tag{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(47,121,184,.14);
  color: var(--navy);
  font-weight: 800;
}

.muted{ color: var(--muted); }

/* Hover */
.cicm-table tbody tr:hover td{
  background: rgba(47,121,184,.10);
}

/* Mobile: quita banda vertical para que no estorbe */
@media (max-width: 767px){
  .cicm-table{ font-size: 13px; min-width: 980px; }
  .cicm-table td, .cicm-table thead th{ padding: 10px 10px; }

  /* Oculta columna banda en móvil (opcional) */
  .cicm-table thead th:first-child,
  .cicm-table td.band-semestre,
  .cicm-table td.band-empty{
    display: none;
  }

  /* Ajusta min-width al ocultar banda (opcional) */
  .cicm-table{ min-width: 920px; }
}/* End custom CSS */