/* =========================================================================
   登录弹窗（layui-layer）美化 —— Puock Child
   作用域：.layui-layer 弹层 + #front-login-form，不碰其它页面
   弹窗任何页面都可能打开，因此全站加载（未登录才入队，已登录不加载）
   ========================================================================= */

/* ---------- 外壳 ---------- */
.layui-layer.layui-layer-page {
    border-radius: 18px !important;
    overflow: hidden;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 32px 80px -32px rgba(16, 24, 40, .45) !important;
}

.layui-layer-title {
    background: #fff !important;
    border-bottom: 1px solid #f0f2f5 !important;
    height: 54px !important;
    line-height: 54px !important;
    padding: 0 24px !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    color: #16202b !important;
    letter-spacing: -.01em;
}

.layui-layer-close {
    color: #98a2b3 !important;
    font-size: 15px !important;
}

.layui-layer-close:hover {
    color: #1f2d3d !important;
}

.min-width-modal {
    padding: 16px 24px 22px !important;
}

/* ---------- 表单 ---------- */
#front-login-form .form-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2c3742 !important;
    margin-bottom: 7px !important;
}

#front-login-form .form-control {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 11px !important;
    background: #fbfcfd !important;
    border: 1px solid #e4e8ed !important;
    color: #16202b !important;
    font-size: 14px !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#front-login-form .form-control:focus {
    background: #fff !important;
    border-color: #34c96f !important;
    box-shadow: 0 0 0 4px rgba(52, 201, 111, .13) !important;
}

#front-login-form .form-control::placeholder {
    color: #a9b3bf !important;
}

#front-login-form img.captcha {
    height: 44px !important;
    max-width: 130px;
    border-radius: 11px !important;
    border: 1px solid #e9ecef !important;
    background: #fff;
    cursor: pointer;
    transition: filter .18s ease;
}

#front-login-form img.captcha:hover {
    filter: brightness(1.05);
}

#front-login-form .form-check-input {
    width: 38px;
    height: 21px;
}

#front-login-form .form-check-input:checked {
    background-color: #25a95c;
    border-color: #25a95c;
}

#front-login-form .form-check-label {
    font-size: 13px;
    color: #46515f;
}

/* ---------- 找回密码表单（与登录框统一） ---------- */
#front-forget-password-form .form-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2c3742 !important;
    margin-bottom: 7px !important;
}

#front-forget-password-form .form-control {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 11px !important;
    background: #fbfcfd !important;
    border: 1px solid #e4e8ed !important;
    color: #16202b !important;
    font-size: 14px !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

#front-forget-password-form .form-control:focus {
    background: #fff !important;
    border-color: #34c96f !important;
    box-shadow: 0 0 0 4px rgba(52, 201, 111, .13) !important;
}

#front-forget-password-form .form-control::placeholder {
    color: #a9b3bf !important;
}

/* 申请结果 */
.pkr-fp-ok {
    text-align: center;
    padding: 18px 4px 6px;
}

.pkr-fp-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    border-radius: 50%;
    background: linear-gradient(180deg, #34c96f, #23a558);
    box-shadow: 0 14px 26px -14px rgba(35, 165, 88, .8);
}

.pkr-fp-title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #16202b;
}

.pkr-fp-desc {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.75;
    color: #6b7684;
}

.pkr-fp-msg {
    margin: 0 0 14px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.6;
    border-radius: 10px;
}

.pkr-fp-err {
    color: #a52a2a;
    background: #fdf0f0;
}

/* ---------- 提交按钮：整行胶囊渐变 ---------- */
#front-login-form button[type=submit],
#front-forget-password-form button[type=submit] {
    width: 100% !important;
    height: 46px !important;
    margin: 8px 0 4px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: linear-gradient(180deg, #34c96f, #23a558) !important;
    color: #fff !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    box-shadow: 0 14px 26px -12px rgba(35, 165, 88, .75), inset 0 1px 0 rgba(255, 255, 255, .28);
    transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease, filter .2s ease;
}

#front-login-form button[type=submit]:hover,
#front-forget-password-form button[type=submit]:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 20px 34px -14px rgba(35, 165, 88, .8);
}

/* ---------- 链接 ---------- */
#front-login-form a {
    color: #25a95c !important;
    font-weight: 500;
}

#front-login-form .pkr-forget-plain {
    color: #8a94a6 !important;
    font-weight: 400 !important;
    font-size: 13px;
}

/* 注册入口（pkr-modal.js 注入） */
.pkr-register-entry {
    margin-top: 18px !important;
    padding-top: 14px !important;
    border-top: 1px solid #eef0f3;
    text-align: center;
    font-size: 13px;
    color: #8a94a6;
}

.pkr-register-entry a {
    color: #25a95c !important;
    font-weight: 600 !important;
    text-decoration: none;
}

.pkr-register-entry a:hover {
    text-decoration: underline;
}

/* ---------- 第三方登录 ---------- */
.min-width-modal .t-separator {
    color: #98a2b3 !important;
    font-size: 12px !important;
    margin-top: 22px !important;
    margin-bottom: 8px !important;
}

.min-width-modal .btn {
    border-radius: 999px !important;
    font-weight: 500 !important;
    padding: 0 18px !important;
    height: 38px !important;
    border: 0 !important;
}

/* 两颗按钮等宽、适中、居中 */
.min-width-modal .d-flex.flex-wrap {
    gap: 12px !important;
}

.min-width-modal .d-flex.flex-wrap > a.btn {
    flex: 0 0 auto !important;
    width: 112px !important;
    margin: 0 !important;
    justify-content: center !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

/* QQ 品牌色（对齐社交卡片 #12B7F5） */
.min-width-modal a.btn[href*="qq"],
.min-width-modal a.btn:has(i.fa-qq) {
    background: linear-gradient(180deg, #2cc3fa, #0ea7e0) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(18, 183, 245, .65) !important;
}

/* GitHub 品牌色（#24292f） */
.min-width-modal a.btn[href*="github"],
.min-width-modal a.btn:has(i.fa-github) {
    background: linear-gradient(180deg, #3a434d, #24292f) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -8px rgba(36, 41, 47, .55) !important;
}

.min-width-modal a.btn[href*="qq"]:hover,
.min-width-modal a.btn:has(i.fa-qq):hover {
    filter: brightness(1.05);
    transform: translateY(-2px);
    box-shadow: 0 12px 22px -8px rgba(18, 183, 245, .75) !important;
}

.min-width-modal a.btn[href*="github"]:hover,
.min-width-modal a.btn:has(i.fa-github):hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 12px 22px -8px rgba(36, 41, 47, .6) !important;
}

/* ---------- 暗色模式 ---------- */
html[data-bs-theme="dark"] .layui-layer.layui-layer-page,
body.dark .layui-layer.layui-layer-page {
    background: #1e2227 !important;
    border-color: #2b3037 !important;
    box-shadow: 0 32px 80px -32px rgba(0, 0, 0, .8) !important;
}

html[data-bs-theme="dark"] .layui-layer-title,
body.dark .layui-layer-title {
    background: #1e2227 !important;
    border-bottom-color: #2b3037 !important;
    color: #e6ebf1 !important;
}

html[data-bs-theme="dark"] .layui-layer-close,
body.dark .layui-layer-close {
    color: #9aa6b3 !important;
}

html[data-bs-theme="dark"] #front-login-form .form-label,
body.dark #front-login-form .form-label {
    color: #c3ccd6 !important;
}

html[data-bs-theme="dark"] #front-login-form .form-control,
body.dark #front-login-form .form-control {
    background: #23282e !important;
    border-color: #333b44 !important;
    color: #e6ebf1 !important;
}

html[data-bs-theme="dark"] #front-login-form .form-control:focus,
body.dark #front-login-form .form-control:focus {
    background: #262c33 !important;
}

html[data-bs-theme="dark"] #front-login-form img.captcha,
body.dark #front-login-form img.captcha {
    background: #fff;
}

html[data-bs-theme="dark"] #front-login-form .form-check-label,
body.dark #front-login-form .form-check-label {
    color: #c3ccd6;
}

html[data-bs-theme="dark"] .pkr-register-entry,
body.dark .pkr-register-entry {
    border-top-color: #2b3037;
    color: #9aa6b3;
}
