/* ===== 移动端 APP 式 UI 适配（≤768px） ===== */
@charset "utf-8";
@media (max-width: 768px) {

    /* ===== 设计令牌 ===== */
    :root {
        --m-primary: #1890ff;
        --m-primary-dark: #096dd9;
        --m-primary-light: #e6f7ff;
        --m-success: #52c41a;
        --m-warning: #faad14;
        --m-error: #ff4d4f;
        --m-text: #1a1a2e;
        --m-text2: #4a4a68;
        --m-text3: #9a9ab0;
        --m-border: #e8e8ee;
        --m-bg: #f2f3f5;
        --m-card: #ffffff;
        --m-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
        --m-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
        --m-radius: 12px;
        --m-radius-sm: 8px;
        --m-space: 14px;
    }

    /* ===== 全局基础 ===== */
    * {
        -webkit-tap-highlight-color: transparent;
    }

    html,
    body {
        font-size: 15px;
        font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
        color: var(--m-text);
        background: var(--m-bg) !important;
        -webkit-font-smoothing: antialiased;
        line-height: 1.5;
    }

    body {
        padding: 0 !important;
        padding-bottom: 70px !important;
    }

    /* ===== 顶部导航栏（项目用 .top-bar 非 layui-header） ===== */
    .top-bar,
    .layui-layout-admin .layui-header,
    .layui-header,
    header.layui-header,
    div.layui-header {
        height: 48px !important;
        line-height: 48px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: var(--m-text) !important;
        box-shadow: 0 1px 0 var(--m-border) !important;
        position: relative;
        z-index: 100;
    }

    .top-bar .logo,
    .top-bar .logo-short {
        color: var(--m-text) !important;
    }

    /* ===== 移动端顶部栏精简 ===== */
    .top-bar .top-left {
        flex: 1;
        min-width: 0;
        overflow: hidden;
    }

    .top-bar .top-left .logo,
    .top-bar .top-left .logo-short {
        max-width: 140px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .top-bar .top-right {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-shrink: 0;
    }

    /* 隐藏顶部栏多余元素（移入头像菜单） */
    .top-bar .top-right .msg-btn#clearCacheBtn {
        display: none !important;
    }

    .top-bar .top-right .msg-btn#msgBtn {
        display: none !important;
    }

    .top-bar .top-right .user-meta {
        display: none !important;
    }

    .top-bar .top-right .logout-btn {
        display: none !important;
    }

    /* 头像：可点击，显示为圆形按钮 */
    .top-bar .top-right .user-info {
        cursor: pointer;
        display: flex;
        align-items: center;
        padding: 0;
        margin: 0;
    }

    .top-bar .top-right .user-info .avatar {
        width: 34px;
        height: 34px;
        font-size: 14px;
        background: var(--m-primary) !important;
        color: #fff !important;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* 头像菜单 */
    .avatar-menu {
        display: none;
        position: fixed;
        top: 54px;
        right: 12px;
        width: 180px;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        z-index: 1500;
        overflow: hidden;
        animation: menuSlideDown 0.2s ease;
    }

    .avatar-menu.show {
        display: block;
    }

    @keyframes menuSlideDown {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .avatar-menu-header {
        padding: 14px 16px;
        border-bottom: 1px solid #f0f0f0;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .avatar-menu-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--m-primary);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        font-weight: 600;
        flex-shrink: 0;
    }

    .avatar-menu-info {
        overflow: hidden;
    }

    .avatar-menu-name {
        font-size: 15px;
        font-weight: 600;
        color: #1a1a2e;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .avatar-menu-role {
        font-size: 12px;
        color: #999;
        margin-top: 2px;
    }

    .avatar-menu-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 16px;
        font-size: 15px;
        color: #1a1a2e;
        cursor: pointer;
        transition: background 0.15s;
    }

    .avatar-menu-item:active {
        background: #f5f5f5;
    }

    .avatar-menu-item .menu-icon {
        width: 20px;
        text-align: center;
        font-size: 18px;
        color: #666;
        font-family: 'layui-icon' !important;
        font-style: normal;
    }

    .avatar-menu-item.danger {
        color: #ff4d4f;
    }

    .avatar-menu-item.danger .menu-icon {
        color: #ff4d4f;
    }

    .avatar-menu-badge {
        margin-left: auto;
        background: #ff4d4f;
        color: #fff;
        font-size: 11px;
        padding: 2px 7px;
        border-radius: 10px;
        font-weight: 600;
    }

    .avatar-menu-mask {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1400;
    }

    .avatar-menu-mask.show {
        display: block;
    }

    .top-bar .hamburger {
        background: transparent !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0;
        width: 36px;
        height: 36px;
        padding: 0;
        position: relative;
        z-index: 1100;
    }

    .top-bar .hamburger span {
        background: var(--m-text) !important;
        width: 20px;
        height: 2px;
        border-radius: 2px;
        transition: all 0.3s ease;
        position: absolute;
    }

    .top-bar .hamburger span:nth-child(1) {
        transform: translateY(-6px);
    }

    .top-bar .hamburger span:nth-child(2) {
        transform: translateY(0);
    }

    .top-bar .hamburger span:nth-child(3) {
        transform: translateY(6px);
    }

    /* 汉堡 → X 动画 */
    .top-bar .hamburger.active span:nth-child(1) {
        transform: rotate(45deg);
    }

    .top-bar .hamburger.active span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }

    .top-bar .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg);
    }

    /* ===== 全屏菜单 overlay ===== */
    .mobile-fullmenu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
        z-index: 2000;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .mobile-fullmenu.open {
        transform: translateX(0);
    }

    .fullmenu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border-bottom: 1px solid #f0f0f0;
        flex-shrink: 0;
        min-height: 56px;
    }

    .fullmenu-brand {
        display: flex;
        align-items: center;
        gap: 10px;
        overflow: hidden;
    }

    .fullmenu-logo {
        width: 36px;
        height: 36px;
        border-radius: 8px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .fullmenu-title {
        font-size: 15px;
        font-weight: 600;
        color: #1a1a2e;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .fullmenu-close {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        font-size: 28px;
        color: #666;
        cursor: pointer;
        flex-shrink: 0;
        border-radius: 8px;
        transition: background 0.2s;
    }

    .fullmenu-close:active {
        background: #f5f5f5;
    }

    .fullmenu-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 8px 0;
    }

    .fullmenu-group {
        margin-bottom: 4px;
    }

    .fullmenu-group-title {
        font-size: 12px;
        font-weight: 600;
        color: #999;
        padding: 12px 20px 6px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .fullmenu-item {
        display: block;
        padding: 14px 20px;
        font-size: 16px;
        color: #1a1a2e;
        text-decoration: none;
        border-bottom: 1px solid #f5f5f5;
        transition: background 0.15s;
    }

    .fullmenu-item:active {
        background: #f5f5f5;
    }

    .fullmenu-logout {
        color: #ff4d4f;
        margin-top: 8px;
        border-top: 1px solid #f0f0f0;
    }

    /* 强制覆盖 layui 主题色 */
    .layui-nav .layui-nav-item a:hover,
    .layui-nav .layui-nav-item a:active {
        background: transparent !important;
    }

    /* ===== 侧边栏抽屉（覆盖全屏） ===== */
    body .side-menu {
        position: fixed !important;
        top: 0 !important;
        left: -280px !important;
        width: 280px !important;
        max-width: 80vw !important;
        height: 100vh !important;
        z-index: 1050 !important;
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        background: #fff !important;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15) !important;
        padding-top: 8px !important;
    }

    body .side-menu.open {
        left: 0 !important;
    }

    /* 全屏半透明遮罩（覆盖 index.css 的 display:none） */
    body .mobile-mask {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: 1040 !important;
        backdrop-filter: blur(2px);
        transition: opacity 0.3s ease !important;
    }

    body .mobile-mask.show {
        display: block !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .layui-layout-admin .layui-body {
        left: 0 !important;
        bottom: 56px !important;
        padding: 0 !important;
        background: var(--m-bg);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .layui-layout-admin .layui-footer {
        display: none;
    }

    .side-mask {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 999;
        backdrop-filter: blur(4px);
    }

    .side-mask.show {
        display: block;
    }

    /* ===== 面包屑 ===== */
    .breadcrumb {
        font-size: 13px;
        color: var(--m-text3);
        padding: 12px var(--m-space) 0;
        background: transparent;
    }

    .breadcrumb a {
        color: var(--m-primary);
        text-decoration: none;
    }

    /* =============================================
       出库管理 - 新建出库单 表单页 APP 化
       ============================================= */

    /* -- 页面容器 -- */
    .form-container {
        padding: var(--m-space) !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    /* -- 标题 -- */
    .form-container>h2 {
        font-size: 20px;
        font-weight: 700;
        color: var(--m-text);
        margin: 0 0 16px 0 !important;
        padding: 0 2px;
        letter-spacing: -0.3px;
    }

    /* -- 表单外层卡片 -- */
    .form-container .layui-form {
        background: var(--m-card);
        border-radius: var(--m-radius);
        padding: 16px var(--m-space);
        box-shadow: var(--m-shadow);
        margin-bottom: var(--m-space);
        overflow: hidden;
    }

    /* -- 表单网格：手机端单列堆叠 -- */
    .form-grid {
        display: block !important;
        gap: 0 !important;
    }

    /* -- 表单项 -- */
    .form-grid .layui-form-item,
    .form-container .layui-form-item {
        display: block !important;
        margin-bottom: 14px !important;
        padding: 0;
        overflow: visible;
    }

    .form-grid .layui-form-item:last-child {
        margin-bottom: 0 !important;
    }

    /* -- 标签样式：清除 layui float + 全宽堆叠 -- */
    .form-grid .layui-form-label,
    .form-container .layui-form-label {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 0 6px 0 !important;
        font-size: 13px;
        font-weight: 500;
        color: var(--m-text2);
        line-height: 1.4;
        text-align: left;
        display: block !important;
        min-width: auto !important;
    }

    .form-grid .layui-input-block,
    .form-container .layui-input-block {
        width: 100% !important;
        margin-left: 0 !important;
        min-height: 44px;
        padding-left: 0 !important;
        overflow: visible;
    }

    /* -- 输入框 APP 风格 -- */
    .form-grid .layui-input,
    .form-grid input.layui-input,
    .form-container input.layui-input {
        height: 44px !important;
        line-height: 44px !important;
        padding: 0 14px !important;
        font-size: 15px;
        border: 1.5px solid var(--m-border) !important;
        border-radius: var(--m-radius-sm) !important;
        background: var(--m-bg) !important;
        color: var(--m-text);
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .form-grid .layui-input:focus,
    .form-container input.layui-input:focus {
        border-color: var(--m-primary) !important;
        box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12) !important;
        background: #fff !important;
    }

    .form-grid .layui-input::placeholder,
    .form-container input.layui-input::placeholder {
        color: var(--m-text3);
        font-size: 14px;
    }

    /* -- 下拉框修复：隐藏溢出箭头 -- */
    .form-container .layui-form-select,
    .form-grid .layui-form-select {
        overflow: hidden;
    }

    .form-container .layui-form-select::after,
    .form-grid .layui-form-select::after,
    .form-container .layui-form-select dl,
    .form-grid .layui-form-select dl {
        right: 0 !important;
    }

    /* smart-select 组件：允许下拉框溢出 */
    .form-container .smart-select-wrap,
    .form-grid .smart-select-wrap {
        position: relative;
        overflow: visible;
    }

    .form-container .smart-select-dropdown,
    .form-grid .smart-select-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        max-height: 200px;
        overflow-y: auto;
        z-index: 100;
        background: #fff;
        border-radius: var(--m-radius-sm);
        box-shadow: var(--m-shadow-md);
        border: 1px solid var(--m-border);
    }

    /* -- 添加行按钮 -- */
    .btn-add-row {
        width: 100% !important;
        height: 44px !important;
        line-height: 44px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        font-weight: 600;
        border-radius: var(--m-radius-sm) !important;
        background: var(--m-card) !important;
        color: var(--m-primary) !important;
        border: 1.5px dashed var(--m-primary) !important;
        margin-bottom: var(--m-space) !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 6px;
        transition: all 0.2s;
    }

    .btn-add-row:active {
        transform: scale(0.98);
        background: var(--m-primary-light) !important;
    }

    .btn-add-row .layui-icon {
        font-size: 18px;
    }

    /* -- 商品表格：隐藏表头，改为卡片式 -- */
    .row-table {
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        border: none !important;
        margin-bottom: var(--m-space) !important;
        background: transparent;
    }

    /* 隐藏桌面端表头 */
    .row-table thead {
        display: none !important;
    }

    /* 每行商品变成一张卡片 */
    .row-table tbody tr {
        background: var(--m-card);
        border-radius: var(--m-radius);
        box-shadow: var(--m-shadow);
        margin-bottom: 10px;
        padding: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        animation: mFadeIn 0.3s ease;
    }

    @keyframes mFadeIn {
        from {
            opacity: 0;
            transform: translateY(8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* 表格单元格改为标签+值的列表布局 */
    .row-table td {
        display: flex;
        align-items: center;
        padding: 10px 14px !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        min-height: 44px;
        font-size: 14px;
        gap: 8px;
    }

    .row-table td:last-child {
        border-bottom: none !important;
    }

    /* 每个 td 前面加字段名标签 */
    .row-table td::before {
        content: attr(data-label);
        flex-shrink: 0;
        width: 70px;
        font-size: 13px;
        color: var(--m-text3);
        font-weight: 500;
        text-align: right;
        padding-right: 4px;
    }

    /* td 内的 input/select 自动撑满 */
    .row-table td input,
    .row-table td select,
    .row-table td .layui-input,
    .row-table td .smart-input {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1;
        height: 38px !important;
        line-height: 38px !important;
        padding: 0 10px !important;
        font-size: 14px;
        border: 1px solid var(--m-border) !important;
        border-radius: 6px !important;
        background: var(--m-bg) !important;
    }

    /* "删除"按钮行特殊样式 */
    .row-table td:last-child {
        justify-content: flex-end;
        padding: 8px 14px !important;
    }

    .row-table td:last-child::before {
        display: none;
    }

    .row-table td .layui-btn-danger,
    .row-table td button[onclick*="remove"],
    .row-table td .btn-delete,
    .row-table td .layui-btn {
        background: #fff0f0 !important;
        color: var(--m-error) !important;
        border: none !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        padding: 0 14px !important;
        height: 34px !important;
        line-height: 34px !important;
    }

    /* 金额显示 */
    .row-table td .amount,
    .row-table td [id*="total"],
    .row-table td:last-child .value {
        font-family: 'SF Mono', 'Menlo', monospace;
        color: var(--m-error);
        font-weight: 600;
    }

    /* -- 合计栏 -- */
    .summary-bar {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: 16px var(--m-space) !important;
        box-shadow: var(--m-shadow);
        margin-bottom: var(--m-space) !important;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }

    .summary-bar label {
        font-size: 14px;
        font-weight: 500;
        color: var(--m-text2);
    }

    .summary-bar .value {
        font-size: 22px !important;
        font-weight: 700;
        color: var(--m-primary) !important;
        font-family: 'SF Mono', 'Menlo', monospace;
        letter-spacing: -0.5px;
    }

    /* -- 提交/重置按钮（表单页） -- */
    .form-container>div[style*="text-align: center"],
    .form-container>div:last-child {
        padding: 0 var(--m-space);
        margin-top: 8px !important;
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }

    .form-container #submitBtn,
    .form-container .layui-btn-normal {
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        font-size: 16px !important;
        font-weight: 600;
        border-radius: var(--m-radius-sm) !important;
        background: linear-gradient(135deg, var(--m-primary) 0%, var(--m-primary-dark) 100%) !important;
        color: #fff !important;
        border: none !important;
        box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
        letter-spacing: 1px;
    }

    .form-container #submitBtn:active,
    .form-container .layui-btn-normal:active {
        transform: scale(0.98);
        box-shadow: 0 2px 6px rgba(24, 144, 255, 0.3);
    }

    .form-container #resetBtn,
    .form-container .layui-btn-primary {
        width: 100% !important;
        height: 48px !important;
        line-height: 48px !important;
        font-size: 16px !important;
        font-weight: 500;
        border-radius: var(--m-radius-sm) !important;
        background: var(--m-card) !important;
        color: var(--m-text2) !important;
        border: 1.5px solid var(--m-border) !important;
    }

    .form-container #resetBtn:active,
    .form-container .layui-btn-primary:active {
        background: var(--m-bg) !important;
        transform: scale(0.98);
    }

    /* =============================================
       列表页通用 - 移动端卡片列表模式
       ============================================= */

    /* -- layui 表格容器：移动端隐藏表格，用卡片列表替代 -- */
    .layui-table-view {
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .layui-table-view .layui-table-box,
    .layui-table-view .layui-table,
    .layui-table-view .layui-table-header,
    .layui-table-view .layui-table-body,
    .layui-table-view .layui-fixed,
    .layui-table-view .layui-form,
    .layui-table-view .layui-table-page {
        display: none !important;
    }

    /* -- 移动端卡片列表容器 -- */
    .mobile-card-list {
        padding: 0 var(--m-space) !important;
        background: var(--m-bg);
    }

    /* -- 单张卡片 -- */
    .mobile-card {
        background: var(--m-card);
        border-radius: var(--m-radius);
        box-shadow: var(--m-shadow);
        margin-bottom: 10px;
        overflow: hidden;
        animation: mFadeIn 0.3s ease;
    }

    /* 卡片头部：单号 + 金额 + 状态 */
    .m-card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 14px 10px;
        border-bottom: 1px solid #f5f5f5;
    }

    .m-card-no {
        font-size: 15px;
        font-weight: 600;
        color: var(--m-text);
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .m-card-amount {
        font-size: 16px;
        font-weight: 700;
        color: var(--m-error);
        font-family: 'SF Mono', 'Menlo', monospace;
        flex-shrink: 0;
        margin-left: 8px;
    }

    /* 卡片中部：信息行 */
    .m-card-body {
        padding: 10px 14px;
    }

    .m-card-row {
        display: flex;
        align-items: center;
        padding: 5px 0;
        font-size: 13px;
        line-height: 1.5;
    }

    .m-card-label {
        color: var(--m-text3);
        flex-shrink: 0;
        width: 56px;
        font-weight: 500;
    }

    .m-card-value {
        color: var(--m-text2);
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* 状态标签 */
    .m-card-status {
        display: inline-block;
        font-size: 12px;
        font-weight: 500;
        padding: 2px 8px;
        border-radius: 4px;
        flex-shrink: 0;
    }

    .m-card-status.pending {
        background: #fff7e6;
        color: #fa8c16;
    }

    .m-card-status.approved {
        background: #f6ffed;
        color: #1f8b27;
    }

    .m-card-status.rejected {
        background: #fff1f0;
        color: #ff4d4f;
    }

    .m-card-status.draft {
        background: #f5f5f5;
        color: #999;
    }

    .m-card-status.voided {
        background: #f5f5f5;
        color: #999;
        text-decoration: line-through;
    }

    .m-card-status.invoiced {
        background: #f6ffed;
        color: #1f8b27;
    }

    .m-card-status.uninvoiced {
        background: #f5f5f5;
        color: #999;
    }

    .m-card-status.partial {
        background: #fff7e6;
        color: #fa8c16;
    }

    /* 卡片底部：操作按钮 */
    .m-card-footer {
        display: flex;
        align-items: center;
        padding: 8px 14px 12px;
        gap: 8px;
        border-top: 1px solid #f5f5f5;
        flex-wrap: wrap;
    }

    .m-card-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 32px;
        padding: 0 12px;
        font-size: 12px;
        font-weight: 500;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        transition: all 0.15s;
        gap: 4px;
        white-space: nowrap;
    }

    .m-card-btn:active {
        transform: scale(0.95);
    }

    .m-card-btn.primary {
        background: var(--m-primary-light);
        color: var(--m-primary);
    }

    .m-card-btn.success {
        background: #f6ffed;
        color: #1f8b27;
    }

    .m-card-btn.warning {
        background: #fff7e6;
        color: #fa8c16;
    }

    .m-card-btn.danger {
        background: #fff1f0;
        color: #ff4d4f;
    }

    .m-card-btn.default {
        background: #f5f5f5;
        color: var(--m-text2);
    }

    .m-card-footer .m-card-spacer {
        flex: 1;
    }

    /* -- 移动端分页 -- */
    .mobile-pagination {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding: 14px 0 20px;
        flex-wrap: wrap;
    }

    .mobile-pagination .m-page-btn {
        min-width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--m-radius-sm);
        background: var(--m-card);
        color: var(--m-text2);
        font-size: 14px;
        border: none;
        box-shadow: var(--m-shadow);
        cursor: pointer;
        padding: 0 12px;
    }

    .mobile-pagination .m-page-btn.active {
        background: var(--m-primary);
        color: #fff;
        font-weight: 600;
    }

    .mobile-pagination .m-page-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }

    .m-page-info {
        font-size: 13px;
        color: var(--m-text3);
        width: 100%;
        text-align: center;
        margin-top: 6px;
    }

    /* ===== 移动端卡片批量选择 ===== */
    .m-card-check {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        border: 2px solid var(--m-border);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        margin-right: 10px;
        transition: all 0.2s;
        cursor: pointer;
    }

    .m-card-check:active {
        transform: scale(0.9);
    }

    .m-card-check.selected {
        border-color: var(--m-primary);
        background: var(--m-primary);
    }

    .m-card-check.selected::after {
        content: '\2713';
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
    }

    /* 浮动批量操作栏 */
    .mobile-batch-bar {
        position: fixed;
        bottom: 56px;
        left: 0;
        right: 0;
        background: #fff;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1);
        padding: 10px 14px;
        z-index: 100;
        animation: slideUpBar 0.2s ease;
    }

    @keyframes slideUpBar {
        from {
            transform: translateY(100%);
            opacity: 0;
        }

        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .m-batch-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .m-batch-count {
        font-size: 13px;
        color: var(--m-text2);
    }

    .m-batch-count b {
        color: var(--m-primary);
        font-weight: 600;
    }

    .m-batch-select-all {
        font-size: 13px;
        color: var(--m-primary);
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px 0;
        font-weight: 500;
    }

    .m-batch-cancel {
        font-size: 13px;
        color: var(--m-text3);
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px 0;
    }

    .m-batch-actions {
        display: flex;
        gap: 8px;
    }

    .m-batch-actions .m-card-btn {
        flex: 1;
        height: 36px;
        font-size: 13px;
    }

    /* ===== 搜索栏（列表页） ===== */
    .toolbar {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: var(--m-space) !important;
        box-shadow: var(--m-shadow) !important;
        margin-bottom: var(--m-space) !important;
    }

    /* 工具栏内输入框/下拉框：全宽 */
    .toolbar>input[type="text"],
    .toolbar>select,
    .toolbar>.layui-input {
        width: 100% !important;
        min-height: 44px !important;
        margin: 8px 0 !important;
        float: none !important;
        display: block !important;
    }

    /* 移动端隐藏旧的PC批量操作栏（由卡片式浮动批量栏替代） */
    .batch-toolbar {
        display: none !important;
    }

    /* 移动端隐藏工具栏中的导出/导入按钮 */
    .toolbar>#exportExcelBtn,
    .toolbar>#exportPdfBtn,
    .toolbar>#importBtn {
        display: none !important;
    }

    /* ===== 统计中心导出按钮组 ===== */
    body .layui-form[lay-filter="sForm"] .layui-form-item {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    body .layui-form[lay-filter="sForm"] .layui-inline {
        display: flex !important;
        width: calc(50% - 4px) !important;
        margin: 0 !important;
    }
    body .layui-form[lay-filter="sForm"] .layui-inline select,
    body .layui-form[lay-filter="sForm"] .layui-inline .layui-input,
    body .layui-form[lay-filter="sForm"] .layui-inline .layui-btn {
        width: 100% !important;
        margin: 0 !important;
        min-height: 42px !important;
    }
    /* 导出按钮组独占整行并纵向堆叠 */
    body .layui-form[lay-filter="sForm"] .layui-inline:last-child {
        width: 100% !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    body .layui-form[lay-filter="sForm"] .layui-inline:last-child .layui-btn {
        flex: none !important;
        width: 100% !important;
    }

    /* 按钮行容器：两列并排等宽 */
    .btn-group-row {
        display: flex !important;
        gap: 8px !important;
        margin: 8px 0 !important;
        width: 100% !important;
    }

    .btn-group-row .layui-btn {
        flex: 1 !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        border-radius: var(--m-radius-sm) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        width: auto !important;
        float: none !important;
    }

    /* 兼容旧选择器 */
    .toolbar>.layui-btn,
    .toolbar>button {
        float: none !important;
        width: auto !important;
        min-height: 40px !important;
        margin: 4px 0 !important;
        padding: 0 16px !important;
        border-radius: var(--m-radius-sm) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        display: inline-block !important;
    }

    .toolbar>#searchBtn,
    .toolbar>#resetBtn,
    .toolbar>#exportExcelBtn,
    .toolbar>#exportPdfBtn {
        width: auto !important;
        flex: none !important;
    }

    /* 批量操作栏：紧凑网格 */
    .batch-toolbar,
    .batch-bar {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 8px 0 !important;
        padding: 10px var(--m-space) !important;
        align-items: center;
    }

    .batch-toolbar>span {
        font-size: 14px;
        color: var(--m-text2);
        width: 100%;
        margin-bottom: 4px;
    }

    .batch-toolbar .layui-btn,
    .batch-bar .layui-btn {
        flex: 1 1 calc(50% - 8px) !important;
        min-width: 0 !important;
        min-height: 40px !important;
        font-size: 13px !important;
        margin: 0 !important;
        width: auto !important;
    }

    .inline-filter,
    .inline-filter select,
    .inline-filter input {
        width: 100% !important;
        min-height: 40px;
    }

    .inline-filter select,
    .inline-filter input {
        padding: 10px 12px;
        font-size: 14px;
        border: 1.5px solid var(--m-border);
        border-radius: var(--m-radius-sm);
        background: var(--m-bg);
    }

    .filter-sep {
        display: none;
    }

    /* ===== 通用卡片容器 ===== */
    .layui-card {
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        border: none !important;
    }

    .layui-card-header {
        border-bottom: 1px solid #f5f5f5 !important;
        font-weight: 600;
        font-size: 15px;
        padding: 14px var(--m-space) !important;
    }

    .layui-card-body {
        padding: var(--m-space) !important;
    }

    /* ===== 模态框（确认框居中，内容框全屏） ===== */
    .layui-layer {
        border-radius: var(--m-radius) !important;
    }

    /* 确认/提示弹窗 → 居中显示 */
    .layui-layer-dialog,
    .layui-layer-confirm,
    .layui-layer-warn {
        width: auto !important;
        max-width: calc(100vw - 48px) !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        border-radius: var(--m-radius) !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    }

    .layui-layer-dialog .layui-layer-content,
    .layui-layer-confirm .layui-layer-content,
    .layui-layer-warn .layui-layer-content {
        padding: 20px 20px 10px 50px !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: var(--m-text) !important;
        min-height: auto !important;
    }

    /* 确认弹窗图标定位 */
    .layui-layer-dialog .layui-layer-content .layui-layer-icon,
    .layui-layer-confirm .layui-layer-content .layui-layer-icon,
    .layui-layer-warn .layui-layer-content .layui-layer-icon {
        left: 16px !important;
        top: 18px !important;
        font-size: 22px !important;
    }

    /* 内容型弹窗（表单、详情）→ 全屏 */
    .layui-layer-page,
    .layui-layer-iframe {
        width: 100vw !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    /* type:1 内容弹窗 → 全屏（排除确认/警告/输入弹窗） */
    body>.layui-layer:not(.layui-layer-dialog):not(.layui-layer-confirm):not(.layui-layer-warn):not(.layui-layer-msg):not(.layui-layer-prompt) {
        width: 100vw !important;
        height: 100vh !important;
        left: 0 !important;
        top: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    /* 输入弹窗（prompt）→ 居中显示 */
    .layui-layer-prompt {
        width: auto !important;
        max-width: calc(100vw - 48px) !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

    /* prompt 内的 textarea 宽度 */
    .layui-layer-prompt textarea {
        width: 240px !important;
        min-height: 80px !important;
        padding: 10px !important;
        font-size: 14px !important;
        border: 1.5px solid var(--m-border) !important;
        border-radius: var(--m-radius-sm) !important;
    }

    /* 确认弹窗按钮 → 水平并排 */
    .layui-layer-confirm .layui-layer-btn,
    .layui-layer-dialog .layui-layer-btn {
        flex-direction: row !important;
    }

    .layui-layer-confirm .layui-layer-btn a,
    .layui-layer-dialog .layui-layer-btn a {
        flex: 1 !important;
        min-width: 80px !important;
    }

    .layui-layer-title {
        height: 50px;
        line-height: 50px;
        font-size: 16px;
        font-weight: 600;
        padding: 0 16px;
        background: #fff;
        border-bottom: 1px solid var(--m-border);
        flex-shrink: 0 !important;
    }

    .layui-layer-content {
        padding: var(--m-space) !important;
        background: var(--m-bg);
        -webkit-overflow-scrolling: touch;
    }

    /* type:1 全屏弹窗（表单/详情）→ 内容区可滚动，底部按钮区固定可见 */
    body>.layui-layer:not(.layui-layer-dialog):not(.layui-layer-confirm):not(.layui-layer-warn):not(.layui-layer-msg):not(.layui-layer-prompt) .layui-layer-content {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        min-height: 0 !important;
    }

    /* 表单内自带的提交/取消按钮（非 layer.btn 参数）：移动端铺满、间距明显、可点击 */
    .layui-layer .layui-form-item:last-child,
    .layui-layer .form-footer {
        margin-top: 8px !important;
        margin-bottom: 4px !important;
    }

    .layui-layer .layui-form-item:last-child .layui-btn,
    .layui-layer .form-footer .layui-btn {
        width: 100% !important;
        height: 46px !important;
        line-height: 46px !important;
        font-size: 16px !important;
        margin: 0 0 12px 0 !important;
        box-sizing: border-box !important;
        border-radius: var(--m-radius-sm) !important;
    }

    /* 表单内主按钮：提交/保存 */
    .layui-layer .layui-form-item:last-child .layui-btn[lay-submit],
    .layui-layer .layui-form-item:last-child .layui-btn.layui-btn-normal,
    .layui-layer .layui-form-item:last-child .layui-btn.layui-btn-green,
    .layui-layer .form-footer .layui-btn[lay-submit],
    .layui-layer .form-footer .layui-btn.layui-btn-normal,
    .layui-layer .form-footer .layui-btn.layui-btn-green {
        background: #1f8b27 !important;
        border-color: #1f8b27 !important;
        color: #fff !important;
    }

    /* 表单内次要按钮：取消/关闭 */
    .layui-layer .layui-form-item:last-child .layui-btn.layui-btn-primary,
    .layui-layer .layui-form-item:last-child .layui-btn.layui-btn-danger,
    .layui-layer .form-footer .layui-btn.layui-btn-primary,
    .layui-layer .form-footer .layui-btn.layui-btn-danger {
        background: #fff !important;
        border-color: #1f8b27 !important;
        color: #1f8b27 !important;
    }

    .layui-layer .layui-form-item:last-child .layui-btn + .layui-btn {
        margin-top: 0 !important;
    }

    .layui-layer-btn {
        padding: 12px 16px;
        background: #fff;
        border-top: 1px solid var(--m-border);
        display: flex;
        gap: 12px;
        flex-shrink: 0 !important;
        align-items: center;
        box-sizing: border-box;
    }

    .layui-layer-btn a {
        flex: 1 1 0;
        height: 44px;
        line-height: 44px;
        font-size: 15px;
        font-weight: 500;
        border-radius: var(--m-radius-sm);
        text-align: center;
        padding: 0 12px;
        box-sizing: border-box;
        border: 1px solid transparent;
        transition: none;
    }

    /* 主按钮：保存/确定 */
    .layui-layer-btn a.layui-layer-btn0,
    .layui-layer-btn a:first-child:last-child {
        background: #1f8b27 !important;
        border-color: #1f8b27 !important;
        color: #fff !important;
    }

    /* 次要按钮：取消/关闭 */
    .layui-layer-btn a.layui-layer-btn1,
    .layui-layer-btn a + a {
        background: #fff !important;
        border-color: #1f8b27 !important;
        color: #1f8b27 !important;
    }

    /* 再高一级优先级：确保 layer.confirm / layer.alert / 任何 dialog 的按钮都被覆盖 */
    body>.layui-layer .layui-layer-btn a.layui-layer-btn0,
    body>.layui-layer .layui-layer-btn a:first-child:last-child {
        background: #1f8b27 !important;
        border-color: #1f8b27 !important;
        color: #fff !important;
    }

    body>.layui-layer .layui-layer-btn a.layui-layer-btn1,
    body>.layui-layer .layui-layer-btn a + a {
        background: #fff !important;
        border-color: #1f8b27 !important;
        color: #1f8b27 !important;
    }

    /* 避免 hover 时文字/背景被 layui 默认样式覆盖 */
    .layui-layer-btn a:hover,
    body>.layui-layer .layui-layer-btn a:hover {
        opacity: .92;
    }

    .layui-layer-btn a.layui-layer-btn1:hover,
    .layui-layer-btn a + a:hover,
    body>.layui-layer .layui-layer-btn a.layui-layer-btn1:hover,
    body>.layui-layer .layui-layer-btn a + a:hover {
        background: #f0f9f1 !important;
    }

    /* 模态框表单 */
    .layui-layer .layui-form-item {
        display: block;
        margin-bottom: 16px;
    }

    /* ===== 日期选择器手机端放大 ===== */
    .layui-laydate {
        max-width: calc(100vw - 32px) !important;
    }

    .layui-laydate-content table {
        width: 100%;
    }

    .layui-laydate-content th,
    .layui-laydate-content td {
        height: 40px !important;
        font-size: 15px !important;
    }

    .layui-laydate-content td {
        padding: 4px 0 !important;
    }

    .layui-laydate-footer {
        height: auto !important;
        padding: 8px 10px !important;
        line-height: 1.5 !important;
    }

    .layui-laydate-footer span {
        height: 36px !important;
        line-height: 36px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        border-radius: var(--m-radius-sm) !important;
    }

    .layui-laydate-footer span.layui-laydate-preview {
        height: auto !important;
        line-height: 1.5 !important;
        padding: 4px 0 !important;
    }

    /* ===== 订阅设置弹窗优化 ===== */
    .layui-layer-page .sub-form {
        padding: 16px !important;
        background: var(--m-card);
    }

    .layui-layer-page .sub-item {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 0 !important;
        border-bottom: 1px solid var(--m-border) !important;
        gap: 12px;
    }

    .layui-layer-page .sub-item:last-child {
        border-bottom: none !important;
    }

    .layui-layer-page .sub-item>div:first-child {
        flex: 1 !important;
        min-width: 0;
    }

    .layui-layer-page .sub-item .label {
        font-size: 15px !important;
        font-weight: 500 !important;
        color: var(--m-text) !important;
        margin-bottom: 2px !important;
    }

    .layui-layer-page .sub-item .desc {
        font-size: 12px !important;
        color: var(--m-text3) !important;
        line-height: 1.4 !important;
        margin-top: 2px !important;
    }

    .layui-layer-page .layui-form-switch {
        margin-top: 0 !important;
        flex-shrink: 0;
    }

    .layui-layer .layui-form-label {
        width: 100% !important;
        max-width: none !important;
        padding: 0 0 8px 0;
        font-size: 14px;
        color: var(--m-text2);
        font-weight: 500;
    }

    .layui-layer .layui-input-block,
    .layui-layer .layui-input-inline {
        width: 100%;
        margin-left: 0;
    }

    .layui-layer .layui-input,
    .layui-layer .layui-textarea,
    .layui-layer .layui-select {
        width: 100%;
        min-height: 44px;
        padding: 10px 14px;
        font-size: 15px;
        border: 1.5px solid var(--m-border);
        border-radius: var(--m-radius-sm);
        background: var(--m-bg);
    }

    .layui-layer .layui-textarea {
        min-height: 100px;
    }

    /* 编辑入库单等内容弹窗 → 用 .modal-mobile-wrap 精确控制 */
    .modal-mobile-wrap {
        padding: 14px !important;
    }

    /* 查看明细面板 */
    #detailPanel {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin: 10px var(--m-space) !important;
        overflow: hidden !important;
    }

    /* 明细面板内的表格：横向滚动 */
    #detailPanel .layui-table-view,
    #detailPanel>div>.layui-table {
        overflow-x: auto !important;
        display: block !important;
        margin: 0 !important;
    }

    #detailPanel table {
        min-width: 600px !important;
        width: 100% !important;
        margin: 0 !important;
        background: var(--m-card) !important;
    }

    #detailPanel table thead {
        background: var(--m-bg) !important;
    }

    #detailPanel table th,
    #detailPanel table td {
        padding: 10px 12px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    /* 弹窗表单字段：横向 → 纵向堆叠 */
    .modal-mobile-wrap .modal-fields {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        margin-bottom: 12px;
    }

    .modal-mobile-wrap .modal-fields>span,
    .modal-mobile-wrap .modal-fields>label {
        display: block !important;
        padding: 10px 0;
        border-bottom: 1px solid #f5f5f5;
        font-size: 15px;
        color: var(--m-text);
    }

    .modal-mobile-wrap .modal-fields>label>input,
    .modal-mobile-wrap .modal-fields>label .layui-input {
        width: 100% !important;
        display: block !important;
        margin-top: 6px;
    }

    /* 弹窗内 layui-table → 卡片式 */
    .modal-mobile-wrap .edit-table {
        background: transparent !important;
        margin: 0 !important;
    }

    .modal-mobile-wrap .edit-table thead {
        display: none !important;
    }

    .modal-mobile-wrap .edit-table tbody tr {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        margin-bottom: 10px;
        display: flex !important;
        flex-direction: column;
        overflow: hidden;
    }

    .modal-mobile-wrap .edit-table td {
        display: flex !important;
        align-items: center !important;
        padding: 10px 14px !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        font-size: 14px !important;
        gap: 8px;
    }

    .modal-mobile-wrap .edit-table td:last-child {
        border-bottom: none !important;
        justify-content: flex-end !important;
    }

    .modal-mobile-wrap .edit-table td::before {
        content: attr(data-label);
        flex-shrink: 0;
        width: 70px;
        font-size: 13px;
        color: var(--m-text3);
        font-weight: 500;
        text-align: right;
    }

    .modal-mobile-wrap .edit-table td input,
    .modal-mobile-wrap .edit-table td .layui-input,
    .modal-mobile-wrap .edit-table td select {
        width: 100% !important;
        flex: 1;
        height: 38px !important;
        font-size: 14px;
    }

    /* 弹窗内操作按钮（保存/取消）堆叠 */
    .modal-mobile-wrap .modal-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px 0 0 !important;
    }

    .modal-mobile-wrap .modal-actions .layui-btn {
        width: 100% !important;
        height: 44px !important;
        font-size: 15px !important;
        border-radius: var(--m-radius-sm) !important;
    }

    /* ===== 分页 ===== */
    .layui-table-page {
        padding: 14px var(--m-space) !important;
        background: var(--m-card);
        border-radius: var(--m-radius);
        margin-top: 0;
        box-shadow: var(--m-shadow);
        height: auto !important;
    }

    .layui-laypage {
        display: flex;
        justify-content: center;
        gap: 6px;
        flex-wrap: wrap;
    }

    /* 覆盖 layui 表格内分页的 26px 高度 */
    .layui-table-page .layui-laypage a,
    .layui-table-page .layui-laypage span,
    .layui-laypage a,
    .layui-laypage span {
        min-width: 42px !important;
        height: 42px !important;
        line-height: 42px !important;
        padding: 0 12px !important;
        font-size: 14px !important;
        border-radius: var(--m-radius-sm);
        background: #f5f5f5 !important;
        color: var(--m-text2) !important;
        border: none !important;
        margin-bottom: 0 !important;
    }

    .layui-laypage a:hover {
        background: #e8e8e8 !important;
    }

    /* 当前页样式 - 高优先级选择器 */
    .layui-table-page .layui-laypage .layui-laypage-curr,
    .layui-table-view .layui-laypage .layui-laypage-curr,
    .layui-laypage .layui-laypage-curr {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: var(--m-primary) !important;
        background-color: var(--m-primary) !important;
        border-radius: var(--m-radius-sm) !important;
        min-width: 42px !important;
        height: 42px !important;
        line-height: 42px !important;
    }

    /* 隐藏 layui 的 em 背景元素 */
    .layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em,
    .layui-table-view .layui-laypage .layui-laypage-curr .layui-laypage-em,
    .layui-laypage .layui-laypage-curr .layui-laypage-em {
        display: none !important;
    }

    /* 数字文字样式 */
    .layui-table-page .layui-laypage .layui-laypage-curr em,
    .layui-table-view .layui-laypage .layui-laypage-curr em,
    .layui-laypage .layui-laypage-curr em {
        color: #fff !important;
        font-style: normal !important;
        position: relative !important;
        z-index: 1 !important;
    }

    /* ===== 底部导航 ===== */
    .bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        background: #fff;
        border-top: 1px solid var(--m-border);
        display: flex;
        justify-content: space-around;
        align-items: center;
        z-index: 998;
        box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.04);
        padding-bottom: env(safe-area-inset-bottom);
    }

    .bottom-nav-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        color: var(--m-text3);
        text-decoration: none;
        font-size: 11px;
        transition: color 0.2s;
        gap: 2px;
    }

    .bottom-nav-item i {
        font-size: 22px;
    }

    .bottom-nav-item.active {
        color: var(--m-primary);
    }

    .bottom-nav-item:active {
        background: var(--m-primary-light);
    }

    /* ===== 触摸优化 ===== */
    .layui-btn,
    .layui-input,
    .layui-select,
    .layui-form-switch,
    a,
    button {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.04);
    }

    * {
        touch-action: manipulation;
    }

    /* ===== 滚动条隐藏 ===== */
    ::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    /* ===== 页面加载动画 ===== */
    .page-loading {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 48px;
        height: 48px;
        background: rgba(0, 0, 0, 0.7);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }

    .page-loading i {
        font-size: 28px;
        color: #fff;
    }

    /* ===== 淡入动画 ===== */
    @keyframes mFadeIn {
        from {
            opacity: 0;
            transform: translateY(8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .form-container,
    .layui-table-view,
    .dashboard {
        animation: mFadeIn 0.25s ease;
    }

    /* =============================================
       仪表盘 APP 化
       ============================================= */

    .dashboard {
        padding: var(--m-space) !important;
        padding-bottom: 70px !important;
    }

    /* -- KPI 卡片：2x2 网格 -- */
    .kpi-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: var(--m-space) !important;
    }

    .kpi-card {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: 14px !important;
        box-shadow: var(--m-shadow) !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .kpi-card .kpi-icon {
        width: 40px !important;
        height: 40px !important;
        border-radius: 10px !important;
        font-size: 20px !important;
        flex-shrink: 0;
    }

    .kpi-card .kpi-value {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: var(--m-text) !important;
        line-height: 1.1 !important;
        font-family: 'SF Mono', 'Menlo', monospace;
    }

    .kpi-card .kpi-label {
        font-size: 12px !important;
        color: var(--m-text3) !important;
        margin-top: 2px !important;
    }

    .kpi-card .kpi-arrow {
        display: none !important;
    }

    .kpi-card:active {
        transform: scale(0.97);
        transition: transform 0.15s;
    }

    /* -- 图表区：单列 + 更小高度 -- */
    .chart-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: var(--m-space) !important;
        margin-bottom: var(--m-space) !important;
    }

    .chart-box {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: 14px !important;
        box-shadow: var(--m-shadow) !important;
    }

    .chart-box .chart-title {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--m-text) !important;
        margin-bottom: 8px !important;
    }

    .chart-box .chart-container {
        height: 320px !important;
        min-height: 300px;
    }

    .chart-link-hint {
        opacity: 1 !important;
        font-size: 11px !important;
        color: var(--m-primary) !important;
    }

    /* -- 表格区：单列 + 卡片化 -- */
    .table-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: var(--m-space) !important;
        margin-bottom: var(--m-space) !important;
    }

    .table-box {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: 14px !important;
        box-shadow: var(--m-shadow) !important;
    }

    .table-box .table-title {
        font-size: 15px !important;
        font-weight: 600 !important;
        color: var(--m-text) !important;
        margin-bottom: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .table-link {
        font-size: 12px !important;
        color: var(--m-primary) !important;
    }

    /* 仪表盘内表格 → 隐藏表头 + 卡片行 */
    .table-box .layui-table {
        background: transparent !important;
    }

    .table-box .layui-table thead {
        display: none !important;
    }

    .table-box .layui-table td {
        display: flex !important;
        align-items: center !important;
        padding: 10px 8px !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        font-size: 13px !important;
        gap: 6px;
    }

    .table-box .layui-table td:last-child {
        border-bottom: none !important;
    }

    .table-box .layui-table td::before {
        content: attr(data-label);
        flex-shrink: 0;
        width: 56px;
        font-size: 12px;
        color: var(--m-text3);
        font-weight: 500;
        text-align: right;
    }

    /* 空数据提示 */
    .table-box .layui-table td[colspan] {
        justify-content: center;
        color: var(--m-text3);
        font-size: 13px;
        padding: 20px 8px !important;
    }

    .table-box .layui-table td[colspan]::before {
        display: none;
    }

    /* -- 快捷入口：2x2 网格 -- */
    .quick-links {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: var(--m-space) !important;
    }

    .quick-link-card {
        background: var(--m-card) !important;
        border-radius: var(--m-radius) !important;
        padding: 20px 14px !important;
        box-shadow: var(--m-shadow) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .quick-link-card .layui-icon {
        font-size: 28px !important;
        color: var(--m-success) !important;
    }

    .quick-link-card span {
        font-size: 13px !important;
        color: var(--m-text) !important;
        font-weight: 500 !important;
    }

    .quick-link-card:active {
        transform: scale(0.96);
        transition: transform 0.15s;
    }

    /* =============================================
       功能总览 - 流程节点 手机端网格化
       （覆盖 dashboard.css 的纵向堆叠，避免整屏被节点占满）
       ============================================= */
    body .dashboard-flow {
        padding: var(--m-space) !important;
        padding-bottom: 70px !important;
        max-width: 100% !important;
    }

    body .flow-section {
        padding: 14px var(--m-space) !important;
        margin-bottom: 12px !important;
        box-shadow: var(--m-shadow) !important;
    }

    body .flow-title {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }

    /* 流程轨：改为 2 列网格，节点紧凑排列 */
    body .flow-lane {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
        counter-reset: fnStep;
    }

    /* 隐藏桌面端流程箭头（网格模式下用序号表达步骤顺序） */
    body .flow-arrow {
        display: none !important;
    }

    /* 节点卡片化 */
    body .flow-node {
        width: auto !important;
        padding: 11px 10px 11px 30px !important;
        font-size: 13px !important;
        justify-content: flex-start !important;
        border-radius: 10px !important;
        min-height: 46px !important;
        position: relative !important;
        background: var(--m-card) !important;
        border: 1px solid var(--m-border) !important;
        box-shadow: var(--m-shadow) !important;
    }

    body .flow-node i {
        font-size: 16px !important;
    }

    body .flow-node:hover {
        border-color: var(--m-primary) !important;
        background: var(--m-primary-light) !important;
        color: var(--m-primary) !important;
    }

    /* 流程步骤序号徽标 */
    body .flow-node::before {
        counter-increment: fnStep;
        content: counter(fnStep);
        position: absolute !important;
        left: 9px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 16px !important;
        height: 16px !important;
        border-radius: 50% !important;
        background: var(--m-primary) !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 16px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }

    /* ===== 通用：非 .toolbar 页面（如商机管理）搜索表单移动端堆叠 ===== */
    body .layui-card-body .layui-form .layui-form-item {
        display: block !important;
        margin-bottom: 10px !important;
    }
    body .layui-card-body .layui-form .layui-inline {
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px 0 !important;
    }
    body .layui-card-body .layui-form .layui-inline .layui-input,
    body .layui-card-body .layui-form .layui-inline select,
    body .layui-card-body .layui-form .layui-inline input,
    body .layui-card-body .layui-form .layui-inline .layui-form-select {
        width: 100% !important;
        min-height: 44px !important;
    }
    body .layui-card-body .layui-form .layui-inline .layui-btn {
        width: 100% !important;
        height: 44px !important;
        margin: 0 !important;
    }

    /* ===== 统计卡片：手机端网格化 ===== */
    /* 发票管理（layui-col-md4，3 张）→ 单列堆叠 */
    body .layui-col-md4 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 10px !important;
    }
    /* 回款统计（layui-col-md3 / layui-col-sm6，6 张）→ 两列网格 */
    body .layui-col-md3,
    body .layui-col-sm6 {
        width: 50% !important;
        float: left !important;
        margin-bottom: 10px !important;
    }
    body .layui-card-body[style*="text-align:center"] .layui-card,
    body .layui-col-md3 .layui-card,
    body .layui-col-sm6 .layui-card,
    body .layui-col-md4 .layui-card {
        margin: 0 !important;
        box-shadow: var(--m-shadow) !important;
        border-radius: var(--m-radius) !important;
    }

    /* ===== 通知消息页手机端 ===== */
    .notify-layout {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
    .notify-main {
        overflow: visible !important;
    }
    .notify-topbar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 12px var(--m-space) !important;
    }
    .notify-topbar .actions {
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
    .notify-topbar .actions .layui-btn {
        margin-bottom: 6px !important;
    }
    .notify-filterbar {
        padding: 10px var(--m-space) !important;
        gap: 10px !important;
    }
    .category-tabs {
        width: 100% !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 4px !important;
    }
    .category-tab {
        flex-shrink: 0 !important;
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
    .date-filter {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
    }
    .date-filter input,
    .date-filter button {
        width: 100% !important;
        height: 40px !important;
    }
    .notify-content {
        padding: 10px var(--m-space) !important;
        overflow: visible !important;
    }
    .notify-table,
    .notify-table thead,
    .notify-table tbody,
    .notify-table tr,
    .notify-table th,
    .notify-table td {
        display: block !important;
        width: 100% !important;
    }
    .notify-table thead {
        display: none !important;
    }
    .notify-table tbody tr {
        background: #fff !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin-bottom: 10px !important;
        padding: 12px !important;
        position: relative !important;
    }
    .notify-table tbody tr.unread {
        background: #f6ffed !important;
    }
    .notify-table td {
        border: none !important;
        padding: 4px 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .notify-table td:first-child {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        width: auto !important;
        padding: 0 !important;
    }
    .notify-table td.title-cell {
        max-width: none !important;
        padding-right: 32px !important;
    }
    .notify-table .title-row {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .notify-table .title-text {
        white-space: normal !important;
        font-size: 14px !important;
    }
    .notify-table .notify-summary {
        display: block !important;
        color: #666 !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        margin-top: 6px !important;
    }
    .notify-table td.time-cell,
    .notify-table td.type-cell {
        font-size: 12px !important;
        color: #999 !important;
    }
    .notify-table td.op-cell {
        width: auto !important;
        justify-content: flex-end !important;
        padding-top: 6px !important;
        border-top: 1px solid #f0f0f0 !important;
        margin-top: 4px !important;
    }
    .notify-batchbar {
        padding: 12px var(--m-space) !important;
        gap: 10px !important;
    }
    .batch-left {
        width: 100% !important;
    }
    .batch-actions {
        width: 100% !important;
        flex-wrap: wrap !important;
    }
    .batch-actions .layui-btn {
        flex: 1 !important;
        min-width: 0 !important;
        margin-bottom: 6px !important;
    }
    .notify-pager {
        width: 100% !important;
        justify-content: center !important;
    }

    /* ===== 审批中心手机端 ===== */
    body .approval-summary {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 0 var(--m-space) !important;
        margin-bottom: 10px !important;
    }
    body .approval-summary .sum-card {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 14px 16px !important;
        margin: 0 !important;
    }
    body .approval-summary .sum-card .v {
        font-size: 24px !important;
    }
    body .appr-table {
        background: transparent !important;
    }
    body .appr-table thead {
        display: none !important;
    }
    body .appr-table tbody tr {
        display: block !important;
        background: #fff !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin: 0 var(--m-space) 10px !important;
        padding: 12px !important;
    }
    body .appr-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 6px 0 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        font-size: 13px !important;
    }
    body .appr-table td:last-child {
        border-bottom: none !important;
        justify-content: flex-end !important;
        gap: 16px !important;
        padding-top: 8px !important;
    }
    body .appr-table td::before {
        color: #888 !important;
        font-weight: 500 !important;
    }
    body .appr-table td:nth-child(1)::before { content: '类型'; }
    body .appr-table td:nth-child(2)::before { content: '单号'; }
    body .appr-table td:nth-child(3)::before { content: '往来单位'; }
    body .appr-table td:nth-child(4)::before { content: '创建人'; }
    body .appr-table td:nth-child(5)::before { content: '日期'; }
    body .appr-table td:nth-child(6)::before { content: '金额'; }
    body .appr-table td:nth-child(7)::before { content: '操作'; }
    body .appr-table .op-link {
        font-size: 14px !important;
        margin: 0 !important;
    }

    /* ===== 仓库管理手机端 ===== */
    body .wh-toolbar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: var(--m-space) var(--m-space) 0 !important;
        margin-bottom: 10px !important;
    }
    body .wh-toolbar .switch-box {
        width: 100% !important;
        flex-wrap: wrap !important;
        box-sizing: border-box !important;
    }
    body .wh-toolbar .switch-box .hint {
        width: 100% !important;
        margin-top: 4px !important;
    }
    body .wh-toolbar #addWhBtn {
        width: 100% !important;
        min-height: 42px !important;
    }
    body .wh-table {
        background: transparent !important;
    }
    body .wh-table thead {
        display: none !important;
    }
    body .wh-table tbody tr {
        display: block !important;
        background: #fff !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin: 0 var(--m-space) 10px !important;
        padding: 12px !important;
    }
    body .wh-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 6px 0 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        font-size: 13px !important;
    }
    body .wh-table td:last-child {
        border-bottom: none !important;
    }
    body .wh-table td::before {
        color: #888 !important;
        font-weight: 500 !important;
    }
    body .wh-table td:nth-child(1)::before { content: '仓库名称'; }
    body .wh-table td:nth-child(2)::before { content: '编码'; }
    body .wh-table td:nth-child(3)::before { content: '库位/地址'; }
    body .wh-table td:nth-child(4)::before { content: '联系人'; }
    body .wh-table td:nth-child(5)::before { content: '电话'; }
    body .wh-table td:nth-child(6)::before { content: '状态'; }
    body .wh-table td:nth-child(7)::before { content: '操作'; }
    body .wh-table td:nth-child(7) {
        justify-content: flex-end !important;
        gap: 12px !important;
        padding-top: 8px !important;
    }
    body .wh-table .op-link {
        margin: 0 !important;
        font-size: 14px !important;
    }

    /* ===== 库存盘点页手机端 ===== */
    .take-tabs {
        padding: 0 var(--m-space) !important;
        margin-top: 10px !important;
    }
    .take-form .layui-form-item {
        display: block !important;
        margin-bottom: 8px !important;
    }
    .take-form .layui-inline {
        display: flex !important;
        width: 100% !important;
        margin: 0 0 8px 0 !important;
        align-items: center !important;
    }
    .take-form .layui-inline .layui-form-label {
        width: 80px !important;
        text-align: left !important;
        padding: 0 8px 0 0 !important;
    }
    .take-form .layui-inline .layui-input-inline {
        flex: 1 !important;
        margin: 0 !important;
    }
    .take-form .layui-inline .layui-input-inline input {
        width: 100% !important;
    }
    .take-toolbar {
        padding: 10px var(--m-space) !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .take-toolbar input {
        width: 100% !important;
        margin: 0 !important;
    }
    .take-toolbar .layui-btn {
        flex: 1 !important;
        min-width: 0 !important;
    }
    .take-toolbar #takeSave {
        width: 100% !important;
        flex: none !important;
        margin-top: 6px !important;
        order: 99 !important;
    }
    #takeTable,
    #takeTable thead,
    #takeTable tbody,
    #takeTable tr,
    #takeTable th,
    #takeTable td,
    #paneHistory table,
    #paneHistory thead,
    #paneHistory tbody,
    #paneHistory tr,
    #paneHistory th,
    #paneHistory td {
        display: block !important;
        width: 100% !important;
    }
    #takeTable thead,
    #paneHistory thead {
        display: none !important;
    }
    #takeTable tbody tr,
    #paneHistory tbody tr {
        background: #fff !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin-bottom: 10px !important;
        padding: 12px !important;
    }
    #takeTable td,
    #paneHistory td {
        border: none !important;
        padding: 5px 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    #takeTable tbody tr td:nth-child(1)::before { content: '商品名称'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(2)::before { content: '规格'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(3)::before { content: '单位'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(4)::before { content: '系统库存'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(5)::before { content: '实盘数量'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(6)::before { content: '差异'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable tbody tr td:nth-child(7)::before { content: '备注'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(1)::before { content: '盘点单号'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(2)::before { content: '日期'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(3)::before { content: '盘点人'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(4)::before { content: '项数'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(5)::before { content: '差异合计'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(6)::before { content: '备注'; font-weight: 600; color: #666; font-size: 12px; }
    #paneHistory tbody tr td:nth-child(7)::before { content: '操作'; font-weight: 600; color: #666; font-size: 12px; }
    #takeTable td input,
    #takeTable td .layui-input {
        width: 120px !important;
        min-height: 36px !important;
    }
    #paneHistory td .layui-btn {
        margin: 2px !important;
    }

    /* ===== 标签打印页手机端 ===== */
    .label-toolbar {
        padding: var(--m-space) !important;
    }
    .toolbar-title {
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }
    .toolbar-row {
        display: block !important;
    }
    .toolbar-row .field {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    .toolbar-row .field label {
        display: block !important;
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #666 !important;
    }
    .toolbar-row .field select,
    .toolbar-row .field input {
        width: 100% !important;
        height: 40px !important;
    }
    .toolbar-row > .layui-btn {
        width: 100% !important;
        margin: 0 0 8px 0 !important;
        height: 40px !important;
    }
    #labelRows,
    #labelRows thead,
    #labelRows tbody,
    #labelRows tr,
    #labelRows th,
    #labelRows td {
        display: block !important;
        width: 100% !important;
    }
    #labelRows thead {
        display: none !important;
    }
    #labelRows tbody tr {
        background: #fff !important;
        border-radius: var(--m-radius) !important;
        box-shadow: var(--m-shadow) !important;
        margin-bottom: 10px !important;
        padding: 12px !important;
    }
    #labelRows td {
        border: none !important;
        padding: 6px 0 !important;
    }
    #labelRows tbody tr td:nth-child(1)::before { content: '商品'; font-weight: 600; color: #666; font-size: 12px; display: block; margin-bottom: 4px; }
    #labelRows tbody tr td:nth-child(2)::before { content: '重量/规格'; font-weight: 600; color: #666; font-size: 12px; display: block; margin-bottom: 4px; }
    #labelRows tbody tr td:nth-child(3)::before { content: '数量(张)'; font-weight: 600; color: #666; font-size: 12px; display: block; margin-bottom: 4px; }
    #labelRows tbody tr td:nth-child(4)::before { content: '操作'; font-weight: 600; color: #666; font-size: 12px; display: block; margin-bottom: 4px; }
    #labelRows td select,
    #labelRows td input {
        width: 100% !important;
        min-height: 36px !important;
    }
    #labelRows td .del-row {
        width: 100% !important;
    }
    .toolbar-tip {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
    .label-print-area {
        padding: var(--m-space) !important;
    }
    .label-card {
        width: 100% !important;
        max-width: 100% !important;
        transform: scale(1) !important;
        transform-origin: top left !important;
        box-sizing: border-box !important;
    }
    .label-nav {
        flex-direction: column !important;
        gap: 8px !important;
        margin-bottom: 10px !important;
    }
    .label-nav .nav-info {
        text-align: center !important;
        font-size: 13px !important;
    }

    /* ===== 日常费用页手机端 ===== */
    .expense-page {
        padding: 0 var(--m-space) !important;
    }
    .expense-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .expense-toolbar .toolbar-left {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .expense-toolbar .toolbar-left .layui-btn,
    .expense-toolbar .toolbar-left .inline-filter {
        flex: 1 1 100% !important;
        min-width: 0 !important;
    }
    .expense-toolbar .toolbar-left select,
    .expense-toolbar .toolbar-left input {
        width: 100% !important;
        min-height: 40px !important;
    }
    .expense-toolbar .toolbar-left #btnSearch {
        width: 100% !important;
    }
    .expense-toolbar .toolbar-right {
        width: 100% !important;
    }
    .expense-total {
        text-align: left !important;
    }
    .category-summary {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 10px 0 !important;
        gap: 8px !important;
    }
    .category-summary .cat-item {
        flex: 0 0 auto !important;
        min-width: 110px !important;
        margin: 0 !important;
    }
}

/* ===== 平板适配 ===== */
@media (min-width: 769px) and (max-width: 1024px) {
    .layui-layer {
        max-width: 90vw !important;
    }
}