/**
 * 全站手机适配（≤768px）
 * 加载顺序须在各模块 workspace CSS 之后，以便覆盖 overflow:hidden 等桌面规则。
 */

/* —— 防 iOS 输入框聚焦放大 —— */
@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
    body {
        overflow-x: hidden;
    }
    input.form-control,
    select.form-select,
    textarea.form-control,
    .form-control,
    .form-select {
        font-size: 16px !important;
    }

    .container,
    .container-fluid {
        max-width: 100%;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    /* 顶栏 */
    .site-nav-inner {
        padding: 0.55rem 0.85rem;
    }
    .site-nav-brand {
        font-size: 1.05rem;
    }
    .site-nav-collapse-inner {
        padding: 0.65rem 0.85rem 0.9rem;
    }
    .site-nav-collapse-inner a,
    .site-nav-collapse-inner button {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 0.5rem 0;
        border-bottom: 1px solid #f0eeeb;
    }
    .site-nav-collapse-inner a:last-child,
    .site-nav-collapse-inner button:last-child {
        border-bottom: 0;
    }

    /* 工作台首页 */
    .home-workspace {
        padding-bottom: 2rem;
    }
    .home-workspace-head {
        padding: 1rem 0 0.75rem;
        gap: 0.75rem;
    }
    .home-title {
        font-size: 1.4rem;
    }
    .home-search-wrap {
        max-width: none;
        flex: 1 1 100%;
    }
    .home-grid,
    .home-grid-fav {
        grid-template-columns: 1fr 1fr;
        gap: 0.55rem;
    }
    .home-tile {
        min-height: 4.5rem;
    }

    /* —— 各模块工作台：侧栏改为横向可滑 chips —— */
    .tk-ws, .pm-ws, .gp-ws, .cal-ws, .pv-ws, .um-ws, .rm-ws,
    .vc-ws, .wp-ws, .itcfg-ws, .mdf-ws, .di-ws {
        display: block;
        gap: 0;
    }

    .tk-rail, .pm-rail, .gp-rail, .cal-rail, .pv-rail, .um-rail, .rm-rail,
    .vc-rail, .wp-rail, .itcfg-rail, .mdf-rail, .di-rail {
        width: auto !important;
        max-width: 100%;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.35rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        margin-bottom: 0.75rem;
        padding: 0.45rem 0.5rem;
        border-radius: 14px;
    }
    .tk-rail-label, .pm-rail-label, .gp-rail-label, .cal-rail-label,
    .pv-rail-label, .um-rail-label, .rm-rail-label, .vc-rail-label,
    .wp-rail-label, .itcfg-rail-label, .mdf-rail-label, .di-rail-label {
        display: none;
    }
    .tk-rail-link, .pm-rail-link, .gp-rail-link, .cal-rail-link,
    .pv-rail-link, .um-rail-link, .rm-rail-link, .vc-rail-link,
    .wp-rail-link, .itcfg-rail-link, .mdf-rail-link, .di-rail-link {
        flex: 0 0 auto;
        white-space: nowrap;
        margin: 0 !important;
        padding: 0.45rem 0.75rem !important;
        min-height: 40px;
        border-radius: 999px !important;
        background: #f4f6f9;
        font-size: 0.82rem !important;
    }
    .tk-rail-link.is-on, .pm-rail-link.is-on, .gp-rail-link.is-on,
    .cal-rail-link.is-on, .pv-rail-link.is-on, .um-rail-link.is-on,
    .rm-rail-link.is-on, .vc-rail-link.is-on, .wp-rail-link.is-on,
    .itcfg-rail-link.is-on, .mdf-rail-link.is-on, .di-rail-link.is-on {
        background: rgba(13, 110, 253, 0.12);
    }

    .tk-page, .pm-page, .gp-page, .cal-page, .pv-page, .um-page, .rm-page,
    .vc-page, .wp-page, .itcfg-page, .mdf-page, .di-page, .itapp-page {
        max-width: 100%;
        padding-bottom: 2rem;
    }
    .tk-page-head, .pm-page-head, .gp-page-head, .cal-page-head,
    .pv-page-head, .um-page-head, .rm-page-head, .vc-page-head,
    .wp-page-head, .itcfg-page-head, .mdf-page-head, .di-page-head,
    .itapp-page-head {
        padding: 0.85rem 0 0.65rem;
        gap: 0.65rem;
    }
    .tk-page-title, .pm-page-title, .gp-page-title, .cal-page-title,
    .pv-page-title, .um-page-title, .rm-page-title, .vc-page-title,
    .wp-page-title, .itcfg-page-title, .mdf-page-title, .di-page-title,
    .itapp-page-title {
        font-size: 1.35rem;
    }
    .tk-page-icon, .pm-page-icon, .gp-page-icon, .cal-page-icon,
    .pv-page-icon, .um-page-icon, .rm-page-icon, .vc-page-icon,
    .wp-page-icon, .itcfg-page-icon, .mdf-page-icon, .di-page-icon {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
        border-radius: 12px;
    }
    .tk-page-links, .pm-page-links, .gp-top-actions, .pm-top-actions,
    .tk-top-actions {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }
    .tk-page-links .tk-btn, .pm-page-links .pm-btn,
    .tk-top-actions .tk-btn, .pm-top-actions .pm-btn {
        flex: 1 1 auto;
        min-height: 42px;
        justify-content: center;
    }

    .tk-main, .pm-main, .gp-main, .cal-main, .pv-main, .um-main, .rm-main,
    .vc-main, .wp-main, .itcfg-main, .mdf-main, .di-main {
        min-width: 0;
        border-radius: 14px;
    }

    .tk-top, .pm-top, .gp-top, .cal-top, .pv-top, .um-top, .rm-top,
    .vc-top, .wp-top, .itcfg-top, .mdf-top, .di-top {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        padding: 0.85rem 0.9rem;
    }

    .tk-stage, .pm-stage, .gp-stage, .cal-stage, .pv-stage, .um-stage,
    .rm-stage, .vc-stage, .wp-stage, .itcfg-stage, .mdf-stage, .di-stage {
        padding: 0.75rem 0.85rem 1rem;
    }

    /* 筛选条：字段纵向堆叠，按钮可点 */
    .tk-listbar, .pm-listbar, .gp-listbar, .cal-listbar, .pv-listbar,
    .um-listbar, .rm-listbar, .wp-listbar, .itcfg-listbar, .mdf-listbar,
    .itapp-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
        padding: 0.75rem;
    }
    .tk-listbar .tk-field, .tk-listbar .tk-field-q,
    .pm-listbar .pm-field, .pm-listbar .pm-field-q,
    .gp-listbar .gp-field, .gp-listbar .gp-field-q,
    .cal-listbar .cal-field,
    .um-listbar .um-field, .um-listbar .um-field-q,
    .rm-listbar .rm-field,
    .wp-listbar .wp-field, .wp-listbar .wp-field-q,
    .itcfg-listbar .itcfg-field,
    .mdf-listbar .mdf-field, .mdf-listbar .mdf-field-q {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100%;
        margin: 0;
    }
    .tk-listbar > .tk-btn, .pm-listbar > .pm-btn,
    .gp-listbar > .gp-btn, .wp-listbar > .wp-btn,
    .um-listbar > .um-btn, .rm-listbar > .rm-btn,
    .mdf-listbar > .mdf-btn, .cal-listbar > .cal-btn {
        width: 100%;
        min-height: 44px;
        height: auto !important;
    }
    .tk-count, .pm-count, .gp-count, .wp-count, .um-count {
        text-align: center;
        width: 100%;
    }

    /* 可折叠筛选（由 JS 加 .is-collapsible / .is-open） */
    .sm-filter-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 44px;
        padding: 0.55rem 0.85rem;
        margin-bottom: 0.5rem;
        border: 1px solid #e7e5e4;
        border-radius: 12px;
        background: #fff;
        font: inherit;
        font-weight: 600;
        color: #1a1d21;
        cursor: pointer;
    }
    .sm-filter-toggle i {
        transition: transform 0.15s ease;
    }
    .sm-filter-toggle[aria-expanded="true"] i {
        transform: rotate(180deg);
    }
    form.tk-listbar.is-collapsible:not(.is-open),
    form.pm-listbar.is-collapsible:not(.is-open),
    form.gp-listbar.is-collapsible:not(.is-open),
    form.wp-listbar.is-collapsible:not(.is-open),
    form.um-listbar.is-collapsible:not(.is-open),
    form.rm-listbar.is-collapsible:not(.is-open),
    form.cal-listbar.is-collapsible:not(.is-open),
    form.mdf-listbar.is-collapsible:not(.is-open),
    form.itcfg-listbar.is-collapsible:not(.is-open) {
        display: none;
    }

    /* 宽表：横滑，禁止字符竖排挤爆 */
    .tk-table-wrap, .pm-table-wrap, .gp-table-wrap, .cal-table-wrap,
    .pv-table-wrap, .um-table-wrap, .rm-table-wrap, .wp-table-wrap,
    .itcfg-table-wrap, .mdf-table-wrap, .itapp-table-wrap,
    .vc-section .vc-table, .table-responsive {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
    .tk-table, .pm-table, .gp-table, .cal-table, .pv-table, .um-table,
    .rm-table, .wp-table, .itcfg-table, .mdf-table, .vc-table {
        table-layout: auto !important;
        min-width: 680px;
        width: 100%;
    }
    /* 账号申请表：手机用卡片，不再强制宽表横滑 */
    .itapp-table {
        table-layout: auto !important;
        min-width: 0;
        width: 100%;
    }
    .tk-table th, .tk-table td,
    .pm-table th, .pm-table td,
    .gp-table th, .gp-table td,
    .um-table th, .um-table td,
    .rm-table th, .rm-table td,
    .wp-table th, .wp-table td {
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
    }
    .tk-table td .tk-wrap,
    .pm-table td .pm-wrap {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        max-width: 220px;
    }

    /* 网格单列 */
    .tk-grid, .pm-grid, .gp-grid, .wp-grid, .cal-grid, .um-grid,
    .rm-grid, .vc-grid, .itcfg-grid, .mdf-grid, .di-grid,
    .tk-split, .pm-split, .tk-mode, .pm-mode, .tk-charts {
        grid-template-columns: 1fr !important;
    }
    .tk-grid .tk-span-2, .pm-grid .pm-span-2, .gp-grid .gp-span-2 {
        grid-column: auto !important;
    }

    /* 触控按钮 */
    .tk-btn, .pm-btn, .gp-btn, .wp-btn, .um-btn, .rm-btn, .pv-btn,
    .vc-btn, .cal-btn, .mdf-btn, .itcfg-btn, .itapp-btn, .di-btn,
    .btn {
        min-height: 40px;
    }
    .tk-btn-sm, .pm-btn-sm, .btn-sm {
        min-height: 36px;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    /* 统计条 */
    .pm-stats, .tk-stats, .gp-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    /* 详情页分区 */
    .tk-section, .pm-section, .gp-section, .wp-section {
        border-radius: 12px;
    }
    .tk-section-b, .pm-section-b, .gp-section-b {
        padding: 0.85rem;
    }

    /* TinyMCE */
    .tox-tinymce {
        max-width: 100% !important;
        border-radius: 10px !important;
    }
    .tox .tox-toolbar,
    .tox .tox-toolbar__primary {
        flex-wrap: wrap !important;
    }

    /* Bootstrap 旧页 */
    .card {
        border-radius: 12px;
    }
    .modal-dialog {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }
    .modal-footer {
        flex-wrap: wrap;
        gap: 0.4rem;
    }
    .modal-footer .btn {
        flex: 1 1 auto;
        min-height: 44px;
    }
    .display-3, .display-4 {
        font-size: 1.6rem !important;
    }
    .navbar-expand-md .navbar-collapse {
        max-height: 70vh;
        overflow-y: auto;
    }

    /* 糕点订单筛选（去掉破坏性百分比宽） */
    .cake-filter-bar,
    form.cake-home-filter,
    .cake-order-filter {
        flex-wrap: wrap !important;
    }
    .cake-order-filter .form-control,
    .cake-order-filter input[type="date"],
    .cake-order-filter input[type="search"],
    form[action*="cake_order"] .form-control[style*="width"] {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 42px;
    }

    /* 附件区、操作条 */
    .tk-table-actions {
        flex-wrap: wrap;
        gap: 0.35rem;
    }
    .tk-attach-list, .pm-attach-list {
        flex-direction: column;
    }

    /* —— 手机卡片列表（桌面隐藏，手机显示并藏桌面表） —— */
    .sm-mlist {
        display: block;
    }
    .sm-mlist + .tk-table-wrap,
    .sm-mlist + .pm-table-wrap,
    .sm-mlist + .gp-table-wrap,
    .sm-mlist + .wp-table-wrap,
    .sm-mlist + .um-table-wrap,
    .sm-mlist + .rm-table-wrap,
    .sm-mlist + .itapp-table-wrap {
        display: none !important;
    }
    .sm-mcard {
        background: #fff;
        border: 1px solid #eef1f5;
        border-radius: 14px;
        padding: 0.9rem 1rem;
        margin-bottom: 0.65rem;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    }
    .sm-mcard-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.35rem;
    }
    .sm-mcard-no {
        font-size: 0.75rem;
        font-weight: 600;
        color: #6c757d;
    }
    .sm-mcard-title {
        margin: 0 0 0.4rem;
        font-size: 1.02rem;
        font-weight: 700;
        line-height: 1.35;
        color: #1a1d21;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .sm-mcard-meta {
        font-size: 0.78rem;
        color: #8a9199;
        margin-bottom: 0.55rem;
        line-height: 1.45;
    }
    .sm-mcard-meta span + span::before {
        content: " · ";
        color: #ced4da;
    }
    .sm-mcard-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }
    .sm-mcard-actions .tk-btn,
    .sm-mcard-actions .pm-btn,
    .sm-mcard-actions .wp-btn,
    .sm-mcard-actions .gp-btn,
    .sm-mcard-actions .btn {
        flex: 1 1 calc(50% - 0.2rem);
        min-height: 42px;
        justify-content: center;
    }
    .sm-mcard-actions .tk-btn-primary,
    .sm-mcard-actions .pm-btn-primary,
    .sm-mcard-actions .wp-btn-primary,
    .sm-mcard-actions .gp-btn-primary {
        flex: 1 1 100%;
    }
    .sm-mcard.is-warn {
        border-color: #f5c2c7;
        background: #fff8f8;
    }
}

/* 桌面：隐藏手机卡片与筛选折叠按钮 */
@media (min-width: 769px) {
    .sm-mlist { display: none !important; }
    .sm-filter-toggle { display: none !important; }
}

/* 糕点筛选字段（桌面+手机） */
.cake-filter-field {
    flex: 1 1 140px;
    min-width: 120px;
}
.cake-filter-q {
    flex: 2 1 200px;
}
@media (max-width: 768px) {
    .cake-filter-field,
    .cake-filter-q {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
    .cake-order-filter .btn {
        width: 100%;
        min-height: 44px;
    }
    .cake-order-filter .form-check {
        width: 100%;
        margin-left: 0 !important;
    }
}
