/* ==========================================
   Login Page - Warm Emerald Modern
   Color: Emerald green #059669 + warm neutrals
   ========================================== */
*, *::before, *::after { box-sizing: border-box; }

body, html {
    width: 100%; height: 100%; margin: 0; padding: 0;
    background: #f7f7f5;
    font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow: hidden;
}

.layadmin-user-login {
    width: 100%; height: 100%;
    display: flex; justify-content: center; align-items: center;
    padding: 20px;
}

/* Card */
.login-card {
    width: 100%; max-width: 380px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 8px 28px rgba(0,0,0,.06);
    padding: 16px 32px 24px;
    animation: cardUp .35s ease-out;
}
@keyframes cardUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Header */
.login-header { text-align: center; margin-bottom: 20px; }
.login-header h2 {
    font-size: 20px; font-weight: 700; color: #1a1a1a; margin: 0 0 4px;
}
.brand-accent { color: #059669; }
.login-header p { font-size: 13px; color: #9ca3af; margin: 0; }

.layadmin-user-login-header { display: none !important; }
.layadmin-user-login-main { width: 100%; background: transparent; }

/* Inputs */
.layui-form-item { position: relative; margin-bottom: 14px; }
.layui-input {
    height: 46px;
    background: #fafaf9 !important;
    border: 1px solid #e5e5e4 !important;
    border-radius: 10px;
    color: #1a1a1a !important;
    padding-left: 44px;
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.layui-input:focus {
    background: #fff !important;
    border-color: #059669 !important;
    box-shadow: 0 0 0 3px rgba(5,150,105,.1);
    outline: none;
}
.layui-input::placeholder { color: #a1a1aa; }

.layadmin-user-login-icon {
    color: #a1a1aa !important;
    width: 44px; line-height: 46px;
    text-align: center; position: absolute;
    top: 0; left: 0; font-size: 16px;
    transition: color .2s; z-index: 2;
}
.layui-form-item:focus-within .layadmin-user-login-icon { color: #059669 !important; }

/* Captcha */
.layui-form-item.captcha-container { display: flex; align-items: center; margin-bottom: 14px; }
.captcha-input-wrap { flex: 1; position: relative; margin-right: 10px; }
.captcha-img-wrap { width: 108px; flex-shrink: 0; height: 46px; }
.layadmin-user-login-codeimg {
    height: 46px; width: 108px; border-radius: 10px; cursor: pointer;
    border: 1px solid #e5e5e4; background: #fafaf9;
    transition: border-color .2s; object-fit: contain;
}
.layadmin-user-login-codeimg:hover { border-color: #059669; }
@media (min-width:769px) {
    .captcha-img-wrap { position: absolute; right: 0; top: 0; }
    .captcha-input-wrap { max-width: calc(100% - 118px); }
}

/* Button */
.layui-btn {
    height: 46px; line-height: 46px;
    background: linear-gradient(135deg, #059669, #047857) !important;
    border-radius: 10px; font-weight: 600;
    font-size: 15px; letter-spacing: 3px;
    border: none; color: #fff;
    transition: all .2s;
    box-shadow: 0 2px 8px rgba(5,150,105,.25);
}
.layui-btn:hover { background: linear-gradient(135deg, #047857, #065f46) !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(5,150,105,.3); }
.layui-btn:active { background: #065f46 !important; transform: none; box-shadow: none; }
.LgoinBtnDe { opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important; }

/* Other methods */
.layadmin-user-login-other {
    margin-top: 16px; padding-top: 14px;
    font-size: 12px; color: #a1a1aa;
    display: flex; align-items: center;
    border-top: 1px solid #f0eeeb;
}
.layadmin-user-login-other label { margin-right: 6px; font-size: 12px; color: #a1a1aa; }
.layadmin-user-login-other div {
    width: 32px; height: 32px; border-radius: 8px; margin: 0 3px;
    background: #f5f5f4; display: inline-flex;
    align-items: center; justify-content: center;
    cursor: pointer; transition: background .15s;
}
.layadmin-user-login-other div:hover { background: #ecebe8; }
.layadmin-user-login-other img { max-width: 16px; max-height: 16px; opacity: .55; }
.layadmin-user-login-other div:hover img { opacity: .8; }
.layadmin-user-login-other .layadmin-user-jump-change {
    color: #059669; margin-left: auto; text-decoration: none;
    font-weight: 600; font-size: 13px;
}
.layadmin-user-login-other .layadmin-user-jump-change:hover { color: #047857; }

/* SMS row */
.layui-row { display: flex; align-items: center; width: 100%; }
.layui-col-xs8 { flex: 1; padding-right: 10px; position: relative; }
.layui-col-xs4 { width: 88px; flex-shrink: 0; }
.layui-col-xs4 .layui-btn { height: 46px; line-height: 46px; font-size: 13px; letter-spacing: 0; padding: 0; }

/* Footer */
.login-footer { text-align: center; margin-top: 14px; }
.login-footer p { margin: 0; font-size: 11px; color: #c4c4c2; }

/* Kill old elements */
.layadmin-user-login-footer, .login-container, .login-brand-section, .login-form-section { display: none !important; }
.login-form-body { display: block; }
#particles-js { display: none; }
.float-effect { animation: none; }

/* Mobile */
@media (max-width: 768px) {
    body { overflow-y: auto; background: #fff; }
    .layadmin-user-login { min-height: 100vh; padding: 0; align-items: flex-start; padding-top: 8vh; }
    .login-card { max-width: 100%; border-radius: 0; box-shadow: none; padding: 12px 20px 20px; }
    .layui-input, .layui-btn { height: 44px; line-height: 44px; }
    .layadmin-user-login-icon { line-height: 44px; }
    .layadmin-user-login-codeimg { height: 44px; }
    .captcha-input-wrap { max-width: calc(100% - 106px); margin-right: 8px; }
    .captcha-img-wrap { width: 98px; height: 44px; }
    .layadmin-user-login-codeimg { width: 98px; height: 44px; }
    .layui-col-xs4 .layui-btn { height: 44px; line-height: 44px; }
}
