/* 公共属性 */
body{font-size: 14px; color: #666;}
.zyl_center{text-align: center;}

/* ========= 登录页顶部 LOGO + 品牌标题区（统一防换行/错位/响应式） ========= */
.login-header{
    display: flex;
    align-items: center;
    justify-content: flex-start;       /* 左对齐（用户要求，不要居中） */
    flex-wrap: nowrap;                 /* 关键：禁止 LOGO/标题 换行成两行，解决错位 */
    padding: 14px 28px 6px 28px;
    gap: 0;                            /* 用子项自己的 margin 控制间距 */
    width: 100%;
    box-sizing: border-box;
    min-height: 56px;
}
/* 登录页 LOGO：横向 XYT 品牌图，自适应不变形，正常屏 48px 高 */
.login-header .logocss{
    height: 48px;                      /* 54→48，整体更紧凑，给标题留横向空间 */
    width: auto;
    max-width: 420px;                  /* 超宽屏 LOGO 不会拉太大 */
    min-width: 120px;
    flex: 0 0 auto;                    /* LOGO 不被压缩 */
    float: none !important;
    display: block;
    margin-right: 16px;
    object-fit: contain;
    vertical-align: middle;
}
/* 登录页品牌标题文字："鑫乐涛生产管理系统"（单行、不折行、溢出省略号） */
.login-header .login-brandtitle{
    display: block;
    flex: 1 1 auto;                    /* 标题占满剩余宽度 */
    margin: 0;
    padding: 0;
    position: relative;
    top: 1px;
    color: #0f172a;                    /* 深蓝 与 LOGO 配色协调 */
    font-size: 22px;                   /* 26→22，更紧凑，配合 LOGO 48px */
    font-weight: 600;
    letter-spacing: 0.5px;             /* 1→0.5，字距缩小 50%，再省 8~12px 宽度 */
    line-height: 1.2;
    white-space: nowrap;               /* 关键：标题也不换行 */
    overflow: hidden;                  /* 超出宽度隐藏 */
    text-overflow: ellipsis;           /* 极端窄屏末尾显示 … 避免两行错位 */
    font-family: "PingFang SC","Microsoft YaHei","微软雅黑",Arial,sans-serif;
}

/* --- 窄屏（≤1366，很多笔记本默认分辨率）再缩一级，确保一定一行 --- */
@media (max-width: 1366px){
    .login-header{padding: 12px 22px 4px 22px; min-height: 50px;}
    .login-header .logocss{height: 40px; max-width: 340px; margin-right: 14px;}
    .login-header .login-brandtitle{font-size: 18px; letter-spacing: 0.5px;}
}
/* --- 平板/小屏（≤1024）标题可接受进一步缩小，LOGO 保持最小 120px 可辨认 --- */
@media (max-width: 1024px){
    .login-header{padding: 10px 18px 4px 18px; min-height: 46px;}
    .login-header .logocss{height: 36px; max-width: 300px; margin-right: 12px;}
    .login-header .login-brandtitle{font-size: 16px; letter-spacing: 0.3px; font-weight: 600;}
}

/* 间距 */
.zyl_pad_01{padding: 5px 20px 5px 20px;}
.zyl_mar_01{margin-top: 20px;}
.zyl_mar_02{margin-top: 30px;}


/* 登陆表单 */
.zyl_lofo_main{background-color: rgba(255,255,255,0.9); width: 450px; height: 350px;position: absolute; right: 10%; top: 22%; z-index: 99999999;border-radius:10px;}
.zyl_lofo_icon{position: absolute; left: 5px; top: 8px; font-size: 20px;}
.zyl_lofo_vercode{line-height: 35px; padding-left: 30px; font-size: 24px;}
@media screen and (max-width: 768px) {
	.zyl_lofo_main{width: 100%; height: 350px; right: 0;}
}
.error{ color:Red; padding:18px 0px 18px;  width:100%; text-align:center; display:block}

/* 粒子背景 */
.zyl_login_cont{width: 100%; height: 100%; background-color: #009688;}


/* 背景虚影 -- 虚影样式源于网络  */
.background {
  width: 100vw;
  height: 100vh;
  background: linear-gradient(-45deg,  #3E1E68, #00CBFF, #0081FF, #3E1E68); background-size: 400% 400%; -webkit-animation: Gradient 15s ease infinite; -moz-animation: Gradient 15s ease infinite; animation: Gradient 15s ease infinite;
}
@-webkit-keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}

@-moz-keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}

@keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
.background span {
  width:20vmin;
  height: 20vmin;
  border-radius: 20vmin;
  backface-visibility: hidden;
  position: absolute;
  animation-name: move;
  animation-duration: 6s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.background span:nth-child(1) {
  color: #FFACAC;
  top: 44%;
  left: 97%;
  animation-duration: 15s;
  animation-delay: -13.8s;
  transform-origin: 11vw -22vh;
  box-shadow: 40vmin 0 10.12735945vmin currentColor;
}
.background span:nth-child(2) {
  color: #E45A84;
  top: 93%;
  left: 8%;
  animation-duration: 13.8s;
  animation-delay: -10.9s;
  transform-origin: 10vw 23vh;
  box-shadow: 40vmin 0 12.7346672971vmin currentColor;
}
.background span:nth-child(3) {
  color: #FFACAC;
  top: 14%;
  left: 41%;
  animation-duration: 15.9s;
  animation-delay: -6.7s;
  transform-origin: -9vw -24vh;
  box-shadow: -40vmin 0 11.4923952406vmin currentColor;
}
.background span:nth-child(4) {
  color: #E45A84;
  top: 52%;
  left: 75%;
  animation-duration: 14.3s;
  animation-delay: -12.6s;
  transform-origin: 16vw 25vh;
  box-shadow: 40vmin 0 13.3657534039vmin currentColor;
}
.background span:nth-child(5) {
  color: #FFACAC;
  top: 7%;
  left: 5%;
  animation-duration: 15.9s;
  animation-delay: -10s;
  transform-origin: 8vw 3vh;
  box-shadow: -40vmin 0 13.3942178273vmin currentColor;
}
.background span:nth-child(6) {
  color: #FFACAC;
  top: 35%;
  left: 1%;
  animation-duration: 11.6s;
  animation-delay: -6s;
  transform-origin: 0vw 17vh;
  box-shadow: -40vmin 0 7.6304875279vmin currentColor;
}
.background span:nth-child(7) {
  color: #FFACAC;
  top: 42%;
  left: 84%;
  animation-duration: 11s;
  animation-delay: -6.9s;
  transform-origin: 11vw -8vh;
  box-shadow: 40vmin 0 13.6665321499vmin currentColor;
}
.background span:nth-child(8) {
  color: #E45A84;
  top: 53%;
  left: 95%;
  animation-duration: 15s;
  animation-delay: -10.9s;
  transform-origin: 25vw 15vh;
  box-shadow: 40vmin 0 13.2849881717vmin currentColor;
}
.background span:nth-child(9) {
  color: #FFACAC;
  top: 75%;
  left: 67%;
  animation-duration: 11.7s;
  animation-delay: -13.9s;
  transform-origin: -11vw -3vh;
  box-shadow: 40vmin 0 7.2158804055vmin currentColor;
}
.background span:nth-child(10) {
  color: #583C87;
  top: 59%;
  left: 51%;
  animation-duration: 12.1s;
  animation-delay: -11.7s;
  transform-origin: -5vw -7vh;
  box-shadow: -40vmin 0 7.4269772253vmin currentColor;
}
.background span:nth-child(11) {
  color: #FFACAC;
  top: 80%;
  left: 91%;
  animation-duration: 13.4s;
  animation-delay: -5.9s;
  transform-origin: 7vw -19vh;
  box-shadow: 40vmin 0 11.2741559637vmin currentColor;
}
.background span:nth-child(12) {
  color: #FFACAC;
  top: 68%;
  left: 97%;
  animation-duration: 15.8s;
  animation-delay: -8.2s;
  transform-origin: 24vw 3vh;
  box-shadow: 40vmin 0 11.2552482722vmin currentColor;
}
.background span:nth-child(13) {
  color: #FFACAC;
  top: 69%;
  left: 46%;
  animation-duration: 10.4s;
  animation-delay: -11.5s;
  transform-origin: 13vw 24vh;
  box-shadow: -40vmin 0 6.2939412125vmin currentColor;
}
.background span:nth-child(14) {
  color: #E45A84;
  top: 98%;
  left: 63%;
  animation-duration: 14.2s;
  animation-delay: -3s;
  transform-origin: -13vw -15vh;
  box-shadow: -40vmin 0 10.5039271244vmin currentColor;
}
.background span:nth-child(15) {
  color: #583C87;
  top: 12%;
  left: 20%;
  animation-duration: 14s;
  animation-delay: -6.8s;
  transform-origin: 7vw 20vh;
  box-shadow: 40vmin 0 10.924056322vmin currentColor;
}
.background span:nth-child(16) {
  color: #E45A84;
  top: 29%;
  left: 20%;
  animation-duration: 11s;
  animation-delay: -14.4s;
  transform-origin: -20vw 4vh;
  box-shadow: -40vmin 0 13.3859956789vmin currentColor;
}
.background span:nth-child(17) {
  color: #FFACAC;
  top: 88%;
  left: 87%;
  animation-duration: 10.7s;
  animation-delay: -3.7s;
  transform-origin: -11vw 12vh;
  box-shadow: 40vmin 0 14.8726292689vmin currentColor;
}
.background span:nth-child(18) {
  color: #583C87;
  top: 57%;
  left: 35%;
  animation-duration: 10.1s;
  animation-delay: -13.6s;
  transform-origin: -19vw -1vh;
  box-shadow: 40vmin 0 8.5771411832vmin currentColor;
}
.background span:nth-child(19) {
  color: #583C87;
  top: 11%;
  left: 37%;
  animation-duration: 11.5s;
  animation-delay: -10.1s;
  transform-origin: -20vw 22vh;
  box-shadow: 40vmin 0 8.1729042124vmin currentColor;
}
.background span:nth-child(20) {
  color: #583C87;
  top: 53%;
  left: 60%;
  animation-duration: 12.3s;
  animation-delay: -11.3s;
  transform-origin: 10vw -1vh;
  box-shadow: 40vmin 0 13.5347652223vmin currentColor;
}

@keyframes move {
  100% {
    transform: translate3d(0, 0, 1px) rotate(360deg);
  }
}