/* 独立移动展示层；所有业务桌面样式保持原样。 */
#wm-app { display: none; }
.wm-sheet:not([open]) { display: none; }
@media (max-width: 768px) {
    .ws-body > .dashboard-header, .ws-body > .ws-nav, .ws-body > .ws-main,
    .ws-body > .ws-drawer, .ws-body > .ws-drawer-mask { display: none !important; }
    .ws-body { background: #fff; margin: 0; padding: 0; }
    #wm-app { display: block; max-width: 768px; margin: auto; padding: 12px 16px calc(82px + env(safe-area-inset-bottom)); color: #17202d; font: 14px/1.45 -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif; }
    #wm-app *, .wm-sheet * { box-sizing: border-box; }
    #wm-app [hidden] { display: none !important; }
    #wm-app button, #wm-app select, .wm-sheet button { font: inherit; cursor: pointer; }
    #wm-app button { border: 0; background: transparent; color: #53627a; min-height: 44px; }
    #wm-app button:disabled { opacity: .5; cursor: wait; }
    #wm-app button:focus-visible, #wm-app select:focus-visible { outline: 2px solid #1677ff; outline-offset: -2px; }
    .wm-header { display: flex; align-items: center; justify-content: space-between; height: 48px; }
    .wm-header h1 { font-size: 18px; margin: 0; }
    .wm-search { display: flex; background: #f3f5f8; border-radius: 9px; margin: 8px 0; }
    .wm-search input { min-width: 0; flex: 1; width: 100%; background: none; border: 0; padding: 10px 12px; font: inherit; font-size: 16px; }
    #wm-app .wm-search button { color: #1677ff; padding: 0 12px; }
    .wm-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
    #wm-app .wm-chips button { background: #f3f5f8; border-radius: 6px; }
    #wm-app .wm-chips button:last-child { background: #eaf3ff; color: #1677ff; }
    .wm-context { font-size: 12px; color: #5c6675; margin: 8px 0; overflow-wrap: anywhere; max-height: 54px; overflow: auto; }
    .wm-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; font-size: 13px; padding: 5px 0; }
    .wm-summary b { font-size: 16px; margin: 0 4px; }
    .wm-period { margin: 5px 0 9px; color: #7b8493; font-size: 11px; }
    .wm-segments { display: grid; grid-template-columns: 1fr 1fr; background: #f2f4f7; border-radius: 7px; overflow: hidden; }
    #wm-app .wm-segments button.active { color: #fff; background: #1677ff; font-weight: 600; }
    .wm-tools { display: flex; justify-content: space-between; align-items: center; min-height: 48px; gap: 8px; }
    .wm-modes { display: flex; gap: 10px; }
    #wm-app .wm-modes button { padding: 0; font-size: 13px; }
    #wm-app .wm-modes button.active { color: #1677ff; border-bottom: 2px solid #1677ff; }
    .wm-tools label { margin-left: auto; font-size: 12px; color: #778297; white-space: nowrap; }
    .wm-tools select { background: #fff; border: 0; min-height: 44px; max-width: 105px; color: #53627a; }
    .wm-path { display: flex; align-items: center; gap: 8px; font-size: 12px; }
    .wm-path span { min-width: 0; overflow-wrap: anywhere; }
    #wm-app .wm-path button { white-space: nowrap; color: #1677ff; padding: 0; }
    .wm-status { margin: 0; font-size: 13px; color: #667085; }
    .wm-status:not(:empty) { padding: 32px 12px; text-align: center; background: #f8fafc; }
    #wm-app .wm-status button { color: #1677ff; }
    .wm-table-wrap { width: 100%; overflow: auto; max-height: 58dvh; min-height: 120px; overscroll-behavior: contain; border: 1px solid #eef0f4; }
    #wm-app .wm-table { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; table-layout: fixed; font-size: 13px; }
    #wm-app .wm-table th, #wm-app .wm-table td { min-width: 92px; max-width: 136px; padding: 8px 10px; text-align: right; border-bottom: 1px solid #eef0f4; background: white; height: 58px; white-space: nowrap; }
    #wm-app .wm-table th { position: sticky; top: 0; z-index: 2; background: #f0f4fa; color: #53627a; font-weight: 500; height: 40px; font-size: 12px; }
    #wm-app .wm-table th:first-child, #wm-app .wm-table td:first-child { position: sticky; left: 0; min-width: 136px; width: 136px; max-width: 136px; text-align: left; z-index: 1; white-space: normal; box-shadow: 3px 0 5px -3px #bac5d4; }
    #wm-app .wm-table th:first-child { z-index: 3; }
    #wm-app .wm-period-matrix thead tr:nth-child(2) th { top: 40px; left: auto; z-index: 2; min-width: 92px; width: auto; box-shadow: none; text-align: right; }
    #wm-app .wm-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; padding: 0; color: #1677ff; font-weight: 600; text-align: left; line-height: 1.4; width: 108px; overflow-wrap: anywhere; }
    #wm-app .wm-with-star .wm-name { width: 78px; }
    .wm-table small { display: block; font-size: 10px; color: #7d8796; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 108px; }
    #wm-app .wm-star { position: absolute; right: 0; top: 4px; min-height: 44px; width: 44px; padding: 0; font-size: 18px; }
    #wm-app [data-action="direction"] { min-width: 32px; padding: 0; }
    .wm-hint { text-align: center; color: #8c95a3; font-size: 11px; margin: 8px 0; }
    #wm-app .wm-more { width: 100%; color: #1677ff; }
    .wm-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; background: #fff; border-top: 1px solid #edf0f4; display: grid; grid-template-columns: 1fr 1fr; padding: 6px 0 calc(6px + env(safe-area-inset-bottom)); }
    #wm-app .wm-nav button { font-size: 22px; }
    .wm-nav span { display: block; font-size: 12px; }
    #wm-app .wm-nav button.active { color: #1677ff; }
    .wm-sheet { margin: auto 0 0; padding: 0; width: 100%; max-width: 100%; height: 88dvh; max-height: 88dvh; border: 0; border-radius: 16px 16px 0 0; color: #17202d; background: #fff; }
    .wm-sheet[open] { display: flex; flex-direction: column; }
    .wm-sheet::backdrop { background: rgb(15 23 42 / 40%); }
    .wm-sheet header, .wm-sheet footer { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; padding: 10px 16px; gap: 12px; }
    .wm-sheet h2 { font-size: 18px; margin: 0; }
    .wm-sheet [data-close] { border: 0; background: transparent; color: #667085; min-width: 44px; }
    .wm-sheet button { min-height: 44px; }
    .wm-sheet-note { margin: 0; padding: 0 16px 12px; color: #718096; font-size: 12px; }
    .wm-sheet-fields { overflow: auto; flex: 1; padding: 8px 16px; }
    .wm-sheet #filterMode .filter-grid, .wm-sheet .filter-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
    .wm-sheet .filter-group { min-width: 0; flex: initial; }
    .wm-sheet .filter-select { font-size: 16px; width: 100%; min-height: 44px; }
    .wm-sheet .filter-label { font-size: 12px; white-space: normal; }
    .wm-sheet .filter-actions { display: none; }
    .wm-sheet footer { padding-bottom: calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #eef0f4; }
    .wm-sheet footer button { flex: 1; border: 1px solid #dce1e8; border-radius: 7px; background: #fff; }
    .wm-sheet [data-apply] { background: #1677ff; color: white; border-color: #1677ff; }
    .wm-account { border: 0; border-radius: 12px; padding: 24px; width: calc(100% - 48px); max-width: 360px; }
    .wm-account::backdrop { background: rgb(15 23 42 / 40%); }
    .wm-account h2 { margin: 0; font-size: 18px; }
    .wm-account button { min-height: 44px; padding: 0 16px; margin-right: 8px; background: #f3f5f8; border: 0; border-radius: 6px; }
}
