@charset "UTF-8";
/* ============================================================
 * login.css — 登录页专用样式
 * ============================================================ */

/* ---------- 根字号 / 文本缩放锚定 ----------
   企微与 Android WebView 会按客户端「字体大小」设置改写默认字号，
   Bootstrap 大量使用 rem，默认字号一变整页尺寸就跟着变，表现为
   「每个功能块被放大」、与手机浏览器不一致。这里显式固定根字号，
   并关闭移动端文字自动放大（text autosizing）。 */
html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.mes-login-page {
    background: linear-gradient(135deg, var(--ink), var(--accent), var(--accent-ink));
    min-height: 100vh;
    /* 企微/手机浏览器底部工具栏会挤占视口，100vh 普遍偏大导致内容被顶出屏幕 */
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin: 0;
}

.login-card {
    width: 100%;
    max-width: 400px;
    border-radius: 16px;
    border: none;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.login-card h3 {
    text-align: center;
    color: var(--ink);
    margin-bottom: 24px;
}

.login-body {
    padding: 36px 32px;
}

.wecom-tip {
    background: #f0f9ff;
    border-left: 4px solid var(--accent);
    color: var(--ink);
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    margin-bottom: 16px;
}

.error-box {
    background: var(--danger-bg);
    border-left: 4px solid var(--danger);
    color: var(--danger-ink);
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    margin-bottom: 16px;
}

/* 记住账号 + 选择语言 同一行（2026-10-22） */
.login-opts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 18px;
}
.login-remember {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    /* 字号/字重/颜色沿用全局 label 规则（12.5px / 500 / --ink-2），与「选择语言」保持一致 */
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.login-remember input {
    width: 15px;
    height: 15px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--accent, #2f5fe0);
}
.login-opts .mes-langselect { height: 28px; font-size: 12.5px; }

/* ============================================================
 * 手机端 / 企微内置浏览器
 * 企微 X5 内核有时按虚拟桌面宽度（约 980px）渲染，max-width:768px
 * 不触发，导致手机上仍套用桌面字号与内边距。叠加「触屏 + 视口不超
 * 1024」判定兜底，与 report.css 保持同一套判定逻辑。
 * ============================================================ */
@media (max-width: 768px), (pointer: coarse) and (max-width: 1024px) {
    body.mes-login-page { padding: 12px; }

    .login-body { padding: 26px 20px; }

    .login-card h3 {
        font-size: 20px;
        margin-bottom: 18px;
    }

    .wecom-tip,
    .error-box {
        font-size: 12px;
        padding: 8px 10px;
        margin-bottom: 12px;
    }
}
