/**
 * 移动端「新建与导入」FAB
 * 在 #kl-mfab-root 上设置 --kl-mfab-btn-bottom / --kl-mfab-panel-bottom 微调距底（分页条、输入区等）
 *
 * 重要：btn/panel 的 bottom、top:auto 必须始终生效（勿仅放在 max-width media 内），
 * 否则在部分环境下 fixed 无垂直锚定会落在文档静态位置，表现为「跑到页面顶部」。
 */
#kl-mfab-root {
    /* 全屏占位仅用于展开时遮罩；不拦截点击（子项再开启 pointer-events） */
    pointer-events: none;
}

#kl-mfab-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 17;
}

/* 垂直方向必须显式锚定视口底部，避免 fixed 子项落到内容流顶部 */
#kl-mfab-btn,
#kl-mfab-panel {
    position: fixed !important;
    right: 1rem !important;
    left: auto !important;
    top: auto !important;
}

#kl-mfab-btn {
    bottom: calc(var(--kl-mfab-btn-bottom, 4rem) + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 19;
}

#kl-mfab-panel {
    bottom: calc(var(--kl-mfab-panel-bottom, 7rem) + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 18;
}

/* 窄屏下展开态（与原先会议库 FAB 一致） */
@media (max-width: 767px) {
    #kl-mfab-root.is-open #kl-mfab-backdrop {
        opacity: 1;
        pointer-events: auto;
        background-color: rgba(15, 23, 42, 0.4);
    }
    #kl-mfab-root.is-open #kl-mfab-panel {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: auto;
        visibility: visible;
    }
    #kl-mfab-root.is-open #kl-mfab-btn {
        background-color: #fff;
        color: #475569;
        border-color: #e2e8f0;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
    }
    #kl-mfab-root.is-open #kl-mfab-btn:hover {
        background-color: #f8fafc;
        color: #475569;
    }
    #kl-mfab-root.is-open #kl-mfab-ic {
        transform: rotate(45deg);
        color: #64748b;
    }
}
