/*
 * 后台移动端适配样式
 * 仅在窄屏（<=768px）生效，桌面端不受影响
 * 覆盖范围：layout1/layout2 布局下的所有 iframe 内容页、列表、表单、详情、后台登录页
 */

@media screen and (max-width: 768px) {
    html,
    body {
        -webkit-text-size-adjust: 100%;
    }

    /* ---------------- 通用容器 ---------------- */
    .layui-fluid {
        padding: 10px !important;
    }

    .layui-card {
        margin-bottom: 10px;
    }

    .layui-card-header {
        padding: 0 12px;
        font-size: 15px;
    }

    .layui-card-body {
        padding: 12px;
    }

    .layui-elem-quote {
        padding: 8px 12px;
        font-size: 13px;
        line-height: 1.7;
    }

    .layui-text {
        font-size: 13px;
    }

    /* ---------------- 表单 ---------------- */
    .layui-form-item {
        margin-bottom: 10px;
    }

    /* 标签不再左浮动做定宽，改为纵向堆叠 */
    .layui-form-label {
        float: none !important;
        display: block;
        width: auto !important;
        padding: 0 0 4px !important;
        text-align: left;
        line-height: 1.6;
        font-size: 13px;
    }

    .layui-form-item .layui-input-block,
    .layui-form-item .layui-input-inline {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        min-height: 0;
    }

    .layui-input,
    .layui-select,
    .layui-textarea {
        width: 100% !important;
        box-sizing: border-box;
    }

    .layui-form-item .layui-inline {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-bottom: 8px;
    }

    .layui-form-mid {
        display: block;
        margin-left: 0;
    }

    /* 搜索区的按钮整行显示，方便点按 */
    .layui-form-item .layui-inline .layui-btn,
    .layui-form-item .layui-input-inline .layui-btn {
        width: 100%;
        margin: 0 0 8px 0;
    }

    .layui-btn:not(.layui-btn-xs):not(.layui-btn-sm) {
        min-height: 40px;
        line-height: 40px;
        font-size: 14px;
    }

    .layui-form-item .layui-btn + .layui-btn {
        margin-left: 0;
        margin-top: 8px;
    }

    /* ---------------- 详情页字段行（label + 定宽值） ---------------- */
    /* 桌面端是「标签 + 200px 值」横向排列，窄屏会互相挤压导致标签被截断；
       手机端用 flex-wrap：标签定宽、值占满剩余宽度，天然形成「一组字段一行」 */
    .layui-form-item.div-flex {
        display: flex !important;
        flex-wrap: wrap;
        align-items: flex-start;
        margin-bottom: 4px;
    }

    .layui-form-item.div-flex > .layui-form-label {
        display: block !important;
        float: none !important;
        flex: 0 0 92px;
        width: 92px !important;
        margin: 0;
        padding: 0 !important;
        line-height: 24px;
        font-size: 13px;
        color: #999;
        text-align: left;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .layui-form-item.div-flex > .width-160 {
        display: block;
        float: none;
        flex: 1 1 calc(100% - 92px);
        max-width: calc(100% - 92px);
        width: auto !important;
        min-width: 0;
        margin: 0 0 4px;
        line-height: 24px;
        font-size: 13px;
        color: #333;
        overflow-wrap: break-word;
    }

    /* 详情页底部的操作区：输入块占满整行 */
    .layui-form-item.div-flex > .layui-input-block {
        width: 100% !important;
        margin: 0 !important;
    }

    .layui-form-item .layui-input-block .layui-btn {
        display: block;
        width: 100%;
        margin: 0 0 8px 0 !important;
    }

    /* ---------------- 详情页表格 ---------------- */
    /* 去掉桌面端的左右 50px 边距 */
    .table-margin {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mt50 {
        margin-left: 0 !important;
    }

    /* 手机端把表格折成纵向卡片：一条记录一块，字段名由 td 的 data-label 提供，
       避免窄屏下多列表格被挤压、表头竖排 */
    .mobile-stack-table {
        border: none !important;
        table-layout: auto !important;
    }

    .mobile-stack-table colgroup,
    .mobile-stack-table thead {
        display: none;
    }

    .mobile-stack-table,
    .mobile-stack-table tbody,
    .mobile-stack-table tr,
    .mobile-stack-table td {
        display: block;
        width: auto !important;
    }

    .mobile-stack-table tr {
        padding: 8px 0;
        border-bottom: 1px solid #f0f0f0;
    }

    .mobile-stack-table tr:last-child {
        border-bottom: none;
    }

    .mobile-stack-table td {
        padding: 2px 0 !important;
        border: none !important;
        font-size: 13px;
        line-height: 1.7;
        text-align: left !important;
        overflow-wrap: break-word;
    }

    .mobile-stack-table td[data-label]:before {
        content: attr(data-label) "：";
        color: #999;
        font-size: 12px;
    }

    .mobile-stack-table td br {
        display: none;
    }

    .mobile-stack-table td p {
        margin: 0 0 2px;
    }

    /* 商品行：左图右文 */
    .mobile-stack-table td.goods-cell > div {
        display: flex;
        align-items: flex-start;
    }

    .mobile-stack-table td.goods-cell .layui-col-md3 {
        float: none;
        flex: 0 0 60px;
        width: 60px !important;
    }

    .mobile-stack-table td.goods-cell .layui-col-md9 {
        float: none;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
    }

    .mobile-stack-table .image {
        width: 60px;
        height: 60px;
        margin-right: 10px;
    }

    /* 合计行：整行展示金额明细 */
    .mobile-stack-table tr.order-summary-row {
        border-top: 1px solid #eee;
    }

    /* 触底留白，避免页面最下方内容被父页面的悬浮球遮住 */
    .layui-fluid {
        padding-bottom: 76px !important;
    }

    /* ---------------- 选项卡 ---------------- */
    /* 状态页签数量多时窄屏放不下，layui 默认会截断并只留一个「更多」箭头，
       手机端改为自动换行，保证「全部/待付款/待发货/…」全部可见 */
    .layui-tab > .layui-tab-title {
        height: auto !important;
        white-space: normal !important;
        padding-right: 0 !important;
    }

    .layui-tab-title li {
        padding: 0 12px;
        font-size: 13px;
    }

    /* 换行后已经能完整展示，隐藏右侧的「更多」箭头 */
    .layui-tab-title .layui-tab-bar {
        display: none !important;
    }

    /* 换行后卡片式激活页签的 41px 白色遮罩会压到下一行，去掉 */
    .layui-tab-card > .layui-tab-title .layui-this:after {
        display: none;
    }

    .layui-tab-card > .layui-tab-title {
        padding-right: 0;
    }

    /* ---------------- 通用移动端安全网 ---------------- */
    /* 图片、上传预览不撑破屏幕 */
    .layui-card-body img {
        max-width: 100%;
    }

    .layui-upload-img {
        max-width: 100%;
        height: auto;
    }

    /* 分组标题与字段组间距收紧 */
    .layui-elem-field {
        padding: 6px 10px;
        margin: 10px 0 6px;
    }

    .layui-elem-field legend {
        padding: 0 6px;
        font-size: 14px;
    }

    .layui-field-title {
        margin: 12px 0 6px;
    }

    /* 表单里的行内块全部整行，避免固定宽度撑破屏幕 */
    .layui-form-item .layui-inline {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* 原生表格（详情页 line 风格表格等）超出宽度时可横向滑动，
       容器由 mobile-table.js 在手机端自动包一层 .mc-table-scroll */
    .mc-table-scroll {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mc-table-scroll > table {
        margin-bottom: 0;
    }

    /* 时间线更紧凑 */
    .layui-timeline {
        padding-left: 10px;
    }

    .layui-timeline-title {
        font-size: 13px;
        line-height: 1.6;
    }

    /* ---------------- 表格 ---------------- */
    .layui-table-view,
    .layui-table-box {
        max-width: 100%;
    }

    .layui-table-tool {
        padding: 6px;
    }

    /* 表格头部右侧的列筛选/打印/导出在手机上意义不大 */
    .layui-table-tool-self {
        display: none;
    }

    .layui-table-tool-temp .layui-btn {
        margin-bottom: 6px;
    }

    .layui-table-page {
        padding: 8px 0;
        text-align: center;
    }

    .layui-laypage {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0;
    }

    .layui-laypage > * {
        margin-bottom: 5px;
    }

    .layui-laypage-btn {
        display: none;
    }

    /* ---------------- 弹层 ---------------- */
    .layui-layer {
        max-width: calc(100% - 16px) !important;
    }

    .layui-layer-content {
        max-height: 66vh;
    }

    .layui-layer-page .layui-layer-content {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .layui-layer-iframe {
        width: 100% !important;
    }

    /* 快捷键/提示类小弹层 */
    .layui-layer-tips {
        max-width: calc(100% - 24px) !important;
    }

    /* ---------------- 表格卡片视图（由 mobile-table.js 生成） ---------------- */
    .mobile-card-view {
        padding: 10px;
    }

    .mobile-card-view .mc-empty {
        padding: 30px 0;
        text-align: center;
        color: #999;
        font-size: 14px;
    }

    .mobile-card-view .mc-card {
        margin-bottom: 8px;
        padding: 10px 12px;
        background: #fff;
        border: 1px solid #ebebeb;
        border-radius: 8px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
    }

    /* 卡片主信息（第一列），其余字段只保留关键几项 */
    .mobile-card-view .mc-head {
        padding-bottom: 6px;
        margin-bottom: 2px;
        border-bottom: 1px solid #f2f2f2;
        font-size: 14px;
        color: #1A1A1A;
        line-height: 1.5;
        word-break: break-word;
    }

    .mobile-card-view .mc-head p {
        margin: 0;
    }

    .mobile-card-view .mc-head img {
        float: left;
        width: 40px;
        height: 40px;
        margin-right: 8px;
        border-radius: 6px;
        object-fit: cover;
    }

    .mobile-card-view .mc-head .layui-input-inline,
    .mobile-card-view .mc-head .layui-input-block {
        display: block;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }

    .mobile-card-view .mc-row {
        display: flex;
        padding: 6px 0;
        border-bottom: 1px dashed #f2f2f2;
        font-size: 13px;
        line-height: 1.6;
    }

    .mobile-card-view .mc-row:last-child {
        border-bottom: none;
    }

    .mobile-card-view .mc-label {
        flex: 0 0 88px;
        max-width: 88px;
        color: #999;
        font-size: 12px;
        word-break: break-all;
    }

    .mobile-card-view .mc-value {
        flex: 1 1 auto;
        min-width: 0;
        color: #333;
        word-break: break-word;
    }

    .mobile-card-view .mc-value p {
        margin: 0;
    }

    .mobile-card-view .mc-value img {
        max-width: 100%;
    }

    /* 模板里常用 layui-input-inline 做左右布局，卡片内改为整块显示 */
    .mobile-card-view .mc-value .layui-input-inline,
    .mobile-card-view .mc-value .layui-input-block {
        display: block;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }

    .mobile-card-view .mc-blank {
        color: #ccc;
    }

    .mobile-card-view .mc-actions {
        display: flex;
        flex-wrap: wrap;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #f2f2f2;
    }

    .mobile-card-view .mc-actions .table-operate {
        width: 100%;
        padding: 0;
    }

    /* 卡片底部操作按钮：加大点按区域 */
    .mobile-card-view .mc-actions .layui-btn {
        height: 34px;
        line-height: 34px;
        margin: 0 8px 8px 0 !important;
        padding: 0 14px;
        font-size: 13px;
    }

    /* ---------------- 列表页精简卡片（订单 / 核销 / 售后 / 收费 / 分销订单） ---------------- */
    /* 手机端不显示列表页「操作提示」 */
    .order-tip {
        display: none !important;
    }

    /* 手机端隐藏非核心筛选项 */
    .hide-on-mobile {
        display: none !important;
    }

    .mobile-card-view .oc-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .mobile-card-view .oc-head-left {
        display: flex;
        align-items: center;
        min-width: 0;
    }

    .mobile-card-view .oc-badge {
        padding: 1px 8px;
        border-radius: 10px;
        font-size: 12px;
        line-height: 18px;
        background: #eef5ff;
        color: #1e6fd9;
    }

    .mobile-card-view .oc-badge-wait {
        background: #fff3e0;
        color: #e67e22;
    }

    .mobile-card-view .oc-badge-appointed {
        background: #e8f4ff;
        color: #1e6fd9;
    }

    .mobile-card-view .oc-badge-serving {
        background: #e6f7ee;
        color: #0f9d58;
    }

    .mobile-card-view .oc-badge-finish {
        background: #f0f0f0;
        color: #888;
    }

    .mobile-card-view .oc-badge-close {
        background: #f5f5f5;
        color: #999;
    }

    .mobile-card-view .oc-badge-unread {
        background: #FF5722;
        color: #fff;
    }

    .mobile-card-view .oc-badge-read {
        background: #f0f0f0;
        color: #999;
    }

    .mobile-card-view .oc-amount-inline {
        color: #FF5722;
        font-size: 17px;
        font-weight: 700;
        white-space: nowrap;
    }

    .mobile-card-view .oc-sn {
        margin: 6px 0 8px;
        font-size: 12px;
        color: #999;
        word-break: break-all;
    }

    .mobile-card-view .oc-row {
        display: flex;
        align-items: center;
        font-size: 13px;
        line-height: 1.8;
    }

    .mobile-card-view .oc-k {
        flex: 0 0 56px;
        max-width: 56px;
        color: #999;
        font-size: 12px;
    }

    /* 卡片信息单行展示，超出部分省略，完整内容点「订单详情」查看 */
    .mobile-card-view .oc-v {
        flex: 1 1 auto;
        min-width: 0;
        color: #333;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-card-view .oc-v em {
        font-style: normal;
        color: #FF5722;
        font-weight: 600;
    }

    .mobile-card-view .oc-sec {
        padding-top: 8px;
        margin-top: 8px;
        border-top: 1px solid #f2f2f2;
    }

    /* ---------------- 后台登录页 ---------------- */
    /* 桌面端 .login 是横向 flex，logo / 表单 / footer 需要改为纵向堆叠，
       否则 footer 与 logo 会与表单并排，把登录卡片挤到 min-content 宽度 */
    .login {
        min-width: 0 !important;
        box-sizing: border-box;
        padding: 24px 16px 30px;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .login .logo {
        position: static;
        width: 100%;
        text-align: center;
        margin: 0 0 20px;
    }

    .login .login-form-box {
        flex-direction: column;
        width: 100%;
    }

    .login-left {
        display: none;
    }

    .login-right {
        width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
        padding: 24px 16px 30px;
        border-radius: 10px;
    }

    .login .login-title {
        margin: 0 0 24px;
        font-size: 20px;
        text-align: center;
    }

    .login .form-box-item,
    .login .form-box-checked,
    .login .submit-btn {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* 表单行改为自适应高度，图标后的输入区撑满剩余宽度 */
    .login .form-box-item {
        height: auto;
        min-height: 44px;
    }

    .login .form-box-item > div:not(.icon) {
        flex: 1 1 auto;
        min-width: 0;
    }

    .login .form-box-item .layui-input {
        width: 100% !important;
        flex: 1;
        min-width: 0;
    }

    .login .captcha-box input {
        width: auto !important;
        flex: 1;
        min-width: 0;
    }

    .login footer {
        position: static;
        left: auto;
        margin-top: 20px;
        text-align: center;
    }
}

/* 超小屏进一步压缩留白 */
@media screen and (max-width: 375px) {
    .layui-fluid {
        padding: 8px !important;
    }

    .layui-card-body {
        padding: 10px;
    }
}

/* 修复手机端分页“共 N 条”与页码输入框重叠、内容被裁切 */
@media screen and (max-width: 768px) {
    .layui-table-page {
        height: auto !important;
        padding: 8px 6px 10px !important;
        overflow: visible !important;
        white-space: normal !important;
    }
    .layui-table-page .layui-laypage {
        width: auto !important;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        line-height: 26px;
    }
    .layui-table-page .layui-laypage .layui-laypage-skip {
        display: inline-flex;
        align-items: center;
        width: auto !important;
        margin: 0 6px 6px 0;
    }
    .layui-table-page .layui-laypage .layui-laypage-skip input.layui-input {
        width: 42px !important;
        margin: 0 4px !important;
        padding: 0 3px !important;
    }
    .layui-table-page .layui-laypage .layui-laypage-count,
    .layui-table-page .layui-laypage .layui-laypage-limits {
        margin: 0 6px 6px 0;
    }
    .layui-table-page .layui-laypage .layui-laypage-limits select {
        width: auto !important;
        display: inline-block;
    }
}

/* 弹窗右上角关闭按钮：叉叉本身只有 16px，手指很难点准。
   向外扩大 7px 的透明点击热区（约 30px），点叉叉附近即可关闭，范围不过大 */
.layui-layer-setwin .layui-layer-close::after {
    content: "";
    position: absolute;
    top: -7px;
    right: -7px;
    bottom: -7px;
    left: -7px;
}

/* 固定像素弹窗在手机上会超出屏幕，限制最大宽度，保证关闭叉叉可见 */
@media screen and (max-width: 768px) {
    .layui-layer-iframe,
    .layui-layer-page {
        max-width: calc(100vw - 16px) !important;
    }
}

/* 详情弹窗统一信息卡片（与订单详情保持一致） */
.info-card {
    background: #FAFBFD;
    border: 1px solid #EEF1F6;
    border-radius: 6px;
    padding: 8px 12px 6px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.info-grid {
    display: flex;
    flex-wrap: wrap;
}

.info-line {
    display: flex;
    align-items: flex-start;
    flex: 1 1 50%;
    min-width: 0;
    box-sizing: border-box;
    padding-right: 12px;
    font-size: 13px;
    line-height: 24px;
}

.info-line > span {
    flex: 0 0 84px;
    color: #8A94A6;
    white-space: nowrap;
}

.info-line > em {
    flex: 1 1 auto;
    min-width: 0;
    font-style: normal;
    color: #333;
    overflow-wrap: break-word;
    word-break: break-word;
}

.info-line.info-block {
    flex-basis: 100%;
}

.info-card .layui-table {
    width: 100%;
    margin: 4px 0 6px;
}

.info-card .layui-table th,
.info-card .layui-table td {
    padding: 6px 8px;
    font-size: 12px;
}

.info-tip {
    color: #999;
    font-size: 12px;
}

@media screen and (max-width: 768px) {
    .info-line {
        flex-basis: 100%;
    }
}

/* ---------------- 搜索区统一（手机 / app 内嵌后台） ----------------
   去掉「文字标签 + 输入框」的堆叠，标签改成占位提示；
   字段两列紧凑排列，搜索/重置同一行，筛选超过 4 项时折叠 */
@media screen and (max-width: 768px) {
    .m-search {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 8px;
        row-gap: 8px;
        height: auto !important;
        min-height: 0 !important;
        line-height: normal !important;
        padding: 10px 12px !important;
        margin: 0 !important;
        box-sizing: border-box;
    }

    /* 页面里多个 .layui-form-item / .layui-row 时，让字段直接参与外层两列布局 */
    .m-search .layui-form-item,
    .m-search .layui-row {
        display: contents !important;
    }

    /* layui 用 :after 清浮动，在 flex 容器里会变成一个占位项，导致字段错行 */
    .m-search::before,
    .m-search::after,
    .m-search .layui-form-item::before,
    .m-search .layui-form-item::after,
    .m-search .layui-row::before,
    .m-search .layui-row::after {
        content: none !important;
        display: none !important;
    }

    .m-search .layui-inline {
        float: none !important;
        vertical-align: middle;
    }

    .m-search .m-search-item {
        display: block !important;
        flex: 0 0 calc(50% - 4px);
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
    }

    /* 只有一个筛选条件时占满整行 */
    .m-search.m-search-single .m-search-item {
        flex: 1 1 100%;
    }

    .m-search .m-search-item > .layui-input-inline,
    .m-search .m-search-item > .layui-input-block {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .m-search .layui-input,
    .m-search .layui-select,
    .m-search .layui-form-select,
    .m-search .layui-form-select .layui-input {
        width: 100% !important;
        height: 34px !important;
        line-height: 34px !important;
        box-sizing: border-box;
    }

    .m-search .layui-form-select dl {
        max-height: 200px;
    }

    /* 金额 / 时间区间：整行，起止两个输入框并排 */
    .m-search .m-search-range {
        flex-basis: 100%;
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
        column-gap: 6px;
    }

    .m-search .m-search-range > .layui-input-inline {
        display: block !important;
        flex: 1 1 0;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
    }

    /* 有的模板把日期输入框又包了一层，统一撑满，避免两个输入框宽窄不一 */
    .m-search .m-search-range .layui-input-inline {
        display: block !important;
        width: 100% !important;
        min-width: 0;
        float: none !important;
        margin: 0 !important;
    }

    /* 一行里同时有下拉框（类型选择）时，下拉框窄一点 */
    .m-search .m-search-range > .m-search-select {
        flex: 0 0 96px;
    }

    .m-search .m-search-range > .m-search-sep {
        display: block !important;
        flex: 0 0 14px;
        width: 14px !important;
        margin: 0 !important;
        text-align: center;
    }

    .m-search .m-search-sep .layui-form-mid,
    .m-search .m-search-sep .layui-form-mid::after {
        display: block;
        margin: 0;
        line-height: 34px;
        text-align: center;
    }

    /* 搜索 / 重置按钮：同一行等宽 */
    .m-search .m-search-btns {
        display: flex !important;
        flex: 1 1 100%;
        width: 100% !important;
        margin: 2px 0 0 !important;
        column-gap: 8px;
    }

    .m-search .m-search-btns .layui-btn {
        flex: 1 1 0;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 10px;
    }

    /* 快捷筛选组（今天 / 昨天 / 近7天…）横排一行 */
    .m-search .m-search-quick {
        flex: 1 1 100% !important;
        display: flex !important;
        width: 100% !important;
    }

    .m-search .m-search-quick .layui-btn-group {
        display: flex !important;
        width: 100%;
        column-gap: 6px;
    }

    .m-search .m-search-quick .layui-btn {
        flex: 1 1 0;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 6px;
    }

    .m-search .m-search-extra {
        display: none !important;
    }

    .m-search.m-search-expanded .m-search-extra {
        display: block !important;
    }

    .m-search .m-search-more {
        flex: 1 1 100%;
        padding: 0 0 6px;
        font-size: 13px;
        color: #1E9FFF;
        text-align: center;
    }
}
