
/* =========================================================
   CNLA · Encabezado y pie institucional para Administración
   Nombres completamente aislados para no interferir con Admin.
   ========================================================= */

.cnla-shell-header,
.cnla-shell-footer,
.cnla-shell-header *,
.cnla-shell-footer *{
  box-sizing:border-box;
}

.cnla-shell-wrap{
  width:min(calc(100% - 40px),1180px);
  margin:0 auto;
}

.cnla-shell-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid #DDE5E9;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}

.cnla-shell-header-inner{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.cnla-shell-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  text-decoration:none;
}

.cnla-shell-brand img{
  width:50px;
  height:50px;
  object-fit:contain;
  flex:0 0 auto;
}

.cnla-shell-brand span{
  min-width:0;
}

.cnla-shell-brand strong{
  display:block;
  color:#0B4F6C;
  font-family:Arial,Helvetica,sans-serif;
  font-size:17px;
  line-height:1.15;
  white-space:nowrap;
}

.cnla-shell-brand small{
  display:block;
  margin-top:3px;
  color:#667085;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
}

.cnla-shell-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}

.cnla-shell-nav a,
.cnla-shell-admin-current{
  color:#344054;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.cnla-shell-nav a:hover{
  color:#0B4F6C;
}

.cnla-shell-admin-current{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
  border-radius:9px;
  background:#0B4F6C;
  color:#fff;
}

.cnla-shell-main{
  min-height:calc(100vh - 225px);
}

/* El contenedor administrativo conserva toda su lógica y estilos propios. */
.cnla-shell-main > .top-line{
  margin:0;
}

.cnla-shell-footer{
  position:relative;
  z-index:10;
  padding:30px 0;
  background:#06394F;
  color:#E8F4F8;
  border-top:1px solid rgba(255,255,255,.08);
  font-family:Arial,Helvetica,sans-serif;
}

.cnla-shell-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.cnla-shell-footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:250px;
}

.cnla-shell-footer-brand img{
  width:54px;
  height:54px;
  object-fit:contain;
}

.cnla-shell-footer-brand strong{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.25;
}

.cnla-shell-footer-brand small{
  display:block;
  margin-top:4px;
  color:#B9D5DF;
  font-size:12px;
}

.cnla-shell-footer-links{
  display:flex;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

.cnla-shell-footer-links a{
  color:#E8F4F8;
  font-size:12px;
  text-decoration:none;
}

.cnla-shell-footer-links a:hover{
  color:#8AD7DF;
}

@media(max-width:980px){
  .cnla-shell-nav{
    gap:10px;
  }

  .cnla-shell-nav a:nth-child(3),
  .cnla-shell-nav a:nth-child(4),
  .cnla-shell-nav a:nth-child(5){
    display:none;
  }
}

@media(max-width:720px){
  .cnla-shell-wrap{
    width:min(calc(100% - 24px),1180px);
  }

  .cnla-shell-header-inner{
    min-height:66px;
  }

  .cnla-shell-brand img{
    width:44px;
    height:44px;
  }

  .cnla-shell-brand strong{
    font-size:14px;
  }

  .cnla-shell-brand small{
    display:none;
  }

  .cnla-shell-nav a{
    display:none;
  }

  .cnla-shell-admin-current{
    min-height:34px;
    padding:0 10px;
    font-size:11px;
  }

  .cnla-shell-footer-inner{
    align-items:flex-start;
    flex-direction:column;
  }

  .cnla-shell-footer-links{
    justify-content:flex-start;
  }
}

@media(max-width:480px){
  .cnla-shell-wrap{
    width:min(calc(100% - 18px),1180px);
  }

  .cnla-shell-footer{
    padding:24px 0;
  }

  .cnla-shell-footer-brand{
    min-width:0;
  }

  .cnla-shell-footer-links{
    gap:10px 14px;
  }
}
