html{height:100%}body.signin{height:auto;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;position:relative;overflow:hidden}.signinpanel{width:750px;margin:10% auto 0;color:rgba(255,255,255,.95);position:relative;z-index:10}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);-moz-box-shadow:0 8px 32px rgba(0,0,0,0.1);-webkit-box-shadow:0 8px 32px rgba(0,0,0,0.1);box-shadow:0 8px 32px rgba(0,0,0,0.1);-moz-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;padding:30px;backdrop-filter:blur(10px)}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:380px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left}.form-control,.form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus,.has-warning .form-control:focus,.navbar-collapse,.navbar-form,.navbar-form-custom .form-control:focus,.navbar-form-custom .form-control:hover,.open .btn.dropdown-toggle,.panel,.popover,.progress,.progress-bar{box-shadow:none}.form-control{border-radius:1px!important;padding:6px 12px!important;height:34px!important}.form-control:focus{border-color:#1ab394!important}body .layer-ext-moon-msg[type="dialog"]{min-width:100px!important}body .layer-ext-moon-msg{background-color:rgba(0,0,0,0.6);color:#fff;border:0}body .layer-ext-moon-msg .layui-layer-content{padding:12px 25px;text-align:center}

/* 验证码样式优化 */
.imgcode {
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.imgcode:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transform: scale(1.02);
}

.code {
    font-size: 16px;
    letter-spacing: 2px;
    text-align: center;
}

/* 验证码容器样式 */
.captcha-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 验证码输入框样式 */
.captcha-input {
    flex: 1;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 16px;
    background-color: #fff;
}

.captcha-input:focus {
    border-color: #5cb85c;
    box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.2);
    outline: none;
}

/* 验证码图片容器 */
.captcha-image-container {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .captcha-container {
        flex-direction: column;
        gap: 8px;
    }
    
    .captcha-image-container {
        width: 100%;
    }
    
    .imgcode {
        width: 100% !important;
        max-width: 200px;
    }
}

/* 炫酷动画效果 */

/* 粒子动画 */
#particles-js {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: float 20s infinite linear;
}

@keyframes float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

/* 公司Logo动画 */
.company-logo {
    font-size: 2.5em;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    margin-bottom: 20px;
}

.company-logo i {
    margin-right: 15px;
    color: #ffd700;
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    from {
        text-shadow: 0 0 5px #ffd700, 0 0 10px #ffd700, 0 0 15px #ffd700;
    }
    to {
        text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700, 0 0 30px #ffd700;
    }
}

.company-name {
    font-weight: bold;
    background: linear-gradient(45deg, #ffd700, #ffed4e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 系统标题动画 */
.system-title {
    font-size: 1.8em;
    margin-bottom: 30px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.system-title strong {
    color: #ffd700;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

/* 功能列表动画 */
.system-features ul li {
    margin-bottom: 15px;
    padding: 10px 15px;
    background: rgba(255,255,255,0.1);
    border-radius: 8px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s ease;
}

.system-features ul li:hover {
    background: rgba(255,255,255,0.2);
    transform: translateX(10px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.system-features ul li i {
    color: #ffd700;
    margin-right: 10px;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-5px);
    }
    60% {
        transform: translateY(-3px);
    }
}

/* 公司口号 */
.company-slogan {
    margin-top: 30px;
    text-align: center;
    font-style: italic;
    color: #ffd700;
    font-size: 1.1em;
}

.company-slogan i {
    margin: 0 10px;
    animation: fadeInOut 3s infinite;
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* 登录表单动画 */
.login-form {
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}

.login-title {
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.5em;
}

.login-title i {
    color: #ffd700;
    margin-right: 10px;
}

.login-subtitle {
    color: rgba(255,255,255,0.8);
    text-align: center;
    margin-bottom: 25px;
}

/* 输入框组动画 */
.input-group {
    margin-bottom: 20px;
    position: relative;
    transition: all 0.3s ease;
}

.input-group.focused {
    transform: scale(1.02);
}

.input-group-addon {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    backdrop-filter: blur(5px);
}

.input-group-addon i {
    color: #ffd700;
}

.form-control {
    background: rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    border-radius: 8px !important;
    transition: all 0.3s ease;
}

.form-control:focus {
    background: #fff !important;
    border-color: #ffd700 !important;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.2) !important;
    transform: translateY(-2px);
}

/* 登录按钮动画 */
.login-btn {
    background: linear-gradient(45deg, #667eea, #764ba2) !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 12px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

.login-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important;
    background: linear-gradient(45deg, #764ba2, #667eea) !important;
}

.login-btn:active {
    transform: translateY(-1px) !important;
}

.login-btn.btn-pulse {
    animation: btnPulse 0.6s ease-in-out;
}

@keyframes btnPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

.login-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s;
}

.login-btn:hover::before {
    left: 100%;
}

/* 验证码链接动画 */
.captcha-link {
    display: block;
    transition: all 0.3s ease;
}

.captcha-link:hover {
    transform: scale(1.05);
}

/* 页脚动画 */
.signup-footer {
    text-align: center;
    color: rgba(255,255,255,0.8);
}

.signup-footer i {
    color: #ffd700;
    margin-right: 5px;
}

/* 动画延迟类 */
.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDown {
    animation-name: fadeInDown;
}

.fadeInUp {
    animation-name: fadeInUp;
}

.fadeInRight {
    animation-name: fadeInRight;
}

/* 响应式优化 */
@media (max-width: 768px) {
    .signinpanel {
        width: 90% !important;
        margin: 5% auto 0;
    }
    
    .company-logo {
        font-size: 2em;
    }
    
    .system-title {
        font-size: 1.5em;
    }
    
    .login-form {
        padding: 20px !important;
    }
}

/* 炫酷动画效果 */

/* 粒子动画 */
#particles-js {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: float 20s infinite linear;
}

@keyframes float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

/* 公司Logo动画 */
.company-logo {
    font-size: 2.5em;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    margin-bottom: 20px;
}

.company-logo i {
    margin-right: 15px;
    color: #ffd700;
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    from {
        text-shadow: 0 0 5px #ffd700, 0 0 10px #ffd700, 0 0 15px #ffd700;
    }
    to {
        text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700, 0 0 30px #ffd700;
    }
}

.company-name {
    font-weight: bold;
    background: linear-gradient(45deg, #ffd700, #ffed4e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 系统标题动画 */
.system-title {
    font-size: 1.8em;
    margin-bottom: 30px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.system-title strong {
    color: #ffd700;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

/* 功能列表动画 */
.system-features ul li {
    margin-bottom: 15px;
    padding: 10px 15px;
    background: rgba(255,255,255,0.1);
    border-radius: 8px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s ease;
}

.system-features ul li:hover {
    background: rgba(255,255,255,0.2);
    transform: translateX(10px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.system-features ul li i {
    color: #ffd700;
    margin-right: 10px;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-5px);
    }
    60% {
        transform: translateY(-3px);
    }
}

/* 公司口号 */
.company-slogan {
    margin-top: 30px;
    text-align: center;
    font-style: italic;
    color: #ffd700;
    font-size: 1.1em;
}

.company-slogan i {
    margin: 0 10px;
    animation: fadeInOut 3s infinite;
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* 登录表单动画 */
.login-form {
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}

.login-title {
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.5em;
}

.login-title i {
    color: #ffd700;
    margin-right: 10px;
}

.login-subtitle {
    color: rgba(255,255,255,0.8);
    text-align: center;
    margin-bottom: 25px;
}

/* 输入框组动画 */
.input-group {
    margin-bottom: 20px;
    position: relative;
    transition: all 0.3s ease;
}

.input-group.focused {
    transform: scale(1.02);
}

.input-group-addon {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    backdrop-filter: blur(5px);
}

.input-group-addon i {
    color: #ffd700;
}

.form-control {
    background: rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    border-radius: 8px !important;
    transition: all 0.3s ease;
}

.form-control:focus {
    background: #fff !important;
    border-color: #ffd700 !important;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.2) !important;
    transform: translateY(-2px);
}

/* 登录按钮动画 */
.login-btn {
    background: linear-gradient(45deg, #667eea, #764ba2) !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 12px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
}

.login-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important;
    background: linear-gradient(45deg, #764ba2, #667eea) !important;
}

.login-btn:active {
    transform: translateY(-1px) !important;
}

.login-btn.btn-pulse {
    animation: btnPulse 0.6s ease-in-out;
}

@keyframes btnPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

.login-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s;
}

.login-btn:hover::before {
    left: 100%;
}

/* 验证码链接动画 */
.captcha-link {
    display: block;
    transition: all 0.3s ease;
}

.captcha-link:hover {
    transform: scale(1.05);
}

/* 页脚动画 */
.signup-footer {
    text-align: center;
    color: rgba(255,255,255,0.8);
}

.signup-footer i {
    color: #ffd700;
    margin-right: 5px;
}

/* 动画延迟类 */
.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDown {
    animation-name: fadeInDown;
}

.fadeInUp {
    animation-name: fadeInUp;
}

.fadeInRight {
    animation-name: fadeInRight;
}

/* 响应式优化 */
@media (max-width: 768px) {
    .signinpanel {
        width: 90% !important;
        margin: 5% auto 0;
    }
    
    .company-logo {
        font-size: 2em;
    }
    
    .system-title {
        font-size: 1.5em;
    }
    
    .login-form {
        padding: 20px !important;
    }
}