/* Phone only. Desktop page CSS is not changed. */
@media (max-width: 900px) {
    html, body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        height: auto !important;
        min-height: 100% !important;
        max-width: 100% !important;
    }
    /* 全站电话版上下留白对齐客户档案（登录页除外） */
    html body {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }

    .container,
    .table-card,
    .table-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 16px !important;
    }
    html body .container {
        padding: 12px !important;
        padding-bottom: 12px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    html, body,
    html body,
    html body * {
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    html::-webkit-scrollbar,
    body::-webkit-scrollbar,
    html body *::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .welcome-header h1 { font-size: 22px !important; }
    .menu-grid,
    .stat-grid,
    .data-grid,
    .data-grid.cols-4,
    .data-grid.cols-6 { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .menu-grid { grid-template-columns: 1fr !important; }
    .menu-card {
        padding: 16px !important;
        width: 100% !important;
        -webkit-touch-callout: none !important;
        -webkit-user-select: none !important;
        user-select: none !important;
    }
    .card-icon { width: 52px !important; height: 52px !important; font-size: 24px !important; }
    .top-right-badge { display: none !important; }
    body:has(.welcome-header) .welcome-header { margin-top: 4px !important; margin-bottom: 18px !important; }

    .top-toolbar,
    .page-head,
    .tool-bar,
    .filter-container,
    .combined-form,
    .custom-select-wrapper,
    .custom-options {
        transition: none !important;
        animation: none !important;
    }
    .top-toolbar,
    .page-head,
    .tool-bar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 12px !important;
        gap: 10px !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 40 !important;
    }
    .top-toolbar > *,
    .page-head > *,
    .tool-bar > * {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        position: static !important;
        justify-self: stretch !important;
        align-self: stretch !important;
    }
    .page-title {
        font-size: 18px !important;
        white-space: normal !important;
        line-height: 1.3 !important;
    }
    .toolbar-right,
    .stats-badge {
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        position: static !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }
    .toolbar-right {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .filter-container,
    .report-nav .filter-container {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        justify-self: stretch !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 45 !important;
    }
    .filter-container .filter-left-icon {
        display: none !important;
    }
    .filter-container .filter-right-box {
        display: flex !important;
        position: absolute !important;
        right: 8px !important;
        bottom: 0 !important;
        width: 36px !important;
        height: 44px !important;
        z-index: 6 !important;
    }
    .filter-container .large-input,
    .combined-form .large-input {
        padding-right: 40px !important;
    }
    .combined-form {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        align-items: flex-start !important;
        align-content: flex-start !important;
        gap: 8px !important;
        overflow: visible !important;
    }
    .filter-container .v-divider,
    .combined-form .v-divider { display: none !important; }

    .filter-container .date-slot,
    .combined-form .date-slot,
    .filter-container .custom-select-wrapper,
    .combined-form .custom-select-wrapper,
    .filter-container .filter-half,
    .combined-form .filter-half,
    .filter-container .large-input,
    .combined-form .large-input,
    .combined-form > input[type="text"],
    .combined-form > input[type="search"] {
        flex: 0 0 auto !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        box-sizing: border-box !important;
        align-self: auto !important;
    }
    .filter-container .date-slot,
    .combined-form .date-slot,
    .filter-container .large-input,
    .combined-form .large-input,
    .combined-form > input[type="text"],
    .combined-form > input[type="search"],
    .combined-form .filter-half,
    .combined-form .filter-half:first-of-type,
    .combined-form .filter-half:last-of-type {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-basis: 100% !important;
    }
    .filter-container .custom-select-wrapper,
    .combined-form .custom-select-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-basis: 100% !important;
        position: relative !important;
        overflow: visible !important;
        z-index: 2 !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    .filter-container .custom-select-wrapper:last-of-type,
    .combined-form .custom-select-wrapper:last-of-type {
        border-bottom: none !important;
    }
    .filter-container .custom-select-wrapper:has(.custom-options.show),
    .filter-container .custom-select-wrapper.is-open,
    .combined-form .custom-select-wrapper:has(.custom-options.show),
    .combined-form .custom-select-wrapper.is-open {
        z-index: 80 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .filter-container .custom-select-trigger,
    .combined-form .custom-select-trigger {
        height: 44px !important;
        min-height: 44px !important;
        justify-content: space-between !important;
        padding: 0 12px !important;
        pointer-events: auto !important;
    }
    .filter-container .date-input,
    .filter-container .flatpickr-input,
    .combined-form .date-input,
    .combined-form .flatpickr-input {
        width: 100% !important;
        height: 44px !important;
        max-height: 44px !important;
        pointer-events: auto !important;
    }

    .report-nav {
        position: static !important;
        height: auto !important;
        min-height: 0 !important;
        flex-wrap: wrap !important;
        padding: 8px 12px !important;
        gap: 8px !important;
        z-index: 40 !important;
    }
    .report-nav .nav-left,
    .report-nav .nav-center,
    .report-nav .nav-right {
        flex: 1 1 100% !important;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .report-nav .filter-container,
    .report-nav .nav-center { width: 100% !important; max-width: 100% !important; }
    .report-nav .nav-right {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .report-nav .nav-right a {
        min-height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 8px 12px !important;
    }

    .summary-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 10px !important; }
    .sum-card { padding: 12px !important; border-radius: 14px !important; }
    .sum-val { font-size: 16px !important; }

    .split {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }
    .pane,
    .pane-in,
    .pane-out,
    .pane-xfer {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: 220px !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
    }
    .tbody-scroll { max-height: 320px; overflow: auto !important; }

    .table-card,
    .list-section,
    .glass-card {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        position: relative !important;
        z-index: 1 !important;
    }
    html body table {
        table-layout: auto !important;
    }
    .table-card table,
    .list-section table,
    .thead-fixed table,
    .tbody-scroll table {
        min-width: 560px;
    }

    /* 录入档案：去掉外框，上下留白对齐客户档案 */
    html body:has(#mainForm) {
        background: #e8eef5 !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: auto !important;
        overflow-x: hidden !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html body:has(#mainForm) .container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        overflow: visible !important;
        padding: 12px !important;
        padding-bottom: 12px !important;
        margin: 0 !important;
    }
    body:has(#mainForm) .container > h2 {
        text-align: center !important;
        font-size: 20px !important;
        padding: 4px 4px 8px !important;
        margin: 0 0 10px !important;
        color: #1d4ed8 !important;
    }
    /* 输入字不压到清除 ✕ */
    .container form .input-wrap input[type="text"] {
        padding-right: 42px !important;
    }

    /* 录入/修改档案：表格改直排，标签不再被挤出屏幕 */
    .container form > table,
    .container form > table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .container form > table tr {
        display: block !important;
        width: 100% !important;
        margin-bottom: 8px !important;
        background: #fff !important;
        border: 1px solid var(--border-glow, rgba(15, 23, 42, 0.08)) !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .container form > table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    .container form > table td.label {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: left !important;
        padding: 10px 14px 0 !important;
        border: none !important;
        background: transparent !important;
        font-size: 13px !important;
    }
    .container form > table td:not(.label) {
        border: none !important;
        padding: 8px 12px 12px !important;
    }
    .contact-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .contact-row .input-wrap {
        width: 100% !important;
        flex: none !important;
    }
    .contact-row .btn-del-row {
        align-self: flex-end !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
    .container form > table tr:has(#contact-list) {
        overflow: visible !important;
    }
    #contact-list {
        position: relative !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    #contact-list .contact-row {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    #contact-list .contact-row:last-of-type .btn-del-row {
        position: absolute !important;
        right: 12px !important;
        bottom: 12px !important;
        align-self: auto !important;
        z-index: 2 !important;
    }
    #contact-list .btn-text-link,
    #contact-list button.btn-text-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 44px !important;
        margin: 4px 0 0 !important;
        padding: 8px 56px 8px 0 !important;
        width: auto !important;
        max-width: calc(100% - 56px) !important;
        background: none !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        outline: none !important;
        color: #3b82f6 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        font-family: inherit !important;
        letter-spacing: 0 !important;
        line-height: 1.4 !important;
        text-align: left !important;
        transform: none !important;
    }
    .photo-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        justify-content: stretch !important;
    }
    .photo-item,
    .upload-btn {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 !important;
        box-sizing: border-box !important;
    }
    .btn-text-link {
        min-height: 44px !important;
        padding: 8px 0 !important;
    }

    .grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    body:has(.team-btn) .grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }
    body:has(.team-btn) .team-btn {
        min-height: 56px !important;
        padding: 16px 8px !important;
        font-size: 18px !important;
        box-sizing: border-box !important;
    }
    .company-serial-pair { grid-template-columns: 1fr !important; }
    .funding-row { display: block; }
    .funding-row[style*="display: none"],
    .funding-row[style*="display:none"] { display: none !important; }
    .form-row,
    .two-col,
    .info-grid,
    .profile-grid,
    .detail-grid {
        grid-template-columns: 1fr !important;
        display: block !important;
    }

    /* 登录页：整屏垂直水平居中（盖过通用 body padding-top:72px） */
    html:has(.login-card),
    html:has(.login-card) body,
    body:has(.login-card) {
        height: 100% !important;
        min-height: 100dvh !important;
        max-height: none !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
    }
    .login-card {
        width: 92vw !important;
        max-width: 92vw !important;
        padding: 28px 18px !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }
    .login-card h1 { font-size: 22px !important; }

    /* 安全设置：去掉外框，整页居中 */
    html body:has(#profileForm) {
        background: #e8eef5 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }
    html body:has(#profileForm) .container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 12px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }
    body:has(#profileForm) .container > h2 {
        text-align: center !important;
        font-size: 20px !important;
        padding: 4px 4px 8px !important;
        margin: 0 0 16px !important;
        color: #1d4ed8 !important;
    }
    body:has(#profileForm) .form-group {
        text-align: center !important;
        margin-bottom: 12px !important;
    }
    body:has(#profileForm) .form-group[style*="border-top"] {
        margin-top: 0 !important;
        border-top: none !important;
        padding-top: 0 !important;
    }
    body:has(#profileForm) .form-group label {
        display: block !important;
        text-align: center !important;
        margin-bottom: 8px !important;
    }
    body:has(#profileForm) .form-hint {
        margin-top: 6px !important;
    }
    body:has(#profileForm) .btn-submit {
        margin-top: 12px !important;
    }
    body:has(#profileForm) .btn-layout {
        margin-top: 10px !important;
        padding: 14px !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
    }
    body:has(#profileForm) .pwd-shell,
    body:has(#profileForm) #usernameInp {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
    }

    /* 全站弹窗：盖过 navbar，打开时看不见导航 */
    .modal-overlay,
    #logoutOverlay,
    .img-modal,
    [id$="Overlay"] {
        z-index: 12000 !important;
    }
    .modal-overlay .modal-card,
    .modal-overlay .custom-modal,
    .modal-overlay .pick-modal-card,
    .modal-overlay .co-card,
    .modal-overlay .pages-card,
    .modal-overlay .assign-card,
    .custom-modal,
    .modal-card,
    .modal-box,
    #logoutModal,
    .img-modal,
    [id$="Modal"] {
        z-index: 12001 !important;
    }
    #logoutModal {
        width: 92vw !important;
        max-width: 92vw !important;
        left: 50% !important;
        padding: 22px 16px !important;
        box-sizing: border-box !important;
    }
    body:has(.modal-overlay[style*="flex"]) .main-nav,
    body:has(.modal-overlay[style*="block"]) .main-nav,
    body:has(.custom-modal[style*="flex"]) .main-nav,
    body:has(.custom-modal[style*="block"]) .main-nav,
    body:has(.img-modal[style*="flex"]) .main-nav,
    body:has(.img-modal[style*="block"]) .main-nav,
    body:has(#logoutModal[style*="block"]) .main-nav,
    body:has([id$="Modal"][style*="flex"]) .main-nav,
    body:has([id$="Modal"][style*="block"]) .main-nav,
    body:has([id$="Overlay"][style*="flex"]) .main-nav,
    body:has([id$="Overlay"][style*="block"]) .main-nav,
    body:has(.modal-overlay[style*="flex"]) .nav-links.nav-open-panel,
    body:has(.modal-overlay[style*="block"]) .nav-links.nav-open-panel,
    body:has(.custom-modal[style*="flex"]) .nav-links.nav-open-panel,
    body:has(.custom-modal[style*="block"]) .nav-links.nav-open-panel,
    body:has(.img-modal[style*="flex"]) .nav-links.nav-open-panel,
    body:has(.img-modal[style*="block"]) .nav-links.nav-open-panel,
    body:has(#logoutModal[style*="block"]) .nav-links.nav-open-panel,
    body:has([id$="Modal"][style*="flex"]) .nav-links.nav-open-panel,
    body:has([id$="Modal"][style*="block"]) .nav-links.nav-open-panel,
    body:has([id$="Overlay"][style*="flex"]) .nav-links.nav-open-panel,
    body:has([id$="Overlay"][style*="block"]) .nav-links.nav-open-panel,
    body:has(.modal-overlay[style*="flex"]) .nav-scrim,
    body:has(.modal-overlay[style*="block"]) .nav-scrim,
    body:has(.custom-modal[style*="flex"]) .nav-scrim,
    body:has(.custom-modal[style*="block"]) .nav-scrim,
    body:has(.img-modal[style*="flex"]) .nav-scrim,
    body:has(.img-modal[style*="block"]) .nav-scrim,
    body:has(#logoutModal[style*="block"]) .nav-scrim,
    body:has([id$="Modal"][style*="flex"]) .nav-scrim,
    body:has([id$="Modal"][style*="block"]) .nav-scrim,
    body:has([id$="Overlay"][style*="flex"]) .nav-scrim,
    body:has([id$="Overlay"][style*="block"]) .nav-scrim {
        visibility: hidden !important;
        pointer-events: none !important;
    }
    .custom-modal,
    .modal-card,
    .modal-box,
    .review-wrap {
        width: 92vw !important;
        max-width: 92vw !important;
        left: 50% !important;
        padding: 22px 16px !important;
        box-sizing: border-box !important;
    }
    .logout-modal-btns,
    .table-footer,
    .modal-actions,
    .btn-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    a, button, .btn-add, .btn-action, .btn-edit, .btn-del, .btn-save, .btn-submit,
    .btn-confirm, .btn-cancel, .btn-nav-cancel, .btn-nav-confirm, .modal-btn,
    .btn-login, .btn-done, .btn-primary, .profile-page-btn, .btn-pay,
    .nav-burger, .custom-select-trigger, .custom-option, .reset-circle {
        pointer-events: auto !important;
        touch-action: manipulation;
    }
    html body .reset-circle {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        padding: 0 !important;
        background: rgba(15, 23, 42, 0.1) !important;
        color: #0f172a !important;
        border-radius: 50% !important;
        border: none !important;
        box-shadow: none !important;
    }
    .btn-save,
    .btn-submit,
    .btn-done,
    .btn-primary,
    .btn-login,
    .profile-page-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
        position: static !important;
        margin: 0 !important;
        text-align: center !important;
        z-index: 3 !important;
    }
    .btn-add {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
    .btn-add[style*="display: none"],
    .btn-add[style*="display:none"] { display: none !important; }
    .btn-confirm,
    .btn-cancel,
    .btn-nav-cancel,
    .btn-nav-confirm,
    .modal-btn {
        min-width: 0 !important;
        min-height: 44px !important;
        flex: 1 1 40% !important;
    }
    .col-action,
    .btn-action,
    .btn-edit,
    .btn-del {
        white-space: nowrap !important;
        min-height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 3px 2px !important;
        padding: 8px 10px !important;
    }

    .filter-container .custom-options,
    .combined-form .custom-options,
    .filter-container .custom-options.show {
        position: fixed !important;
        top: -9999px !important;
        left: 8px !important;
        right: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 16px) !important;
        max-height: 40vh !important;
        box-sizing: border-box !important;
        background: #fff !important;
        z-index: 10050 !important;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16) !important;
    }
    body:has(#loanForm) .custom-options,
    body:has(#loanForm) .custom-options.show {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        max-height: 40vh !important;
        z-index: 10050 !important;
    }
    #ddMenu.custom-options {
        position: fixed !important;
        right: auto !important;
        max-width: calc(100vw - 16px) !important;
        max-height: 40vh !important;
        z-index: 10060 !important;
        transform: none !important;
    }
    .custom-option {
        padding: 14px 12px !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .custom-option.taken,
    body:has(#loanForm) .custom-option.taken {
        display: none !important;
    }

    .filter-container ~ * .flatpickr-calendar,
    body:has(.date-slot) .flatpickr-calendar,
    body .flatpickr-calendar.open,
    body:has(#loanForm) .flatpickr-calendar,
    body:has(#loanTable) .flatpickr-calendar {
        position: fixed !important;
        z-index: 10060 !important;
        margin: 0 !important;
    }

    .hero-section,
    .info-panel,
    .schedule-card { padding: 14px !important; }

    input:not([type="checkbox"]):not([type="hidden"]):not(.numInput):not(.cur-year),
    select:not(.flatpickr-monthDropdown-months),
    textarea,
    .cell-input {
        font-size: 16px !important;
    }

    /* 客户档案：筛选各成一颗，名单改卡片。不盖掉 JS 的 display:none */
    html body:has(#custTable) {
        background: #e8eef5 !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: auto !important;
        overflow-x: hidden !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html body:has(#custTable) .container {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        overflow: visible !important;
        padding-bottom: 12px !important;
    }
    body:has(#custTable) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title stats"
            "filter filter" !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 4px 0 8px !important;
        gap: 10px 12px !important;
    }
    body:has(#custTable) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        padding: 0 4px !important;
        color: #1d4ed8 !important;
    }
    body:has(#custTable) .filter-container {
        grid-area: filter !important;
    }
    body:has(#custTable) .toolbar-right {
        grid-area: stats !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        justify-content: flex-end !important;
    }
    body:has(#custTable) .filter-container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#custTable) .combined-form {
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#custTable) .custom-select-wrapper {
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
    }
    html body:has(#custTable) .filter-container #searchInput.large-input,
    html body:has(#custTable) .filter-container #searchInput.large-input:focus {
        display: block !important;
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        text-align: center !important;
        padding: 0 44px !important;
        color: #0f172a !important;
        outline: none !important;
        box-sizing: border-box !important;
    }
    html body:has(#custTable) .filter-container #searchInput.large-input::placeholder {
        text-align: center !important;
    }
    html body:has(#custTable) .filter-container .custom-select-trigger {
        justify-content: center !important;
        text-align: center !important;
    }
    html body:has(#custTable) .filter-container .custom-select-trigger span {
        flex: 0 1 auto !important;
        text-align: center !important;
    }
    body:has(#custTable) .filter-right-box {
        bottom: 0 !important;
        right: 8px !important;
    }
    body:has(#custTable) .reset-circle {
        width: 24px !important;
        height: 24px !important;
        font-size: 10px !important;
    }
    body:has(#custTable) .stats-badge {
        width: auto !important;
        background: #fff !important;
        border: 1px solid rgba(59, 130, 246, 0.28) !important;
        box-shadow: none !important;
        justify-content: center !important;
        padding: 6px 14px !important;
        gap: 6px !important;
    }
    body:has(#custTable) .stats-val {
        color: #1d4ed8 !important;
        font-size: 22px !important;
    }
    body:has(#custTable) .table-card,
    body:has(#custTable) .table-card table,
    body:has(#custTable) #custTable {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
        flex: none !important;
        height: auto !important;
    }
    body:has(#custTable) .thead-fixed {
        display: none !important;
    }
    body:has(#custTable) .tbody-scroll {
        max-height: none !important;
        overflow: visible !important;
        width: 100% !important;
    }
    body:has(#custTable) #custTable,
    body:has(#custTable) #custTable tbody,
    body:has(#custTable) #custTable tr {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#custTable) #custTable tr {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.2) !important;
        border-radius: 16px !important;
        padding: 16px !important;
        margin: 0 0 12px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#custTable) #custTable tr:last-child {
        margin-bottom: 0 !important;
    }
    body:has(#custTable) #custTable tr[style*="display: none"],
    body:has(#custTable) #custTable tr[style*="display:none"] {
        display: none !important;
    }
    body:has(#custTable) #custTable td {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 10px 0 !important;
        border: none !important;
        text-align: right !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        font-size: 16px !important;
        color: #0f172a !important;
        font-weight: 700 !important;
        box-sizing: border-box !important;
    }
    body:has(#custTable) #custTable td::before {
        color: #475569 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: none !important;
        text-align: left !important;
    }
    body:has(#custTable) #custTable td:nth-child(1) { display: none !important; }
    body:has(#custTable) #custTable td:nth-child(2) {
        display: block !important;
        text-align: left !important;
        font-size: 18px !important;
        padding: 0 0 8px !important;
        grid-template-columns: none !important;
    }
    body:has(#custTable) #custTable td:nth-child(3)::before { content: "证件"; }
    body:has(#custTable) #custTable td:nth-child(4)::before { content: "职业"; }
    body:has(#custTable) #custTable td:nth-child(5)::before { content: "总欠"; }
    body:has(#custTable) #custTable td:nth-child(6)::before { content: "逾期"; }
    body:has(#custTable) #custTable td:nth-child(7)::before { content: "总赚"; }
    body:has(#custTable) #custTable td:nth-child(n+3) {
        border-top: 1px solid rgba(15, 23, 42, 0.1) !important;
    }
    body:has(#custTable) #custTable a.cell-plain {
        display: block !important;
        width: 100% !important;
        font-size: inherit !important;
        color: #2563eb !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* 出款列表：筛选各成一颗，名单改卡片 */
    body:has(#loanTable) {
        background: #e8eef5 !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#loanTable) .container {
        height: auto !important;
        overflow: visible !important;
        padding: 12px !important;
        margin: 0 !important;
    }
    body:has(#loanTable) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title add"
            "filter filter" !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 4px 0 8px !important;
        gap: 10px 12px !important;
    }
    body:has(#loanTable) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        padding: 0 4px !important;
        color: #1d4ed8 !important;
    }
    body:has(#loanTable) .filter-container {
        grid-area: filter !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#loanTable) .toolbar-right {
        grid-area: add !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        justify-content: flex-end !important;
    }
    body:has(#loanTable) .btn-add {
        min-height: 40px !important;
        padding: 8px 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }
    body:has(#loanTable) .combined-form {
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#loanTable) .date-slot,
    body:has(#loanTable) .custom-select-wrapper {
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.18) !important;
    }
    html body:has(#loanTable) .filter-container #icSearchInput.large-input,
    html body:has(#loanTable) .filter-container #icSearchInput.large-input:focus {
        display: block !important;
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        text-align: center !important;
        padding: 0 44px !important;
        color: #0f172a !important;
        outline: none !important;
        box-sizing: border-box !important;
    }
    html body:has(#loanTable) .filter-container #icSearchInput.large-input::placeholder {
        text-align: center !important;
    }
    html body:has(#loanTable) .filter-container .custom-select-trigger,
    html body:has(#loanTable) .filter-container .date-input,
    html body:has(#loanTable) .filter-container .flatpickr-input {
        justify-content: center !important;
        text-align: center !important;
    }
    html body:has(#loanTable) .filter-container .custom-select-trigger span {
        flex: 0 1 auto !important;
        text-align: center !important;
    }
    body:has(#loanTable) .filter-right-box {
        bottom: 0 !important;
        right: 8px !important;
    }
    body:has(#loanTable) .reset-circle {
        width: 24px !important;
        height: 24px !important;
        font-size: 10px !important;
    }
    body:has(#loanTable) .table-card,
    body:has(#loanTable) .table-card table,
    body:has(#loanTable) .thead-fixed table,
    body:has(#loanTable) .tbody-scroll table,
    body:has(#loanTable) #loanTable {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }
    body:has(#loanTable) .thead-fixed {
        display: none !important;
    }
    body:has(#loanTable) .tbody-scroll {
        max-height: none !important;
        overflow: visible !important;
        width: 100% !important;
    }
    body:has(#loanTable) #loanTable,
    body:has(#loanTable) #loanTable tbody,
    body:has(#loanTable) #loanTable tr {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#loanTable) #loanTable tr {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.2) !important;
        border-radius: 16px !important;
        padding: 16px !important;
        margin: 0 0 12px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#loanTable) #loanTable tr:last-child {
        margin-bottom: 0 !important;
    }
    body:has(#loanTable) #loanTable tr[style*="display: none"],
    body:has(#loanTable) #loanTable tr[style*="display:none"] {
        display: none !important;
    }
    body:has(#loanTable) #loanTable td {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 10px 0 !important;
        border: none !important;
        text-align: right !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        font-size: 16px !important;
        color: #0f172a !important;
        font-weight: 700 !important;
        box-sizing: border-box !important;
    }
    body:has(#loanTable) #loanTable td::before {
        color: #475569 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: none !important;
        text-align: left !important;
    }
    body:has(#loanTable) #loanTable td:nth-child(1) {
        display: block !important;
        text-align: left !important;
        font-size: 18px !important;
        padding: 0 0 8px !important;
        grid-template-columns: none !important;
    }
    body:has(#loanTable) #loanTable td:nth-child(1)::before { content: none !important; }
    body:has(#loanTable) #loanTable td:nth-child(2)::before { content: "代理"; }
    body:has(#loanTable) #loanTable td:nth-child(3)::before { content: "证件"; }
    body:has(#loanTable) #loanTable td:nth-child(4)::before { content: "职业"; }
    body:has(#loanTable) #loanTable td:nth-child(5)::before { content: "出款日期"; }
    body:has(#loanTable) #loanTable td:nth-child(6)::before { content: "借款"; }
    body:has(#loanTable) #loanTable td:nth-child(7)::before { content: "利息"; }
    body:has(#loanTable) #loanTable td:nth-child(8)::before { content: "吃头"; }
    body:has(#loanTable) #loanTable td:nth-child(9)::before { content: "天数"; }
    body:has(#loanTable) #loanTable td:nth-child(10)::before { content: "期数"; }
    body:has(#loanTable) #loanTable td:nth-child(11)::before { content: "状态"; }
    body:has(#loanTable) #loanTable td:nth-child(n+2) {
        border-top: 1px solid rgba(15, 23, 42, 0.1) !important;
    }
    body:has(#loanTable) #loanTable a.cell-plain {
        display: block !important;
        width: 100% !important;
        font-size: inherit !important;
        color: #2563eb !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
    }
    body:has(#loanTable) #loanTable .action-group {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 8px !important;
    }
    body:has(#loanTable) #loanTable .btn-action,
    body:has(#loanTable) #loanTable a.btn-edit,
    body:has(#loanTable) #loanTable button.btn-del {
        box-sizing: border-box !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        width: auto !important;
        min-width: 72px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }
    body:has(#loanTable) #loanTable tr.empty-row td {
        display: block !important;
        grid-template-columns: none !important;
        text-align: center !important;
        padding: 40px 12px !important;
        border: none !important;
    }
    body:has(#loanTable) #loanTable tr.empty-row td::before {
        display: none !important;
        content: none !important;
    }
    body:has(#loanTable) .custom-modal {
        width: calc(100% - 32px) !important;
        max-width: 400px !important;
        padding: 28px 20px !important;
        box-sizing: border-box !important;
    }

    /* 新增出款：去掉外框，上下留白对齐客户档案 */
    html body:has(#loanForm) {
        background: #e8eef5 !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: auto !important;
        overflow-x: hidden !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html body:has(#loanForm) .container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        overflow: visible !important;
        padding: 12px !important;
        padding-bottom: 12px !important;
        margin: 0 !important;
    }
    body:has(#loanForm) h1 {
        text-align: center !important;
        font-size: 20px !important;
        padding: 4px 4px 8px !important;
        margin: 0 0 10px !important;
        color: #1d4ed8 !important;
    }
    body:has(#loanForm) .section-title {
        font-size: 15px !important;
        margin: 18px 0 10px !important;
    }
    body:has(#loanForm) .grid,
    body:has(#loanForm) .grid[style] {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
    }
    body:has(#loanForm) .f-group input:not([type="checkbox"]):not([type="hidden"]),
    body:has(#loanForm) .f-group .custom-select-wrapper,
    body:has(#loanForm) .f-group .toggle-group {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#loanForm) .funding-list {
        padding: 12px !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#loanForm) .funding-list > .step-options { order: 1; }
    body:has(#loanForm) .funding-list > #fundingContainer { order: 2; }
    body:has(#loanForm) .funding-list > #btnAddRow {
        order: 3;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }
    body:has(#loanForm) .funding-list > div:has(#totalPct) { order: 4; }
    body:has(#loanForm) .funding-list > .step-options {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
        padding: 12px 10px !important;
    }
    body:has(#loanForm) .funding-list > .step-options label {
        margin: 0 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #0f172a !important;
        white-space: nowrap !important;
        gap: 6px !important;
    }
    body:has(#loanForm) .step-options {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 12px !important;
    }
    body:has(#loanForm) .funding-row {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 12px !important;
        margin-bottom: 10px !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }
    body:has(#loanForm) .funding-row[style*="display: none"],
    body:has(#loanForm) .funding-row[style*="display:none"],
    body:has(#loanForm) #rowBranch[style*="display:none"],
    body:has(#loanForm) #rowBranch[style*="display: none"] {
        display: none !important;
    }
    body:has(#loanForm) .funding-row > span:first-child,
    body:has(#loanForm) .funding-row > .company-serial-pair {
        grid-column: 1 / -1 !important;
    }
    body:has(#loanForm) .funding-row > :nth-child(3) {
        grid-column: 1 !important;
    }
    body:has(#loanForm) .funding-row > :nth-child(4) {
        grid-column: 2 !important;
        justify-self: end !important;
        white-space: nowrap !important;
    }
    body:has(#loanForm) .funding-row > :nth-child(5) {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
    }
    body:has(#loanForm) .company-serial-pair {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }
    body:has(#loanForm) .serial-cell,
    body:has(#loanForm) .custom-select-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(#loanForm) .funding-row .custom-select-wrapper {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
    body:has(#loanForm) .funding-row .custom-select-trigger {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: center !important;
        justify-items: center !important;
        position: relative !important;
        height: 44px !important;
        max-height: 44px !important;
        padding: 4px 26px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        white-space: normal !important;
        word-break: break-all !important;
        font-size: 14px !important;
        line-height: 18px !important;
        text-align: center !important;
    }
    body:has(#loanForm) .funding-row .custom-select-trigger::after {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
    }
    body:has(#loanForm) .serial-cell {
        display: block !important;
        position: relative !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        overflow: hidden !important;
    }
    body:has(#loanForm) .serial-cell.name-only {
        display: none !important;
    }
    body:has(#loanForm) .serial-cell.name-only input.serial-suffix,
    body:has(#loanForm) .serial-cell.name-only input.serial-suffix:focus,
    body:has(#loanForm) .serial-cell.name-only input.serial-display,
    body:has(#loanForm) .serial-cell.name-only input.serial-display:focus {
        display: none !important;
    }
    body:has(#loanForm) .serial-prefix {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        width: calc(50% - 2.4em) !important;
        max-height: 36px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        white-space: normal !important;
        word-break: break-all !important;
        font-size: 14px !important;
        line-height: 18px !important;
        text-align: left !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }
    body:has(#loanForm) .serial-prefix.is-measure {
        display: block !important;
        white-space: nowrap !important;
        word-break: normal !important;
        -webkit-line-clamp: unset !important;
        max-height: none !important;
        overflow: hidden !important;
    }
    body:has(#loanForm) .serial-prefix.is-split {
        display: block !important;
        white-space: pre-line !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        max-height: 36px !important;
        line-height: 18px !important;
    }
    body:has(#loanForm) .serial-hyphen:not(:empty) {
        display: block !important;
        position: absolute !important;
        z-index: 2 !important;
        margin: 0 !important;
        font-weight: 800 !important;
        color: var(--primary) !important;
        font-size: 14px !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }
    body:has(#loanForm) .serial-cell input.serial-suffix,
    body:has(#loanForm) .serial-cell input.serial-suffix:focus,
    body:has(#loanForm) .serial-cell input.serial-display,
    body:has(#loanForm) .serial-cell input.serial-display:focus {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 100% !important;
        text-align: center !important;
        position: relative !important;
        z-index: 0 !important;
    }
    body:has(#loanForm) .serial-cell input.serial-suffix::placeholder,
    body:has(#loanForm) .serial-cell input.serial-display::placeholder {
        text-align: center !important;
    }
    body:has(#loanForm) .funding-row input.pct {
        width: 72px !important;
        max-width: 72px !important;
    }
    body:has(#loanForm) .schedule-box,
    body:has(#loanForm) .schedule-table {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }
    body:has(#loanForm) .schedule-table th,
    body:has(#loanForm) .schedule-table td {
        padding: 8px 4px !important;
        font-size: 12px !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#loanForm) .sched-input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#loanForm) .btn-submit {
        margin-top: 20px !important;
    }
    body:has(#loanForm) .custom-select-wrapper {
        overflow: visible !important;
        z-index: 2 !important;
    }
    body:has(#loanForm) .custom-select-wrapper:has(.custom-options.show),
    body:has(#loanForm) .custom-select-wrapper.is-open {
        z-index: 30 !important;
    }

    #diffConfirmModal .modal-card {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
    }
    #diffConfirmModal .diff-scroll-box,
    html body #diffConfirmModal .diff-scroll-box {
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    #diffConfirmModal .diff-scroll-box::-webkit-scrollbar,
    html body #diffConfirmModal .diff-scroll-box::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }
    #diffConfirmModal .diff-row {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) 16px minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 8px !important;
    }
    #diffConfirmModal .diff-label {
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    #diffConfirmModal .diff-old,
    #diffConfirmModal .diff-new {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    /* 客户查询 */
    body:has(#profileSearchForm) {
        background: #e8eef5 !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#profileSearchForm) .main-nav {
        z-index: 21000 !important;
    }
    html.draft-profile:has(#profileSearchForm),
    html.draft-profile:has(#profileSearchForm) body {
        height: auto !important;
        overflow: auto !important;
    }
    html.draft-profile:has(#profileSearchForm) .container,
    html.draft-profile:has(#profileSearchForm) .profile-layout,
    html.draft-profile:has(#profileSearchForm) .profile-layout > .glass-card,
    html.draft-profile:has(#profileSearchForm) .profile-layout > div,
    html.draft-profile:has(#profileSearchForm) .profile-log-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    body:has(#profileSearchForm) .container {
        height: auto !important;
        min-height: 0 !important;
    }
    body:has(#profileSearchForm) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title stats"
            "filter filter" !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 4px 0 8px !important;
        gap: 10px 12px !important;
    }
    body:has(#profileSearchForm) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        padding: 0 4px !important;
        color: #1d4ed8 !important;
    }
    body:has(#profileSearchForm) .filter-container {
        grid-area: filter !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#profileSearchForm) .toolbar-right {
        grid-area: stats !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        justify-content: flex-end !important;
    }
    body:has(#profileSearchForm) .toolbar-right:not(:has(.stats-badge)) {
        display: none !important;
    }
    body:has(#profileSearchForm) .stats-badge {
        width: auto !important;
        background: #fff !important;
        border: 1px solid rgba(59, 130, 246, 0.28) !important;
        box-shadow: none !important;
        justify-content: center !important;
        padding: 6px 14px !important;
        gap: 6px !important;
    }
    body:has(#profileSearchForm) .stats-val {
        color: #1d4ed8 !important;
        font-size: 20px !important;
    }
    body:has(#profileSearchForm) .doc-mode-btn {
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        min-width: 0 !important;
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        color: #64748b !important;
    }
    body:has(#profileSearchForm) .doc-mode-btn.active {
        color: #1d4ed8 !important;
        border-color: rgba(59, 130, 246, 0.4) !important;
    }
    html body:has(#profileSearchForm) .filter-container #searchInput.large-input,
    html body:has(#profileSearchForm) .filter-container #searchInput.large-input:focus {
        display: block !important;
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        border: 1px solid rgba(15, 23, 42, 0.18) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        text-align: center !important;
        padding: 0 44px !important;
        color: #0f172a !important;
        outline: none !important;
        box-sizing: border-box !important;
    }
    html body:has(#profileSearchForm) .filter-container #searchInput.large-input::placeholder {
        text-align: center !important;
        color: #94a3b8 !important;
    }
    body:has(#profileSearchForm) .filter-right-box {
        bottom: 0 !important;
        right: 8px !important;
        height: 44px !important;
    }
    body:has(#profileSearchForm) .profile-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        margin-bottom: 8px !important;
    }
    body:has(#profileSearchForm) .glass-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        border-radius: 16px !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
        box-sizing: border-box !important;
    }
    body:has(#profileSearchForm) .photo-wrap {
        margin-bottom: 12px !important;
    }
    body:has(#profileSearchForm) .avatar-circle {
        width: 120px !important;
        height: 120px !important;
    }
    body:has(#profileSearchForm) .avatar-circle i {
        font-size: 42px !important;
    }
    body:has(#profileSearchForm) .user-name {
        font-size: 22px !important;
        margin-bottom: 12px !important;
    }
    body:has(#profileSearchForm) .info-row {
        align-items: flex-start !important;
        padding: 12px 0 !important;
        gap: 12px !important;
    }
    body:has(#profileSearchForm) .info-key {
        width: 76px !important;
        text-align: left !important;
        font-size: 13px !important;
    }
    body:has(#profileSearchForm) .info-val {
        text-align: right !important;
        font-size: 15px !important;
        min-width: 0 !important;
    }
    body:has(#profileSearchForm) .info-val .brief-stack,
    body:has(#profileSearchForm) .brief-serials {
        align-items: flex-end !important;
    }
    body:has(#profileSearchForm) .profile-page-btn {
        margin-top: 16px !important;
        padding: 14px 12px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
    }
    body:has(#profileSearchForm) .stat-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
    }
    body:has(#profileSearchForm) .stat-box {
        padding: 16px 12px !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#profileSearchForm) .stat-value {
        font-size: 16px !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#profileSearchForm) .section-tag {
        letter-spacing: 0.06em !important;
        margin-bottom: 12px !important;
    }
    /* 客户查询：流水/旧单默认收起，点标题展开（外观与原先标题一致） */
    body:has(#profileSearchForm) .flow-section-toggle {
        cursor: pointer !important;
        user-select: none !important;
    }
    body:has(#profileSearchForm) .flow-section-body {
        display: none !important;
    }
    body:has(#profileSearchForm) .flow-section.is-open .flow-section-body {
        display: block !important;
    }
    body:has(#profileSearchForm) .row {
        display: block !important;
        margin: 0 !important;
    }
    body:has(#profileSearchForm) .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        border: none !important;
    }
    body:has(#profileSearchForm) .border-end {
        border: none !important;
        margin-bottom: 20px !important;
    }
    body:has(#profileSearchForm) hr {
        margin: 20px 0 !important;
    }
    body:has(#profileSearchForm) .mb-5 {
        margin-bottom: 20px !important;
    }
    body:has(#profileSearchForm) .loan-flow-table,
    body:has(#profileSearchForm) .loan-flow-table tbody,
    body:has(#profileSearchForm) .loan-flow-table tr {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#profileSearchForm) .loan-flow-table thead {
        display: none !important;
    }
    body:has(#profileSearchForm) .loan-flow-table tr {
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, 0.1) !important;
        border-radius: 12px !important;
        padding: 12px !important;
        margin: 0 0 10px !important;
    }
    body:has(#profileSearchForm) .loan-flow-table td {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        align-items: start !important;
        width: 100% !important;
        padding: 8px 0 !important;
        border: none !important;
        text-align: right !important;
        font-size: 14px !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(#profileSearchForm) .loan-flow-table td::before {
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(1)::before { content: "单号"; }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(2)::before { content: "借多少"; }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(3)::before { content: "拿多少"; }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(4)::before { content: "还多少"; }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(5)::before { content: "到期还欠"; }
    body:has(#profileSearchForm) .flow-section:has(.section-tag.text-success) .loan-flow-table td:nth-child(5)::before {
        content: "清账日期";
    }
    body:has(#profileSearchForm) .loan-flow-table td:nth-child(n+2) {
        border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#profileSearchForm) .due-stack {
        align-items: flex-end !important;
    }
    body:has(#profileSearchForm) .due-line {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#profileSearchForm) .log-head {
        display: none !important;
    }
    body:has(#profileSearchForm) .log-row {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px 10px !important;
        padding: 12px !important;
        margin: 0 0 8px !important;
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 12px !important;
        text-align: left !important;
    }
    body:has(#profileSearchForm) .log-row span:nth-child(6) {
        width: 100% !important;
        order: -1 !important;
    }
    body:has(#profileSearchForm) .modal-card,
    body:has(#profileSearchForm) .pick-modal-card {
        width: calc(100vw - 32px) !important;
        max-width: 400px !important;
        padding: 28px 18px !important;
        border-radius: 24px !important;
    }
    body:has(#profileSearchForm) .pick-table-wrap {
        max-height: 42vh !important;
    }
    body:has(#profileSearchForm) #copyToast.copy-toast {
        position: fixed !important;
        top: 80px !important;
        bottom: auto !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        z-index: 30000 !important;
        width: max-content !important;
        max-width: calc(100vw - 32px) !important;
        margin: 0 !important;
        pointer-events: none !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        font-size: 0 !important;
    }
    body:has(#profileSearchForm) #copyToast.copy-toast::after {
        content: "已复制详细信息";
        font-size: 14px;
        font-weight: 700;
    }

    /* 报告详细 */
    body:has(.params-ribbon) {
        background: #e8eef5 !important;
    }
    body:has(.params-ribbon) .container {
        margin-top: 0 !important;
    }
    body:has(.params-ribbon) .report-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 12px 10px !important;
        gap: 0 !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        height: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .report-nav .nav-left,
    body:has(.params-ribbon) .report-nav .nav-right {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        position: relative !important;
        z-index: 2 !important;
    }
    body:has(.params-ribbon) .report-nav .nav-left {
        text-align: left !important;
        font-size: 20px !important;
        color: #1d4ed8 !important;
        white-space: nowrap !important;
    }
    html body:has(.params-ribbon) .report-nav .nav-center {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: none !important;
        z-index: 1 !important;
        text-align: center !important;
    }
    body:has(.params-ribbon) .report-nav .nav-right {
        margin-left: auto !important;
        text-align: right !important;
        display: flex !important;
        justify-content: flex-end !important;
    }
    html body:has(.params-ribbon) .report-nav .id-badge {
        display: inline-flex !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 42vw !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: keep-all !important;
        padding: 6px 12px !important;
        pointer-events: auto !important;
    }
    body:has(.params-ribbon) .report-nav .btn-back {
        min-height: 40px !important;
        padding: 0 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    body:has(.params-ribbon) .hero-section,
    body:has(.params-ribbon) .glass-card,
    body:has(.params-ribbon) .col-lg-4 .glass-card:last-child,
    body:has(.params-ribbon) .col-lg-8 .glass-card:last-child {
        padding: 16px !important;
        margin-bottom: 12px !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .section-tag {
        letter-spacing: 0.06em !important;
        margin-bottom: 12px !important;
    }
    body:has(.params-ribbon) .data-grid,
    body:has(.params-ribbon) .data-grid.cols-4,
    body:has(.params-ribbon) .data-grid.cols-5,
    body:has(.params-ribbon) .data-grid.cols-6,
    body:has(.params-ribbon) .schedule-data-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
    }
    body:has(.params-ribbon) .schedule-data-grid {
        padding-top: 16px !important;
    }
    body:has(.params-ribbon) .data-grid.cols-5 .data-box,
    body:has(.params-ribbon) .data-box {
        flex: none !important;
        width: 100% !important;
        padding: 14px 10px !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .d-value {
        font-size: 18px !important;
        overflow-wrap: anywhere !important;
    }
    body:has(.params-ribbon) .params-ribbon {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding-top: 12px !important;
    }
    body:has(.params-ribbon) .p-unit {
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 12px !important;
        padding: 10px 8px !important;
    }
    body:has(.params-ribbon) .p-val {
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(.params-ribbon) .row {
        display: block !important;
        margin: 0 !important;
    }
    body:has(.params-ribbon) .col-lg-4,
    body:has(.params-ribbon) .col-lg-8,
    body:has(.params-ribbon) .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    body:has(.params-ribbon) .card-head {
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 0 0 12px !important;
        align-items: center !important;
    }
    body:has(.params-ribbon) .card-head .btn {
        min-height: 40px !important;
        margin-left: auto !important;
    }
    body:has(.params-ribbon) .profile-row {
        padding: 12px 0 !important;
        gap: 12px !important;
    }
    body:has(.params-ribbon) .p-key {
        width: 76px !important;
        white-space: normal !important;
        text-align: left !important;
    }
    body:has(.params-ribbon) .p-value {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }
    body:has(.params-ribbon) .btn-glow {
        width: 100% !important;
        margin: 12px 0 20px !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .card-head.border-top {
        margin-top: 4px !important;
        padding-top: 16px !important;
    }
    body:has(.params-ribbon) .gallery-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 12px 0 0 !important;
    }
    body:has(.params-ribbon) .table-responsive {
        overflow: visible !important;
    }
    body:has(.params-ribbon) .dark-table,
    body:has(.params-ribbon) .dark-table tbody {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .dark-table {
        table-layout: auto !important;
    }
    body:has(.params-ribbon) .dark-table thead {
        display: none !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, 0.1) !important;
        border-radius: 12px !important;
        padding: 12px !important;
        margin: 0 0 10px !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td {
        display: grid !important;
        grid-template-columns: 84px minmax(0, 1fr) !important;
        align-items: center !important;
        width: 100% !important;
        padding: 8px 0 !important;
        border: none !important;
        text-align: right !important;
        font-size: 14px !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td::before {
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        text-align: left !important;
        font-size: 16px !important;
        padding: 0 8px 8px 0 !important;
        grid-template-columns: none !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:nth-child(1)::before { content: none; }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:last-child {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        padding: 0 0 8px !important;
        grid-template-columns: none !important;
        border: none !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:last-child::before { content: none !important; }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:nth-child(n+2):not(:last-child) {
        grid-column: 1 / -1 !important;
        border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:nth-child(2)::before { content: "应还日期"; }
    body:has(.params-ribbon) .dark-table > tbody > tr:not(.sched-pay-row) td:nth-child(3)::before { content: "本期应还"; }
    body:has(.params-ribbon) .dark-table:has(th:nth-child(6)) > tbody > tr:not(.sched-pay-row) td:nth-child(4)::before { content: "本期已覆盖"; }
    body:has(.params-ribbon) .dark-table:has(th:nth-child(6)) > tbody > tr:not(.sched-pay-row) td:nth-child(5)::before { content: "本期差额"; }
    body:has(.params-ribbon) .sched-period-btn {
        min-height: 40px !important;
        color: #2563eb !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr.sched-pay-row[hidden],
    body:has(.params-ribbon) .dark-table > tbody > tr.sched-pay-row[hidden] td {
        display: none !important;
    }
    body:has(.params-ribbon) .dark-table > tbody > tr.sched-pay-row:not([hidden]),
    body:has(.params-ribbon) .dark-table > tbody > tr.sched-pay-row:not([hidden]) td {
        display: block !important;
        width: 100% !important;
        padding: 0 0 10px !important;
        background: transparent !important;
        border: none !important;
    }
    body:has(.params-ribbon) .sched-pay-table,
    body:has(.params-ribbon) .sched-pay-table tbody,
    body:has(.params-ribbon) .sched-pay-table tr {
        display: block !important;
        width: 100% !important;
    }
    body:has(.params-ribbon) .sched-pay-table {
        table-layout: auto !important;
    }
    body:has(.params-ribbon) .sched-pay-table thead {
        display: none !important;
    }
    body:has(.params-ribbon) .sched-pay-table tr {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 10px !important;
        padding: 10px !important;
        margin: 0 0 8px !important;
        box-sizing: border-box !important;
    }
    body:has(.params-ribbon) .sched-pay-table td {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        padding: 6px 0 !important;
        text-align: right !important;
        border: none !important;
    }
    body:has(.params-ribbon) .sched-pay-table td::before {
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }
    body:has(.params-ribbon) .sched-pay-table td:nth-child(1)::before { content: "还款日期"; }
    body:has(.params-ribbon) .sched-pay-table td:nth-child(2)::before { content: "金额"; }
    body:has(.params-ribbon) .sched-pay-table td:nth-child(3)::before { content: "类型"; }
    body:has(.params-ribbon) .sched-pay-table td.sched-pay-empty,
    body:has(.params-ribbon) .sched-pay-table tr:has(.sched-pay-empty) td {
        display: block !important;
        text-align: center !important;
        grid-template-columns: none !important;
    }
    body:has(.params-ribbon) .sched-pay-table td.sched-pay-empty::before,
    body:has(.params-ribbon) .sched-pay-table tr:has(.sched-pay-empty) td::before {
        content: none !important;
    }
    html body:has(.params-ribbon) .glass-card:has(> .p-4) {
        padding-bottom: 16px !important;
    }
    html body:has(.params-ribbon) .p-4 {
        padding: 16px 0 0 !important;
    }
    html body:has(.params-ribbon) .p-4 .row,
    html body:has(.params-ribbon) .p-4 .row.g-3 {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin: 0 !important;
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 0 !important;
    }
    html body:has(.params-ribbon) .p-4 .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body:has(.params-ribbon) .p-4 .rounded-4 {
        padding: 16px !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
    }
    html body:has(.params-ribbon) .p-4 .rounded-4 .text-end {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
    }
    body:has(.params-ribbon) .img-modal {
        z-index: 30000 !important;
    }

    /* 详细档案 */
    body:has(.info-card) {
        background: #e8eef5 !important;
    }
    body:has(.info-card) .container {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        margin: 0 auto !important;
    }
    body:has(.info-card) .header-title {
        font-size: 20px !important;
        margin: 0 0 12px !important;
        padding: 0 4px !important;
        letter-spacing: 0 !important;
        gap: 10px !important;
    }
    body:has(.info-card) .btn-edit-action {
        min-height: 40px !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
    body:has(.info-card) .info-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
        padding: 16px !important;
        margin-bottom: 16px !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
        box-sizing: border-box !important;
    }
    body:has(.info-card) .main-photo {
        width: 140px !important;
        height: 140px !important;
        margin: 0 auto !important;
        border-width: 3px !important;
    }
    body:has(.info-card) .info-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(.info-card) .info-item,
    body:has(.info-card) .info-item[style] {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 8px !important;
        grid-column: auto !important;
        width: 100% !important;
    }
    body:has(.info-card) .info-item label {
        margin: 0 !important;
        padding-top: 2px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }
    body:has(.info-card) .info-item span {
        font-size: 16px !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        min-width: 0 !important;
    }
    body:has(.info-card) .section-label {
        font-size: 16px !important;
        margin: 8px 4px 10px !important;
    }
    body:has(.info-card) .contact-card {
        padding: 14px !important;
        gap: 12px !important;
        margin-bottom: 10px !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(.info-card) .contact-avatar {
        width: 44px !important;
        height: 44px !important;
        font-size: 22px !important;
    }
    body:has(.info-card) .contact-info {
        gap: 10px !important;
    }
    body:has(.info-card) .info-desc {
        width: 52px !important;
    }
    body:has(.info-card) .contact-text {
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(.info-card) .photo-gallery {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-top: 0 !important;
        width: 100% !important;
    }
    body:has(.info-card) .gallery-item {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 !important;
        border-radius: 16px !important;
        box-sizing: border-box !important;
    }
    body:has(.info-card) .img-modal {
        z-index: 30000 !important;
    }

    /* 进款流水 */
    html body:has(#listIn) {
        background: #e8eef5 !important;
        height: auto !important;
        overflow: auto !important;
        overflow-x: hidden !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html:has(body.edit-lock),
    html body.edit-lock,
    html body:has(#listIn).edit-lock {
        overflow: hidden !important;
    }
    html body.edit-lock,
    html body:has(#listIn).edit-lock {
        position: fixed !important;
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
    body.edit-lock #editModal,
    body.edit-lock #unchangedModal,
    body.edit-lock #reviewModal,
    body.edit-lock #msgModal {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 16px !important;
        box-sizing: border-box !important;
        z-index: 10080 !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    body.edit-lock #msgModal {
        z-index: 10090 !important;
    }
    body.edit-lock #ddMenu.custom-options {
        z-index: 10085 !important;
    }
    body.edit-lock #editModal .modal-card,
    body.edit-lock #unchangedModal .modal-card,
    body.edit-lock #reviewModal .modal-card,
    body.edit-lock #msgModal .modal-card {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        margin: auto !important;
        max-height: calc(100dvh - 32px) !important;
        overflow-y: auto !important;
    }
    html body:has(#listIn) .container {
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        margin: 0 auto !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        display: block !important;
    }
    body:has(#listIn) .report-nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 12px 12px !important;
        gap: 10px !important;
        position: relative !important;
        top: auto !important;
        height: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#listIn) .report-nav .nav-left {
        width: 100% !important;
        max-width: calc(100% - 4.5em) !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
        color: #1d4ed8 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(#listIn) .report-nav .nav-right {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 8px !important;
        order: 2 !important;
    }
    body:has(#listIn) .report-nav .nav-right a {
        position: absolute !important;
        top: 2px !important;
        right: 12px !important;
        display: inline !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: none !important;
        box-shadow: none !important;
        color: #2563eb !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
    }
    body:has(#listIn) .team-tag,
    body:has(#listIn) .nav-right .team-tag:nth-child(2) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 44px !important;
        margin: 0 auto !important;
        padding: 8px 14px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-align: center !important;
        line-height: 16px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        flex: none !important;
    }
    body:has(#listIn) .team-tag .tag-k { white-space: nowrap !important; }
    body:has(#listIn) .team-tag .tag-v {
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        min-width: 0 !important;
    }
    body:has(#listIn) .team-tag.is-split .tag-v {
        white-space: pre-line !important;
        word-break: keep-all !important;
        line-height: 16px !important;
        max-height: 32px !important;
    }
    body:has(#listIn) .report-nav .nav-center {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 10px !important;
        order: 3 !important;
    }
    body:has(#listIn) .filter-container {
        grid-area: filter !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 8px !important;
        position: relative !important;
    }
    body:has(#listIn) .filter-left-icon { display: none !important; }
    body:has(#listIn) .filter-right-box {
        display: flex !important;
        position: absolute !important;
        right: 4px !important;
        bottom: 0 !important;
        width: 36px !important;
        height: 44px !important;
        z-index: 6 !important;
    }
    body:has(#listIn) .combined-form {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
        height: auto !important;
    }
    body:has(#listIn) .combined-form > .filter-half:first-of-type,
    body:has(#listIn) .combined-form > .filter-half:last-of-type {
        flex: none !important;
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        box-sizing: border-box !important;
        padding: 0 12px !important;
    }
    body:has(#listIn) .combined-form > .filter-half:last-of-type { padding-right: 36px !important; }
    body:has(#listIn) .combined-form .date-input,
    body:has(#listIn) .combined-form .flatpickr-input,
    body:has(#listIn) .combined-form input[type="text"] {
        width: 100% !important;
        height: 44px !important;
        padding: 0 !important;
        text-align: center !important;
    }
    body:has(#listIn) .v-divider { display: none !important; }
    body:has(#listIn) .add-btn {
        width: 100% !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
        border: none !important;
        border-radius: 12px !important;
        background: #3b82f6 !important;
        color: #fff !important;
        font-size: 15px !important;
        box-shadow: 0 8px 18px rgba(59, 130, 246, 0.22) !important;
    }
    body:has(#listIn) .add-btn.hidden { display: none !important; }
    body:has(#listIn) .summary-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
    }
    body:has(#listIn) .sum-card {
        background: #fff !important;
        padding: 14px 10px !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#listIn) .table-card {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        height: auto !important;
        flex: none !important;
    }
    body:has(#listIn) .split {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        gap: 12px !important;
    }
    body:has(#listIn) .split.hidden,
    body:has(#listIn) .hidden {
        display: none !important;
    }
    body:has(#listIn) .pane,
    body:has(#listIn) .pane-in,
    body:has(#listIn) .pane-out,
    body:has(#listIn) .pane-xfer {
        min-height: 0 !important;
        height: auto !important;
        border: none !important;
        background: transparent !important;
    }
    body:has(#listIn) .pane-head {
        border-radius: 12px !important;
        margin: 0 0 8px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
        text-align: center !important;
    }
    body:has(#listIn) .thead-fixed { display: none !important; }
    body:has(#listIn) .tbody-scroll {
        max-height: none !important;
        overflow: visible !important;
        height: auto !important;
        flex: none !important;
    }
    body:has(#listIn) .table-card table,
    body:has(#listIn) .thead-fixed table,
    body:has(#listIn) .tbody-scroll table,
    body:has(#listIn) table {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: auto !important;
    }
    body:has(#listIn) #sheetView table,
    body:has(#listIn) #sheetView tbody {
        display: block !important;
        width: 100% !important;
    }
    body:has(#listIn) #listView .thead-fixed {
        display: block !important;
    }
    body:has(#listIn) #listView .pane {
        background: #fff !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#listIn) #listView .pane-head {
        margin: 0 !important;
        border-radius: 0 !important;
    }
    body:has(#listIn) #listView table {
        display: table !important;
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }
    body:has(#listIn) #listView thead { display: table-header-group !important; }
    body:has(#listIn) #listView tbody { display: table-row-group !important; width: auto !important; }
    body:has(#listIn) #listView tr { display: table-row !important; }
    body:has(#listIn) #listView tbody > tr.list-row {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }
    body:has(#listIn) #listView tbody > tr.list-row[style*="display: none"],
    body:has(#listIn) #listView tbody > tr.list-row[style*="display:none"] {
        display: none !important;
    }
    body:has(#listIn) #listView th,
    body:has(#listIn) #listView td {
        display: table-cell !important;
        width: auto !important;
        max-width: none !important;
        padding: 6px 3px !important;
        border: none !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
        text-align: center !important;
        vertical-align: middle !important;
        font-size: 12px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        line-height: 1.3 !important;
    }
    body:has(#listIn) #listView th {
        font-size: 11px !important;
        font-weight: 800 !important;
        color: #475569 !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
    }
    body:has(#listIn) #listView td::before { content: none !important; }
    body:has(#listIn) #listView td.amt,
    body:has(#listIn) #listIn td:nth-child(4),
    body:has(#listIn) #listIn td:nth-child(5),
    body:has(#listIn) #listOut td:nth-child(2),
    body:has(#listIn) #listXfer td:nth-child(1),
    body:has(#listIn) #listXfer td:nth-child(3) {
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }
    body:has(#listIn) #listView .btn-action {
        box-sizing: border-box !important;
        height: 26px !important;
        min-width: 0 !important;
        padding: 0 6px !important;
        margin: 1px !important;
        border-radius: 999px !important;
        font-size: 11px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body:has(#listIn) #listView tbody > tr:has(td.empty) {
        display: table-row !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    body:has(#listIn) #listView td.empty {
        display: table-cell !important;
        text-align: center !important;
        width: 100% !important;
        border: none !important;
        padding: 28px 12px !important;
    }
    body:has(#listIn) #listView td.empty::before { content: none !important; }
    body:has(#listIn) #sheetView tbody > tr.flow-row {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.1) !important;
        border-radius: 16px !important;
        padding: 12px !important;
        margin: 0 0 10px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#listIn) #sheetView tbody > tr.flow-row td {
        display: grid !important;
        grid-template-columns: 84px minmax(0, 1fr) !important;
        align-items: center !important;
        width: 100% !important;
        padding: 8px 0 !important;
        border: none !important;
        height: auto !important;
    }
    body:has(#listIn) #sheetView tbody > tr.flow-row td::before {
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }
    body:has(#listIn) #sheetIn > tr.flow-row td:nth-child(1)::before { content: "RM"; }
    body:has(#listIn) #sheetIn > tr.flow-row td:nth-child(2)::before { content: "单号"; }
    body:has(#listIn) #sheetIn > tr.flow-row td:nth-child(3)::before { content: "职业"; }
    body:has(#listIn) #sheetIn > tr.flow-row td:nth-child(4)::before { content: "来 / 利"; }
    body:has(#listIn) #sheetIn > tr.flow-row td:nth-child(5)::before { content: "扣利 / 扣D"; }
    body:has(#listIn) #sheetOut > tr.flow-row td:nth-child(1)::before { content: "单号"; }
    body:has(#listIn) #sheetOut > tr.flow-row td:nth-child(2)::before { content: "RM"; }
    body:has(#listIn) #sheetXfer > tr.flow-row td:nth-child(1)::before { content: "RM"; }
    body:has(#listIn) #sheetXfer > tr.flow-row td:nth-child(2)::before { content: "银行"; }
    body:has(#listIn) #sheetView td:has(.cell-kind[style*="visibility: hidden"]),
    body:has(#listIn) #sheetView td:has(.cell-kind[style*="visibility:hidden"]),
    body:has(#listIn) #sheetView td:has(.cell-offset[style*="visibility: hidden"]),
    body:has(#listIn) #sheetView td:has(.cell-offset[style*="visibility:hidden"]) {
        display: none !important;
    }
    body:has(#listIn) #sheetView .cell-input,
    body:has(#listIn) #sheetView .custom-select-wrapper,
    body:has(#listIn) #sheetView .toggle-group {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    body:has(#listIn) .table-footer {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px 0 0 !important;
        border: none !important;
        background: transparent !important;
    }
    body:has(#listIn) .table-footer.hidden,
    body:has(#listIn) #sheetFooter.hidden,
    body:has(#listIn) #sheetView.hidden {
        display: none !important;
    }
    body:has(#listIn) .flatpickr-calendar,
    body:has(#listIn) .flatpickr-calendar.open {
        position: fixed !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10060 !important;
    }
    body:has(#listIn) .btn-confirm,
    body:has(#listIn) .btn-cancel {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
    }
    body:has(#listIn) .modal-card {
        width: calc(100% - 32px) !important;
        max-width: 400px !important;
        padding: 28px 20px !important;
        box-sizing: border-box !important;
    }
    body:has(#listIn) .toggle-group {
        width: 100% !important;
        height: 44px !important;
    }
    body:has(#listIn) #editModal .form-row[style*="display: none"],
    body:has(#listIn) #editModal .form-row[style*="display:none"] {
        display: none !important;
    }
    body:has(#listIn) #editModal #eKind .toggle-btn,
    body:has(#listIn) #editModal #eOffset .toggle-btn {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    body:has(#listIn) #editModal .toggle-btn[style*="display: none"],
    body:has(#listIn) #editModal .toggle-btn[style*="display:none"] {
        display: none !important;
    }

    /* 还款详细 */
    html body:has(#loanPanel) {
        background: #e8eef5 !important;
        height: auto !important;
        overflow: auto !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html body:has(#loanPanel) .container {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        padding: 12px !important;
    }
    body:has(#loanPanel) .report-nav {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        grid-template-areas: "title badge back" !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        height: auto !important;
        padding: 0 12px 12px !important;
        gap: 8px !important;
        position: relative !important;
        top: auto !important;
    }
    body:has(#loanPanel) .report-nav .nav-left {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        justify-self: start !important;
        font-size: 20px !important;
        color: #1d4ed8 !important;
        white-space: nowrap !important;
    }
    body:has(#loanPanel) .report-nav .nav-right {
        grid-area: back !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        justify-self: end !important;
        justify-content: flex-end !important;
    }
    body:has(#loanPanel) .report-nav .nav-center {
        grid-area: badge !important;
        display: flex !important;
        justify-content: center !important;
        justify-self: center !important;
        width: auto !important;
        max-width: 46vw !important;
    }
    body:has(#loanPanel) .id-badge.show {
        display: inline-flex !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        justify-content: center !important;
    }
    body:has(#loanPanel) .btn-back {
        min-height: 0 !important;
        padding: 0 !important;
        color: #2563eb !important;
        font-size: 14px !important;
        white-space: nowrap !important;
    }
    body:has(#loanPanel) .summary-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
    }
    body:has(#loanPanel) .stat-card {
        background: #fff !important;
        border: none !important;
        border-radius: 16px !important;
        padding: 14px 10px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#loanPanel) .main-layout {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
    }
    body:has(#loanPanel) .info-panel,
    body:has(#loanPanel) .schedule-card {
        background: #fff !important;
        border: none !important;
        border-radius: 16px !important;
        padding: 14px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
        overflow: visible !important;
    }
    body:has(#loanPanel) .panel-header {
        margin-bottom: 8px !important;
        font-size: 16px !important;
        gap: 8px !important;
    }
    body:has(#loanPanel) .data-row {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 0 !important;
    }
    body:has(#loanPanel) .data-label {
        width: auto !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }
    body:has(#loanPanel) .data-val,
    body:has(#loanPanel) .sn-link {
        min-width: 0 !important;
        text-align: right !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(#loanPanel) .company-name {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    /* 出资公司：公司名在上，比例/价钱在下 */
    body:has(#loanPanel) #fundingRows .data-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        grid-template-columns: none !important;
    }
    body:has(#loanPanel) #fundingRows .data-label.company-name {
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(#loanPanel) #fundingRows .data-val {
        width: 100% !important;
        text-align: left !important;
        font-weight: 600 !important;
        color: #64748b !important;
        white-space: normal !important;
    }
    body:has(#loanPanel) #histCard .panel-header { padding: 0 0 8px !important; }
    body:has(#loanPanel) #histTable {
        width: 100% !important;
        table-layout: fixed !important;
    }
    body:has(#loanPanel) #histTable thead { display: table-header-group !important; }
    body:has(#loanPanel) #histTable tbody { display: table-row-group !important; width: auto !important; }
    body:has(#loanPanel) #histTable tr {
        display: table-row !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    body:has(#loanPanel) #histTable th,
    body:has(#loanPanel) #histTable td {
        display: table-cell !important;
        width: 33.333% !important;
        text-align: center !important;
        vertical-align: middle !important;
        padding: 10px 4px !important;
        border: none !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        font-size: 12px !important;
    }
    body:has(#loanPanel) #histTable th {
        background: rgba(15, 23, 42, 0.06) !important;
        color: #475569 !important;
        font-weight: 700 !important;
    }
    body:has(#loanPanel) #histTable td::before { content: none !important; display: none !important; }
    body:has(#loanPanel) #histTable .badge-type {
        min-width: 0 !important;
        padding: 4px 8px !important;
        font-size: 12px !important;
    }
    body:has(#loanPanel) .modal-card {
        width: calc(100% - 32px) !important;
        max-width: 400px !important;
        padding: 28px 20px !important;
        box-sizing: border-box !important;
    }

    /* 银行流水：一间银行一张卡，数字不再被挤成竖排 */
    html body:has(#bankBody) {
        background: #e8eef5 !important;
        height: auto !important;
        overflow: auto !important;
        overflow-x: hidden !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    html body:has(#bankBody) .container {
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        margin: 0 auto !important;
        display: block !important;
    }
    body:has(#bankBody) .report-nav {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "title add" "search search" !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 12px 8px !important;
        gap: 10px !important;
        position: relative !important;
        top: auto !important;
        height: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#bankBody) .report-nav .nav-left {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
        color: #1d4ed8 !important;
        font-weight: 800 !important;
    }
    body:has(#bankBody) .report-nav .nav-center {
        grid-area: search !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
    body:has(#bankBody) .report-nav .nav-right {
        grid-area: add !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        justify-content: flex-end !important;
    }
    body:has(#bankBody) .search-box {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        background: #fff !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#bankBody) .add-bank-btn {
        width: auto !important;
        min-height: 36px !important;
        padding: 6px 14px !important;
        border-radius: 999px !important;
        background: #fff !important;
    }
    body:has(#bankBody) .table-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        height: auto !important;
    }
    body:has(#bankBody) .thead-fixed { display: none !important; }
    body:has(#bankBody) .tbody-scroll,
    body:has(#bankBody) .tbody-scroll > table,
    body:has(#bankBody) #bankBody {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        table-layout: auto !important;
    }
    body:has(#bankBody) #bankBody tr {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        padding: 14px 14px 6px !important;
        margin: 0 0 12px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#bankBody) #bankBody tr.filter-hide {
        display: none !important;
    }
    body:has(#bankBody) #bankBody td {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 112px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 8px 0 !important;
        border: none !important;
        border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
        text-align: right !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }
    body:has(#bankBody) #bankBody td::before {
        color: #64748b !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }
    body:has(#bankBody) #bankBody td:not(.col-action) > a,
    body:has(#bankBody) #bankBody td:not(.col-action) > button {
        justify-self: stretch !important;
        margin-left: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: right !important;
    }
    body:has(#bankBody) #bankBody td.bank-name {
        display: block !important;
        border-top: none !important;
        text-align: center !important;
        font-size: 18px !important;
        padding: 0 0 8px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-all !important;
        line-height: 1.35 !important;
    }
    body:has(#bankBody) #bankBody td.bank-name::before { content: none !important; }
    body:has(#bankBody) #bankBody td:nth-child(2)::before { content: "昨天余额"; }
    body:has(#bankBody) #bankBody td:nth-child(3)::before { content: "进（今天）"; }
    body:has(#bankBody) #bankBody td:nth-child(4)::before { content: "出（今天）"; }
    body:has(#bankBody) #bankBody td:nth-child(5)::before { content: "Balance"; }
    body:has(#bankBody) #bankBody td:nth-child(6)::before { content: "公司数"; }
    body:has(#bankBody) #bankBody td:nth-child(7)::before { content: "支出流水"; }
    body:has(#bankBody) #bankBody td:not(.col-action) > button.btn-agent-count,
    body:has(#bankBody) #bankBody td:not(.col-action) > button.btn-expense-amt {
        justify-self: end !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }
    body:has(#bankBody) #bankBody td > button.btn-agent-count:hover,
    body:has(#bankBody) #bankBody td > button.btn-expense-amt:hover,
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-in:hover,
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-out:hover {
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        color: var(--accent-blue) !important;
    }
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-in,
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-in:hover {
        color: var(--emerald) !important;
    }
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-out,
    body:has(#bankBody) #bankBody td > button.btn-expense-amt.amt-out:hover {
        color: var(--rose) !important;
    }
    body:has(#bankBody) #bankBody td.col-action {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        white-space: normal !important;
    }
    body:has(#bankBody) #bankBody td.col-action::before {
        content: "操作";
        margin-right: auto !important;
    }
    body:has(#bankBody) #bankBody td.empty {
        display: block !important;
        border: none !important;
        text-align: center !important;
        white-space: normal !important;
        color: #64748b !important;
    }
    body:has(#bankBody) #bankBody td.empty::before { content: none !important; }
    body:has(#bankBody) #bankBody .amt,
    body:has(#bankBody) #bankBody a.sum-link {
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    html body:has(#bankBody):has(.custom-options.show) {
        overflow: hidden !important;
    }
    html:has(body.bank-modal-lock) {
        overflow: hidden !important;
    }
    html body:has(#bankBody).bank-modal-lock {
        position: fixed !important;
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }
    body:has(#bankBody) .modal-overlay {
        z-index: 10100 !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        overscroll-behavior: none !important;
        touch-action: none !important;
    }
    body:has(#bankBody) .modal-card,
    body:has(#bankBody) .exp-card {
        position: relative !important;
        left: auto !important;
        touch-action: auto !important;
        overscroll-behavior: contain !important;
    }
    body:has(#bankBody) #companyModal .modal-card,
    body:has(#bankBody) #expenseListModal .exp-card {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: calc(100dvh - 24px) !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    body:has(#bankBody) #expenseListModal .exp-card {
        height: auto !important;
        max-height: calc(100dvh - 24px) !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#bankBody) #expenseListModal .agent-modal-head {
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
    }
    body:has(#bankBody) #expenseListModal .agent-modal-head h2 {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        font-size: 18px !important;
    }
    body:has(#bankBody) #expenseListModal .agent-company,
    body:has(#bankBody) #expenseListModal .agent-company b {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: right !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
    body:has(#bankBody) #expenseListModal .exp-add-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas: "amt note" "date btn" !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
        align-items: center !important;
    }
    body:has(#bankBody) #expEditModal .modal-card {
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(#bankBody) #expEditDate {
        pointer-events: auto !important;
        touch-action: manipulation !important;
        cursor: pointer !important;
    }
    body:has(#bankBody) #expenseListModal #expListDate {
        grid-area: date !important;
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 3 !important;
    }
    body:has(#bankBody) #expenseListModal #expListAmount {
        grid-area: amt !important;
        width: 100% !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
    }
    body:has(#bankBody) #expenseListModal #expListRemark {
        grid-area: note !important;
        width: 100% !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
    }
    body:has(#bankBody) #expenseListModal #expListSaveBtn {
        grid-area: btn !important;
        width: 100% !important;
        min-height: 36px !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
    }
    body:has(#bankBody) #expenseListModal .form-err {
        min-height: 0 !important;
        margin: 0 0 8px !important;
    }
    body:has(#bankBody) #expenseListModal .exp-list-box {
        flex: 0 1 auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 230px) !important;
    }
    body:has(#bankBody) #expenseListModal #expList {
        max-height: calc(100dvh - 230px) !important;
        overflow-y: auto !important;
    }
    body:has(#bankBody) #expenseListModal .agent-empty {
        padding: 18px 12px !important;
    }
    body:has(#bankBody) #expenseListModal #expList table {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
    }
    body:has(#bankBody) #expenseListModal #expList th,
    body:has(#bankBody) #expenseListModal #expList td {
        padding: 8px 4px !important;
        font-size: 13px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        text-align: center !important;
        vertical-align: middle !important;
    }
    body:has(#bankBody) #expenseListModal #expList .btn-action {
        font-size: 12px !important;
        padding: 4px 6px !important;
        margin: 2px 0 !important;
    }
    body:has(#bankBody) #expenseListModal,
    body:has(#bankBody) #expEditModal {
        touch-action: auto !important;
        overflow: visible !important;
    }
    body:has(#bankBody) #expListDate,
    body:has(#bankBody) #expEditDate,
    body:has(#bankBody) #expEditModal .name-shell {
        touch-action: manipulation !important;
        pointer-events: auto !important;
    }
    body:has(#bankBody) .modal-overlay > #expCalSheet.exp-cal-on {
        display: block !important;
        position: absolute !important;
        z-index: 80 !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 307.875px !important;
        max-width: calc(100vw - 24px) !important;
        margin: 0 !important;
        padding: 10px 10px 6px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border-radius: 5px !important;
        box-shadow: 0 3px 13px rgba(0, 0, 0, 0.18) !important;
        pointer-events: auto !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-weight: 800 !important;
        font-size: 16px !important;
        padding: 2px 4px 8px !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-nav {
        border: 0 !important;
        background: transparent !important;
        width: 34px !important;
        height: 34px !important;
        font-size: 22px !important;
        line-height: 1 !important;
        color: #0f172a !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-week,
    body:has(#bankBody) #expCalSheet .exp-cal-days {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        text-align: center !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-week span {
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #64748b !important;
        padding: 4px 0 !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-day {
        border: 0 !important;
        background: transparent !important;
        height: 39px !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        border-radius: 150px !important;
        color: #0f172a !important;
        position: relative !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-day.is-empty { visibility: hidden !important; }
    body:has(#bankBody) #expCalSheet .exp-cal-day.is-sel {
        background: #569ff7 !important;
        color: #fff !important;
    }
    body:has(#bankBody) #expCalSheet .exp-cal-day.has-record { color: var(--accent-blue) !important; }
    body:has(#bankBody) #expCalSheet .exp-cal-day.is-sel.has-record { color: #fff !important; }
    body:has(#bankBody) #expCalSheet .exp-cal-day.is-sel.has-record::after { background-color: #fff !important; }
    body:has(#bankBody) .agent-modal-head {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    body:has(#bankBody) #companyModal .agent-modal-head {
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }
    body:has(#bankBody) #companyModal .agent-modal-head h2 {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        font-size: 18px !important;
    }
    body:has(#bankBody) #companyModal .agent-company,
    body:has(#bankBody) #companyModal .agent-company b {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: right !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
    body:has(#bankBody) .agent-add-row,
    body:has(#bankBody) .exp-add-row {
        min-width: 0 !important;
        flex-wrap: wrap !important;
    }
    body:has(#bankBody) .exp-add-row input,
    body:has(#bankBody) #expListDate {
        flex: 1 1 30% !important;
        min-width: 0 !important;
        width: auto !important;
    }
    body:has(#bankBody) .agent-add-row .btn-modal-ok,
    body:has(#bankBody) .exp-add-row .btn-modal-ok {
        flex: 0 0 auto !important;
    }
    body:has(#bankBody) #companyModal .agent-add-row {
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
    }
    body:has(#bankBody) #companyModal .custom-select-wrapper {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        height: 36px !important;
        overflow: visible !important;
    }
    body:has(#bankBody) #companyModal .agent-add-row .btn-modal-ok {
        flex: 0 0 72px !important;
        width: 72px !important;
        min-height: 36px !important;
        height: 36px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
    }
    body:has(#bankBody) #companyModal .agent-list {
        max-height: calc(100dvh - 250px) !important;
    }
    body:has(#bankBody) #companyModal .custom-select-trigger {
        min-width: 0 !important;
        overflow: hidden !important;
        justify-content: center !important;
        padding: 0 12px !important;
    }
    body:has(#bankBody) #companyModal .custom-select-trigger span {
        display: block !important;
        min-width: 0 !important;
        max-width: calc(100% - 18px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    body:has(#bankBody) .modal-overlay .custom-options,
    body:has(#bankBody) .modal-overlay .custom-options.show {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        max-height: 220px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
        z-index: 50 !important;
    }
    body:has(#bankBody) .modal-overlay .custom-option {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-all !important;
        height: auto !important;
        text-align: center !important;
    }

    html body #reviewModal .review-block table {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 13px;
    }
    html body #reviewModal .review-block tbody,
    html body #reviewModal .review-block thead {
        display: table-row-group !important;
        width: auto !important;
    }
    html body #reviewModal .review-block tr {
        display: table-row !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        border-radius: 0 !important;
    }
    html body #reviewModal .review-block td,
    html body #reviewModal .review-block th {
        display: table-cell !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 8px 3px !important;
        vertical-align: middle !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        text-align: center !important;
        white-space: normal !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        line-height: 1.35 !important;
    }
    html body #reviewModal .review-block .serial-link {
        display: inline !important;
        white-space: inherit !important;
        word-break: inherit !important;
        overflow-wrap: inherit !important;
        pointer-events: none !important;
        cursor: default !important;
    }
    html body #reviewModal .review-in td:nth-child(1) { width: 18% !important; }
    html body #reviewModal .review-in td:nth-child(2) { width: 30% !important; }
    html body #reviewModal .review-in td:nth-child(3) { width: 28% !important; }
    html body #reviewModal .review-in td:nth-child(4) { width: 12% !important; }
    html body #reviewModal .review-in td:nth-child(5) { width: 12% !important; }
    html body #reviewModal .review-in td:nth-child(3) {
        font-size: 12px;
        color: #334155;
    }

    /* 进账/出账明细：标题、银行、返回同一行；表三列放进屏幕 */
    body:has(#moveBody) .report-nav {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-areas: "title bank back" "tools tools tools" !important;
        align-items: center !important;
        column-gap: 8px !important;
        row-gap: 10px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 4px 12px 8px !important;
        position: relative !important;
        top: auto !important;
        height: auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#moveBody) .report-nav .nav-left {
        grid-area: title !important;
        flex: none !important;
        width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    body:has(#moveBody) .report-nav .nav-right {
        display: contents !important;
    }
    body:has(#moveBody) .report-nav .team-tag {
        grid-area: bank !important;
        justify-self: start !important;
        margin-left: 4px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#moveBody) .report-nav .back {
        grid-area: back !important;
        justify-self: end !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    body:has(#moveBody) .report-nav .nav-center {
        grid-area: tools !important;
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }
    body:has(#moveBody) .side-tabs {
        display: contents !important;
    }
    body:has(#moveBody) #tabIn { order: 1 !important; }
    body:has(#moveBody) .date-slot { order: 2 !important; }
    body:has(#moveBody) #tabOut { order: 3 !important; }
    html:has(body:has(#moveBody)),
    html body:has(#moveBody) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
    }
    html body:has(#moveBody) {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }
    body:has(#moveBody) .report-nav {
        grid-row: 1 !important;
        flex: none !important;
    }
    body:has(#moveBody) .report-nav .team-tag {
        white-space: normal !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        text-overflow: clip !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        max-height: 2.8em !important;
        line-height: 1.35 !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }
    body:has(#moveBody) .date-input {
        width: 160px !important;
        max-width: none !important;
        height: 38px !important;
        font-size: 14px !important;
    }
    body:has(#moveBody) .flatpickr-calendar,
    body:has(#moveBody) .flatpickr-calendar.open {
        width: 307.875px !important;
        min-width: 307.875px !important;
        max-width: 307.875px !important;
        position: fixed !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10060 !important;
    }
    body:has(#moveBody) .flatpickr-calendar .flatpickr-day,
    body:has(#moveBody) .flatpickr-calendar .flatpickr-weekday,
    body:has(#moveBody) .flatpickr-calendar .flatpickr-current-month,
    body:has(#moveBody) .flatpickr-calendar .flatpickr-monthDropdown-months,
    body:has(#moveBody) .flatpickr-calendar .numInput,
    body:has(#moveBody) .flatpickr-calendar .cur-year {
        font-size: 14px !important;
    }
    body:has(#moveBody) .container {
        grid-row: 2 !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 0 12px 12px !important;
    }
    body:has(#moveBody) .table-card {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }
    body:has(#moveBody) .thead-fixed,
    body:has(#moveBody) .tbody-scroll,
    body:has(#moveBody) .thead-fixed table,
    body:has(#moveBody) .tbody-scroll table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#moveBody) .thead-fixed table,
    body:has(#moveBody) .tbody-scroll table {
        table-layout: fixed !important;
        display: table !important;
    }
    body:has(#moveBody) .thead-fixed {
        flex: 0 0 auto !important;
    }
    body:has(#moveBody) .tbody-scroll {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 300px - env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }
    body:has(#moveBody) .sum-bar {
        flex: 0 0 auto !important;
    }
    body:has(#moveBody) #headTable col:nth-child(1),
    body:has(#moveBody) #bodyTable col:nth-child(1) { width: 26% !important; }
    body:has(#moveBody) #headTable col:nth-child(2),
    body:has(#moveBody) #bodyTable col:nth-child(2) { width: 34% !important; }
    body:has(#moveBody) #headTable col:nth-child(3),
    body:has(#moveBody) #bodyTable col:nth-child(3) { width: 40% !important; }
    body:has(#moveBody) #headTable th,
    body:has(#moveBody) #bodyTable td {
        display: table-cell !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        padding: 10px 6px !important;
        font-size: 13px !important;
        text-align: center !important;
        vertical-align: middle !important;
    }
    body:has(#moveBody) #bodyTable td.amt {
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        font-size: 14px !important;
    }
    body:has(#moveBody) td.empty {
        padding: 28px 12px !important;
        text-align: center !important;
        white-space: normal !important;
    }
    body:has(#moveBody) .sum-bar {
        padding: 12px 14px !important;
        gap: 12px !important;
    }

    /* 明日預期：上下留白对齐客户档案；标题和筛选固定，只有下面的名单滑动 */
    html:has(#duePage),
    body:has(#duePage) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    body:has(#duePage) {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#duePage) .container {
        height: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#duePage) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "left stats"
            "filter filter" !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 4px 0 8px !important;
        gap: 10px 12px !important;
    }
    body:has(#duePage) .top-toolbar > .tool-left {
        grid-area: left !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
    body:has(#duePage) .top-toolbar > .tool-middle {
        grid-area: filter !important;
        width: 100% !important;
    }
    body:has(#duePage) .top-toolbar > .tool-right {
        grid-area: stats !important;
        width: auto !important;
        max-width: none !important;
        justify-self: end !important;
        align-self: center !important;
        padding: 8px 14px !important;
        gap: 6px !important;
    }
    body:has(#duePage) .page-title {
        font-size: 20px !important;
        padding: 0 !important;
    }
    body:has(#duePage) .date-info {
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }
    body:has(#duePage) .stats-num { font-size: 20px !important; }
    body:has(#duePage) .stats-label { font-size: 12px !important; }
    body:has(#duePage) .filter-container {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        padding: 4px 8px !important;
    }
    body:has(#duePage) .filter-icon-box { display: none !important; }
    body:has(#duePage) .filter-reset-box {
        position: absolute !important;
        right: 8px !important;
        top: 8px !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 120 !important;
        pointer-events: auto !important;
    }
    body:has(#duePage) .filter-reset-box .reset-link {
        position: relative !important;
        z-index: 121 !important;
        pointer-events: auto !important;
        width: 28px !important;
        height: 28px !important;
    }
    body:has(#duePage) .filter-reset-box:not(:has(a)) { display: none !important; }
    body:has(#duePage) .filter-container.has-agent-filter .combined-form {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 0 !important;
    }
    body:has(#duePage) .filter-container.has-agent-filter .company-cell-dd,
    body:has(#duePage) .filter-container.has-agent-filter .agent-cell-dd {
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex: 1 1 50% !important;
        flex-basis: 50% !important;
    }
    body:has(#duePage) .filter-container.has-agent-filter .company-cell-dd {
        border-bottom: none !important;
        border-right: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#duePage) .filter-container:has(.filter-reset-box a) .company-cell-dd .custom-select-trigger {
        padding-right: 12px !important;
    }
    body:has(#duePage) .filter-container.has-agent-filter:has(.filter-reset-box a) .agent-cell-dd .custom-select-trigger {
        padding-right: 36px !important;
    }
    /* 拖欠列表：代理名太长分行（对齐明日预期） */
    body:has(#duePage) .agent-cell-dd .custom-select-trigger {
        height: auto !important;
        min-height: 44px !important;
        align-items: center !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    body:has(#duePage) #agentTriggerLabel.is-split {
        white-space: pre-line !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-height: 18px !important;
        text-align: center !important;
        text-overflow: clip !important;
        max-height: 36px !important;
        display: block !important;
        overflow: hidden !important;
    }
    /* 明日预期 / 拖欠列表：代理勾选项左对齐，贴着名字（盖过全局 .custom-option 居中） */
    html body:has(#duePage) #agentOptions .custom-option.agent-option,
    html body:has(#idSearchInput) #agentOptions .custom-option.agent-option {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 8px !important;
        text-align: left !important;
        padding: 10px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
    }
    html body:has(#duePage) #agentOptions .custom-option.agent-option input,
    html body:has(#idSearchInput) #agentOptions .custom-option.agent-option input {
        margin: 2px 0 0 !important;
        flex: 0 0 auto !important;
        align-self: flex-start !important;
    }
    html body:has(#duePage) #agentOptions .custom-option.agent-option span,
    html body:has(#idSearchInput) #agentOptions .custom-option.agent-option span {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        line-height: 1.35 !important;
    }
    html body:has(#duePage) #agentOptions.custom-options,
    html body:has(#idSearchInput) #agentOptions.custom-options {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
    }
    body:has(#duePage) .table-card {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#duePage) .table-header-fixed { display: none !important; }
    body:has(#duePage) .scroll-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#duePage) .scroll-body table,
    body:has(#duePage) .scroll-body tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#duePage) .scroll-body tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        padding: 0 !important;
        margin: 0 0 8px !important;
        gap: 0 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
        overflow: hidden !important;
    }
    body:has(#duePage) .scroll-body td {
        display: flex !important;
        align-items: center !important;
        grid-template-columns: none !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow: hidden !important;
        line-height: 1.35 !important;
    }
    body:has(#duePage) .scroll-body td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-transform: none !important;
        line-height: 1.35 !important;
    }
    body:has(#duePage) .scroll-body td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 10px 8px 10px 12px !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#duePage) .scroll-body td:nth-child(4) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        padding: 10px 12px 10px 0 !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#duePage) .scroll-body td:nth-child(2),
    body:has(#duePage) .scroll-body td:nth-child(3) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 2.8em minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 8px !important;
        padding: 7px 12px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
    }
    body:has(#duePage) .scroll-body td:nth-child(2) { grid-row: 2 !important; }
    body:has(#duePage) .scroll-body td:nth-child(3) { grid-row: 3 !important; }
    body:has(#duePage) .scroll-body td:nth-child(1)::before,
    body:has(#duePage) .scroll-body td:nth-child(4)::before { content: none !important; }
    body:has(#duePage) .scroll-body td:nth-child(2)::before { content: "代理"; }
    body:has(#duePage) .scroll-body td:nth-child(3)::before { content: "职业"; }
    body:has(#duePage) .scroll-body td:nth-child(2)::before,
    body:has(#duePage) .scroll-body td:nth-child(3)::before {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    body:has(#duePage) .scroll-body td:nth-child(2) .cell-val,
    body:has(#duePage) .scroll-body td:nth-child(3) .cell-val {
        display: block !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        text-align: right !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        color: #0f172a !important;
        -webkit-text-fill-color: #0f172a !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#duePage) .scroll-body a.cell-plain {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        color: #2563eb !important;
        letter-spacing: 0 !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#duePage) .scroll-body .money-text {
        display: inline !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        color: #e11d48 !important;
        -webkit-text-fill-color: #e11d48 !important;
        text-shadow: none !important;
    }
    body:has(#duePage) .empty-view {
        min-height: 220px !important;
        background: #fff !important;
        border-radius: 16px !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
    }
    body:has(#duePage) .empty-view p:first-child { font-size: 48px !important; }

    /* 拖欠列表：筛选和上面固定，只有下面的名单滑动 */
    html:has(#idSearchInput),
    body:has(#idSearchInput) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
    }
    body:has(#idSearchInput) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title stats"
            "filter filter" !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        flex: 0 0 auto !important;
        height: auto !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 4px 0 8px !important;
    }
    body:has(#idSearchInput) .top-toolbar > .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        justify-self: start !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
    }
    body:has(#idSearchInput) .filter-container {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        padding: 4px 8px !important;
    }
    body:has(#idSearchInput) .top-toolbar > .page-title,
    body:has(#idSearchInput) .top-toolbar > .stats-badge {
        height: 36px !important;
        min-height: 36px !important;
        box-sizing: border-box !important;
    }
    body:has(#idSearchInput) .top-toolbar > .stats-badge {
        grid-area: stats !important;
        width: auto !important;
        max-width: none !important;
        justify-self: end !important;
        justify-content: center !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 16px !important;
    }
    body:has(#idSearchInput) .top-toolbar > .filter-container {
        grid-area: filter !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(#idSearchInput) .filter-container.has-agent-filter .combined-form {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        gap: 0 !important;
    }
    body:has(#idSearchInput) .filter-container.has-agent-filter .company-cell-dd,
    body:has(#idSearchInput) .filter-container.has-agent-filter .agent-cell-dd {
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex: 1 1 50% !important;
        flex-basis: 50% !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#idSearchInput) .filter-container.has-agent-filter .company-cell-dd {
        border-right: 1px solid rgba(15, 23, 42, 0.08) !important;
    }

    /* 拖欠列表电话：名单改成小卡片 */
    body:has(#idSearchInput) .container {
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#idSearchInput) .table-card {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#idSearchInput) .tbody-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }
    body:has(#idSearchInput) .table-card table {
        min-width: 0 !important;
    }
    body:has(#idSearchInput) .thead-fixed { display: none !important; }
    body:has(#idSearchInput) .tbody-scroll table,
    body:has(#idSearchInput) .tbody-scroll tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#idSearchInput) .tbody-scroll tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        padding: 0 !important;
        margin: 0 0 8px !important;
        gap: 0 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
        overflow: hidden !important;
    }
    body:has(#idSearchInput) .tbody-scroll td {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        box-sizing: border-box !important;
        line-height: 1.35 !important;
        word-break: normal !important;
    }
    body:has(#idSearchInput) .tbody-scroll td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-transform: none !important;
        line-height: 1.35 !important;
    }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 10px 8px 10px 12px !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(1)::before { content: none !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(7) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        padding: 10px 12px 10px 0 !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(7)::before { content: none !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(2),
    body:has(#idSearchInput) .tbody-scroll td:nth-child(3),
    body:has(#idSearchInput) .tbody-scroll td:nth-child(4),
    body:has(#idSearchInput) .tbody-scroll td:nth-child(5),
    body:has(#idSearchInput) .tbody-scroll td:nth-child(6) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 4.2em minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 8px !important;
        padding: 7px 12px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        text-align: right !important;
    }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(2) { grid-row: 2 !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(3) { grid-row: 3 !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(4) { grid-row: 4 !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(5) { grid-row: 5 !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(6) { grid-row: 6 !important; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(2)::before { content: "代理"; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(3)::before { content: "逾期日期"; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(4)::before { content: "姓名"; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(5)::before { content: "证件"; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(6)::before { content: "职业"; }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(n+2)::before {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    body:has(#idSearchInput) .tbody-scroll td:nth-child(n+2) > * {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        min-width: 0 !important;
        max-width: 100% !important;
        text-align: right !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
    }
    body:has(#idSearchInput) .tbody-scroll a.cell-plain {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        color: #2563eb !important;
        word-break: break-all !important;
    }
    body:has(#idSearchInput) .tbody-scroll .money-owed {
        font-size: 16px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        color: #e11d48 !important;
        -webkit-text-fill-color: #e11d48 !important;
    }

    /* 公司管理：上下留白对齐客户档案；新增和筛选固定，名单卡片滑动 */
    html:has(#companyTable),
    body:has(#companyTable) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#companyTable) .container {
        height: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        overflow: hidden !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        min-height: 0 !important;
    }
    body:has(#companyTable) .card {
        display: none !important;
    }
    body:has(#companyTable) .phone-add-mask {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(232, 238, 245, 0.97);
        z-index: 12000 !important;
    }
    body:has(#companyTable) .phone-add-mask.show { display: block !important; }
    body:has(#companyTable) .card.phone-open {
        display: block !important;
        position: fixed !important;
        z-index: 12001 !important;
        left: 14px !important;
        right: 14px !important;
        top: 50% !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - 48px) !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        overflow-y: auto !important;
        padding: 16px !important;
        border-radius: 16px !important;
        box-shadow: 0 25px 60px rgba(15, 23, 42, 0.18) !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) .card h2 {
        font-size: 18px !important;
        margin-bottom: 10px !important;
    }
    body:has(#companyTable) .card .form-group { margin-bottom: 10px !important; }
    body:has(#companyTable) .card label { margin-bottom: 6px !important; }
    body:has(#companyTable) .card input:not([type="radio"]) {
        padding: 10px 12px !important;
    }
    body:has(#companyTable) .card .btn-save { padding: 12px !important; }
    body:has(#companyTable) .add-actions { display: flex !important; gap: 10px !important; }
    body:has(#companyTable) .phone-add-cancel {
        display: inline-flex !important;
        flex: 1 1 0 !important;
        width: auto !important;
    }
    body:has(#companyTable) .add-actions .btn-save { flex: 1 1 0 !important; width: auto !important; }
    body:has(#companyTable) .list-section {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    body:has(#companyTable) .search-bar {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 0 0 10px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
    body:has(#companyTable) .manage-title-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #3b82f6 !important;
        line-height: 1.2 !important;
        position: relative !important;
        z-index: 1 !important;
    }
    body:has(#companyTable) .phone-add-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        height: 36px !important;
        padding: 0 12px !important;
        border: none !important;
        border-radius: 10px !important;
        background: #3b82f6 !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body:has(#companyTable) .filter-group {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 1 !important;
    }
    body:has(#companyTable) .filter-btn {
        flex: 1 1 0 !important;
        padding: 8px 4px !important;
    }
    body:has(#companyTable) .search-bar .filter-container {
        width: 100% !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        z-index: 1 !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }
    body:has(#companyTable) .search-bar .filter-left-icon {
        display: flex !important;
        position: static !important;
        width: 44px !important;
        height: 48px !important;
        flex: 0 0 44px !important;
    }
    body:has(#companyTable) .search-bar .filter-right-box {
        position: static !important;
        width: 40px !important;
        height: 48px !important;
        flex: 0 0 40px !important;
        bottom: auto !important;
        right: auto !important;
    }
    body:has(#companyTable) .search-bar #searchInput.large-input {
        flex: 1 1 auto !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 48px !important;
        min-height: 0 !important;
        max-height: none !important;
        flex-basis: 0 !important;
        padding: 0 8px !important;
        text-align: center !important;
        color: #0f172a !important;
        background: transparent !important;
        -webkit-text-fill-color: #0f172a !important;
    }
    body:has(#companyTable) .search-bar #searchInput.large-input::placeholder {
        color: #94a3b8 !important;
        -webkit-text-fill-color: #94a3b8 !important;
        opacity: 1 !important;
    }
    body:has(#companyTable) .table-wrapper {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-radius: 0 !important;
    }
    body:has(#companyTable) .table-wrapper > table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(#companyTable) .table-wrapper > table thead { display: none !important; }
    body:has(#companyTable) #companyTable {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(#companyTable) #companyTable[style*="display: none"],
    body:has(#companyTable) #companyTable[style*="display:none"] {
        display: none !important;
    }
    body:has(#companyTable) #companyTable tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 0 10px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }
    body:has(#companyTable) #companyTable tr[style*="display: none"],
    body:has(#companyTable) #companyTable tr[style*="display:none"] {
        display: none !important;
    }
    body:has(#companyTable) #companyTable td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 8px 12px !important;
        border: none !important;
        background: transparent !important;
        text-align: right !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(1) { display: none !important; }
    body:has(#companyTable) #companyTable td:nth-child(2) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 12px 8px 12px 12px !important;
        background: #f8fafc !important;
        text-align: left !important;
        font-size: 16px !important;
        color: #0f172a !important;
        word-break: break-all !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(3) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 12px 12px 12px 0 !important;
        background: #f8fafc !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(4),
    body:has(#companyTable) #companyTable td:nth-child(5),
    body:has(#companyTable) #companyTable td:nth-child(6),
    body:has(#companyTable) #companyTable td:nth-child(7),
    body:has(#companyTable) #companyTable td:nth-child(8) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 6.2em minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 8px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        word-break: break-all !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(4)::before { content: "当前出款"; }
    body:has(#companyTable) #companyTable td:nth-child(5)::before { content: "下个出款"; }
    body:has(#companyTable) #companyTable td:nth-child(6)::before { content: "当前支出"; }
    body:has(#companyTable) #companyTable td:nth-child(7)::before { content: "下个支出"; }
    body:has(#companyTable) #companyTable td:nth-child(8)::before { content: "代理人数"; }
    body:has(#companyTable) #companyTable td:nth-child(8) {
        justify-items: end !important;
        align-items: center !important;
    }
    body:has(#companyTable) #companyTable .btn-agent-count {
        justify-self: end !important;
        width: auto !important;
        min-width: 42px !important;
        margin: 0 !important;
    }
    body:has(#companyTable) #companyTable td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-transform: none !important;
        line-height: 1.35 !important;
        justify-self: start !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(9) {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 10px 12px 12px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
    }
    body:has(#companyTable) #companyTable td:nth-child(9)::before { content: none !important; }
    body:has(#companyTable) #companyTable .btn-action { margin: 0 !important; }
    body:has(#companyTable) .modal-card {
        width: calc(100vw - 28px) !important;
        max-width: 440px !important;
        max-height: calc(100dvh - 48px) !important;
        overflow-y: auto !important;
        padding: 22px 16px !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) .diff-list {
        width: 100% !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
    }
    body:has(#companyTable) .diff-content { max-width: 100% !important; }
    body:has(#companyTable) #agentModal {
        z-index: 10080 !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) #agentModal .modal-card {
        width: 100% !important;
        max-width: none !important;
        height: calc(100dvh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }
    body:has(#companyTable) #agentModal .agent-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
    }
    body:has(#companyTable) #agentModal .agent-list:has(.agent-empty) {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body:has(#companyTable) #agentModal .agent-empty {
        width: 100% !important;
        text-align: center !important;
        font-weight: 700 !important;
    }
    body:has(#companyTable) .agent-list table { min-width: 0 !important; width: 100% !important; }
    body:has(#companyTable) .agent-add-row { flex-wrap: nowrap !important; }
    body:has(#companyTable) .agent-modal-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    body:has(#companyTable) .agent-company {
        text-align: left !important;
        max-width: 100% !important;
    }

    /* 用户管理：上下留白对齐客户档案；新增和筛选固定，名单卡片滑动 */
    html:has(#userTable),
    body:has(#userTable) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    body:has(#userTable) {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#userTable) .container {
        height: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        overflow: hidden !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        min-height: 0 !important;
    }
    body:has(#userTable) .card { display: none !important; }
    body:has(#userTable) .phone-add-mask {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(232, 238, 245, 0.97);
        z-index: 12000 !important;
    }
    body:has(#userTable) .phone-add-mask.show { display: block !important; }
    body:has(#userTable) .card.phone-open {
        display: block !important;
        position: fixed !important;
        z-index: 12001 !important;
        left: 14px !important;
        right: 14px !important;
        top: 50% !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - 48px) !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        overflow-y: auto !important;
        padding: 16px !important;
        border-radius: 16px !important;
        box-shadow: 0 25px 60px rgba(15, 23, 42, 0.18) !important;
        box-sizing: border-box !important;
    }
    body:has(#userTable) .card h2 {
        font-size: 18px !important;
        margin-bottom: 10px !important;
    }
    body:has(#userTable) .card .form-group { margin-bottom: 10px !important; }
    body:has(#userTable) .card label { margin-bottom: 6px !important; }
    body:has(#userTable) .card input:not([type="radio"]) { padding: 10px 12px !important; }
    body:has(#userTable) .card .radio-label { padding: 10px !important; }
    body:has(#userTable) .card .btn-save { padding: 12px !important; }
    body:has(#userTable) .add-actions { display: flex !important; gap: 10px !important; }
    body:has(#userTable) .phone-add-cancel {
        display: inline-flex !important;
        flex: 1 1 0 !important;
        width: auto !important;
    }
    body:has(#userTable) .add-actions .btn-save { flex: 1 1 0 !important; width: auto !important; }
    body:has(#userTable) .list-section {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    body:has(#userTable) .search-bar {
        flex: 0 0 auto !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 0 0 10px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    body:has(#userTable) .manage-title-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #3b82f6 !important;
        line-height: 1.2 !important;
    }
    body:has(#userTable) .phone-add-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        height: 36px !important;
        padding: 0 12px !important;
        border: none !important;
        border-radius: 10px !important;
        background: #3b82f6 !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body:has(#userTable) .filter-group {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        box-sizing: border-box !important;
        gap: 6px !important;
    }
    body:has(#userTable) .filter-btn {
        flex: 1 1 calc(33.33% - 6px) !important;
        padding: 8px 4px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }
    body:has(#userTable) .search-bar .filter-container {
        width: 100% !important;
        flex: none !important;
        flex-direction: row !important;
        align-items: center !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
    }
    body:has(#userTable) .search-bar .filter-left-icon {
        display: flex !important;
        position: static !important;
        width: 40px !important;
        height: 48px !important;
        flex: 0 0 40px !important;
    }
    body:has(#userTable) .search-bar .filter-right-box {
        display: flex !important;
        position: static !important;
        width: 40px !important;
        height: 48px !important;
        flex: 0 0 40px !important;
        bottom: auto !important;
        right: auto !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body:has(#userTable) .search-bar #searchInput.large-input,
    body:has(#userTable) .search-bar #searchInput.large-input:focus {
        flex: 1 1 auto !important;
        width: 0 !important;
        min-width: 0 !important;
        height: 48px !important;
        padding: 0 8px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        text-align: center !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #0f172a !important;
    }
    body:has(#userTable) .search-bar #searchInput.large-input::placeholder {
        color: #94a3b8 !important;
        text-align: center !important;
        opacity: 1 !important;
    }
    body:has(#userTable) .table-wrapper {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-radius: 0 !important;
    }
    body:has(#userTable) .table-wrapper > table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(#userTable) .table-wrapper > table[style*="display: none"],
    body:has(#userTable) .table-wrapper > table[style*="display:none"] {
        display: none !important;
    }
    body:has(#userTable) .table-wrapper > table thead { display: none !important; }
    body:has(#userTable) #userTable {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(#userTable) #userTable tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 0 10px !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #userTable tr[style*="display: none"],
    body:has(#userTable) #userTable tr[style*="display:none"] {
        display: none !important;
    }
    body:has(#userTable) #userTable td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 8px 12px !important;
        border: none !important;
        background: transparent !important;
        text-align: right !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }
    body:has(#userTable) #userTable td:nth-child(1) { display: none !important; }
    body:has(#userTable) #userTable td:nth-child(2) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 12px 8px 12px 12px !important;
        background: #f8fafc !important;
        text-align: left !important;
        font-size: 16px !important;
        color: #0f172a !important;
        word-break: break-all !important;
    }
    body:has(#userTable) #userTable td:nth-child(3) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 12px 12px 12px 0 !important;
        background: #f8fafc !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
    }
    body:has(#userTable) #userTable td:nth-child(4),
    body:has(#userTable) #userTable td:nth-child(5),
    body:has(#userTable) #userTable td:nth-child(6),
    body:has(#userTable) #userTable td:nth-child(7) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 4.2em minmax(0, 1fr) !important;
        align-items: center !important;
        justify-items: end !important;
        column-gap: 8px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        word-break: break-all !important;
    }
    body:has(#userTable) #userTable td:nth-child(4)::before { content: "上级"; }
    body:has(#userTable) #userTable td:nth-child(5)::before { content: "代理"; }
    body:has(#userTable) #userTable td:nth-child(6)::before { content: "状态"; }
    body:has(#userTable) #userTable td:nth-child(7)::before { content: "公司"; }
    body:has(#userTable) #userTable td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        line-height: 1.35 !important;
        justify-self: start !important;
    }
    body:has(#userTable) #userTable .status-pill,
    body:has(#userTable) #userTable .btn-company {
        justify-self: end !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 0 0 auto !important;
    }
    body:has(#userTable) #userTable .status-pill {
        justify-content: flex-end !important;
    }
    body:has(#userTable) #userTable td:nth-child(8) {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 10px 12px 12px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
    }
    body:has(#userTable) #userTable td:nth-child(8)::before { content: none !important; }
    body:has(#userTable) #userTable .btn-action { margin: 0 !important; }
    body:has(#userTable) .modal-overlay { z-index: 13000 !important; }
    body:has(#userTable) #reviewModal,
    body:has(#userTable) #successModal,
    body:has(#userTable) #errorModal,
    body:has(#userTable) #deleteConfirmModal,
    body:has(#userTable) #disableConfirmModal { z-index: 13010 !important; }
    body:has(#userTable) .modal-card {
        width: calc(100vw - 28px) !important;
        max-width: 440px !important;
        max-height: calc(100dvh - 48px) !important;
        overflow-y: auto !important;
        padding: 22px 16px !important;
        box-sizing: border-box !important;
    }
    body:has(#userTable) #assignModal .assign-card {
        width: calc(100vw - 16px) !important;
        max-width: none !important;
        height: calc(100dvh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        padding: 14px 12px !important;
    }
    body:has(#userTable) #companyPickModal .co-card {
        width: calc(100vw - 28px) !important;
        max-width: none !important;
        height: auto !important;
        max-height: calc(100dvh - 16px) !important;
        padding: 16px 14px 14px !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #companyPickModal .assign-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
    body:has(#userTable) #companyPickModal .assign-head h2 {
        font-size: 20px !important;
        white-space: nowrap !important;
    }
    body:has(#userTable) #companyPickModal .assign-sub {
        font-size: 15px !important;
        line-height: 1.35 !important;
        max-width: 100% !important;
    }
    body:has(#userTable) #companyPickModal .agent-grid {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #companyPickModal .pick-box {
        min-height: 0 !important;
        overflow: hidden !important;
        height: auto !important;
    }
    body:has(#userTable) #companyPickModal .search-dd {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #coPickList {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: calc(100dvh - 460px) !important;
        overflow-y: auto !important;
    }
    body:has(#userTable) #companyPickModal .picked-box {
        flex: 0 0 auto !important;
        height: auto !important;
    }
    body:has(#userTable) #coPickedBox {
        flex: none !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
    }
    body:has(#userTable) #companyPickModal #coPickedBox .picked-empty {
        padding: 0 8px !important;
        width: 100% !important;
        line-height: 1.3 !important;
    }
    body:has(#userTable) #companyPickModal #coPickList .picked-empty {
        padding: 28px 12px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
    body:has(#userTable) #companyPickModal .picked-item {
        margin: 0 !important;
        width: 100% !important;
        height: 72px !important;
        box-sizing: border-box !important;
        padding: 8px 12px !important;
    }
    body:has(#userTable) #companyPickModal .picked-item > div {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }
    body:has(#userTable) #companyPickModal .picked-item .nm {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    body:has(#userTable) #companyPickModal .co-actions {
        flex-shrink: 0 !important;
    }
    body:has(#userTable) #pagesModal .pages-card {
        width: calc(100vw - 28px) !important;
        max-width: none !important;
        height: auto !important;
        max-height: calc(100dvh - 24px) !important;
        padding: 16px 14px 14px !important;
    }
    body:has(#userTable) #pagesForm,
    body:has(#userTable) #pagesList {
        flex: 0 1 auto !important;
        height: auto !important;
    }
    body:has(#userTable) #assignModal .agent-grid,
    body:has(#userTable) #companyPickModal .agent-grid {
        grid-template-columns: 1fr !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people),
    body:has(#userTable) #assignModal .assign-card.pick-menu,
    body:has(#userTable) #assignModal .assign-card.pick-people,
    body:has(#userTable) #assignModal .assign-card.pick-agent {
        overflow: hidden !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) #assignForm,
    body:has(#userTable) #assignModal .assign-card.pick-people #assignForm,
    body:has(#userTable) #assignModal .assign-card.pick-agent #assignForm,
    body:has(#userTable) #assignModal .assign-card:not(.has-people) .agent-block,
    body:has(#userTable) #assignModal .assign-card.pick-people .people-block,
    body:has(#userTable) #assignModal .assign-card.pick-agent .agent-block {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) .agent-grid,
    body:has(#userTable) #assignModal .assign-card.pick-people .people-block .agent-grid,
    body:has(#userTable) #assignModal .assign-card.pick-agent .agent-block .agent-grid {
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) !important;
        flex: 1 1 0 !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
        align-items: stretch !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) .pick-box,
    body:has(#userTable) #assignModal .assign-card:not(.has-people) .picked-box,
    body:has(#userTable) #assignModal .assign-card.pick-people .people-block .pick-box,
    body:has(#userTable) #assignModal .assign-card.pick-people .people-block .picked-box,
    body:has(#userTable) #assignModal .assign-card.pick-agent .agent-block .pick-box,
    body:has(#userTable) #assignModal .assign-card.pick-agent .agent-block .picked-box {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) .search-dd,
    body:has(#userTable) #assignModal .assign-card.pick-people .people-block .search-dd,
    body:has(#userTable) #assignModal .assign-card.pick-agent .agent-block .search-dd {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) #agentList,
    body:has(#userTable) #assignModal .assign-card:not(.has-people) #pickedList,
    body:has(#userTable) #assignModal .assign-card.pick-people #peopleList,
    body:has(#userTable) #assignModal .assign-card.pick-people #peoplePicked,
    body:has(#userTable) #assignModal .assign-card.pick-agent #agentList,
    body:has(#userTable) #assignModal .assign-card.pick-agent #pickedList {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-y: auto !important;
    }
    body:has(#userTable) #assignModal .assign-card:not(.has-people) #pickedList:has(.picked-empty),
    body:has(#userTable) #assignModal .assign-card:not(.has-people) #agentList:has(.picked-empty),
    body:has(#userTable) #assignModal .assign-card.pick-people #peoplePicked:has(.picked-empty),
    body:has(#userTable) #assignModal .assign-card.pick-people #peopleList:has(.picked-empty),
    body:has(#userTable) #assignModal .assign-card.pick-agent #pickedList:has(.picked-empty),
    body:has(#userTable) #assignModal .assign-card.pick-agent #agentList:has(.picked-empty) {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-menu #peopleSection,
    body:has(#userTable) #assignModal .assign-card.pick-menu #agentSection,
    body:has(#userTable) #assignModal .assign-card.pick-people #agentSection,
    body:has(#userTable) #assignModal .assign-card.pick-agent #peopleSection,
    body:has(#userTable) #assignModal .assign-card.pick-menu .btn-ok {
        display: none !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-menu {
        height: auto !important;
        max-height: none !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-menu #assignForm {
        flex: 0 0 auto !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-menu .assign-pick {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        flex: 0 0 auto !important;
        min-height: 0 !important;
        padding: 4px 0 0 !important;
    }
    body:has(#userTable) #assignModal .assign-pick-btn {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 72px !important;
        padding: 16px 18px !important;
        border: 1px solid #dbeafe !important;
        border-radius: 18px !important;
        background: #f8fbff !important;
        color: #0f172a !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        text-align: left !important;
    }
    body:has(#userTable) #assignModal .assign-pick-btn i {
        color: #3b82f6 !important;
        font-size: 22px !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-people .assign-back,
    body:has(#userTable) #assignModal .assign-card.pick-agent .assign-back {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        color: #3b82f6 !important;
        font-size: 22px !important;
    }
    body:has(#userTable) #assignModal .assign-card.pick-people .assign-title-icon,
    body:has(#userTable) #assignModal .assign-card.pick-agent .assign-title-icon {
        display: none !important;
    }
    body:has(#userTable) #assignModal .assign-actions {
        flex-shrink: 0 !important;
    }
    body:has(#userTable) .diff-list { grid-template-columns: auto minmax(0, 1fr) !important; }
    body:has(#userTable) .diff-content { max-width: 100% !important; }

    /* 财务流水：标题和汇总固定，名单滑动 */
    html:has(#dailyPage),
    body:has(#dailyPage) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
    }
    body:has(#dailyPage) .container {
        height: calc(100dvh - 72px - env(safe-area-inset-bottom)) !important;
        max-height: calc(100dvh - 72px - env(safe-area-inset-bottom)) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 12px 8px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        min-height: 0 !important;
    }
    body:has(#dailyPage) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title count"
            "filter filter" !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 4px 0 8px !important;
        margin: 0 !important;
        z-index: 40 !important;
    }
    body:has(#dailyPage) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        justify-self: start !important;
        margin: 0 !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
    }
    body:has(#dailyPage) .toolbar-right {
        grid-area: count !important;
        width: auto !important;
        max-width: none !important;
        justify-self: end !important;
        margin: 0 !important;
        padding: 8px 12px !important;
    }
    body:has(#dailyPage) .filter-container {
        grid-area: filter !important;
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 4px 8px !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        overflow: visible !important;
    }
    body:has(#dailyPage) .filter-icon { display: none !important; }
    body:has(#dailyPage) .combined-form {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }
    body:has(#dailyPage) .filter-container:not(.has-agent-filter) .date-slot,
    body:has(#dailyPage) .filter-container:not(.has-agent-filter) .company-cell-dd {
        flex: 1 1 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex-basis: 50% !important;
        height: 44px !important;
        border-bottom: none !important;
    }
    body:has(#dailyPage) .filter-container.has-agent-filter .date-slot {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        height: 44px !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#dailyPage) .filter-container.has-agent-filter .company-cell-dd,
    body:has(#dailyPage) .filter-container.has-agent-filter .agent-cell-dd {
        flex: 1 1 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex-basis: 50% !important;
        height: auto !important;
        min-height: 44px !important;
        border-bottom: none !important;
    }
    body:has(#dailyPage) .filter-container.has-agent-filter .company-cell-dd {
        border-right: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
    body:has(#dailyPage) .company-cell-dd .custom-select-trigger,
    body:has(#dailyPage) .agent-cell-dd .custom-select-trigger {
        justify-content: center !important;
        height: auto !important;
        min-height: 44px !important;
        align-items: center !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    body:has(#dailyPage) .company-cell-dd .custom-select-trigger span,
    body:has(#dailyPage) .agent-cell-dd .custom-select-trigger span {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        text-align: center !important;
    }
    body:has(#dailyPage) .filter-right-box {
        position: absolute !important;
        right: 8px !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 120 !important;
        pointer-events: auto !important;
    }
    body:has(#dailyPage) .filter-container:not(.has-agent-filter) .filter-right-box {
        top: 4px !important;
        bottom: auto !important;
    }
    body:has(#dailyPage) .filter-container.has-agent-filter .filter-right-box {
        top: auto !important;
        bottom: 4px !important;
    }
    body:has(#dailyPage) .filter-container:not(:has(.reset-link[style*="flex"])) .filter-right-box {
        display: none !important;
    }
    body:has(#dailyPage) .filter-container:not(.has-agent-filter):has(.reset-link[style*="flex"]) .company-cell-dd .custom-select-trigger,
    body:has(#dailyPage) .filter-container.has-agent-filter:has(.reset-link[style*="flex"]) .agent-cell-dd .custom-select-trigger {
        padding-right: 36px !important;
    }
    body:has(#dailyPage) #optionsContainer .custom-option.is-split,
    body:has(#dailyPage) #selectTrigger span.is-split,
    body:has(#dailyPage) #agentTriggerLabel.is-split {
        white-space: pre-line !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-height: 18px !important;
        text-align: center !important;
        text-overflow: clip !important;
    }
    body:has(#dailyPage) #selectTrigger span.is-split,
    body:has(#dailyPage) #agentTriggerLabel.is-split {
        max-height: 36px !important;
        display: block !important;
    }
    body:has(#dailyPage) .custom-group-label {
        white-space: normal !important;
    }
    body:has(#dailyPage) #agentOptions.custom-options,
    body:has(#dailyPage) #optionsContainer.custom-options {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    body:has(#dailyPage) .custom-option.agent-option {
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        height: auto !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body:has(#dailyPage) .custom-option.agent-option input {
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    body:has(#dailyPage) .custom-option.agent-option span {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        white-space: normal !important;
        text-align: left !important;
    }
    body:has(#dailyPage) .summary-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        margin: 0 0 10px !important;
        flex: 0 0 auto !important;
    }
    body:has(#dailyPage) .sum-card {
        height: auto !important;
        min-height: 68px !important;
        padding: 10px 8px !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#dailyPage) .sum-lbl {
        font-size: 11px !important;
        white-space: normal !important;
        letter-spacing: 0 !important;
        line-height: 1.3 !important;
        margin-bottom: 4px !important;
    }
    body:has(#dailyPage) .sum-val {
        font-size: 15px !important;
        white-space: normal !important;
        word-break: break-all !important;
        line-height: 1.25 !important;
    }
    body:has(#dailyPage) .table-card {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#dailyPage) .thead-fixed { display: none !important; }
    body:has(#dailyPage) .tbody-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    body:has(#dailyPage) .tbody-scroll table,
    body:has(#dailyPage) .tbody-scroll tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#dailyPage) .tbody-scroll tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        margin: 0 0 8px !important;
        overflow: hidden !important;
    }
    body:has(#dailyPage) .tbody-scroll td {
        display: grid !important;
        grid-template-columns: 4.2em minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 8px !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        border: none !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        box-sizing: border-box !important;
        line-height: 1.35 !important;
        word-break: break-all !important;
    }
    body:has(#dailyPage) .tbody-scroll td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(2)::before { content: "日期"; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(3)::before { content: "公司"; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(4)::before { content: "代理"; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(6)::before { content: "金额"; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(7)::before { content: "备注"; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(1),
    body:has(#dailyPage) .tbody-scroll td:nth-child(5) {
        display: flex !important;
        grid-template-columns: none !important;
        align-items: center !important;
        background: #f8fafc !important;
        border-top: none !important;
        padding: 12px !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-content: flex-start !important;
        font-size: 15px !important;
        color: #0f172a !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(1)::before,
    body:has(#dailyPage) .tbody-scroll td:nth-child(5)::before { content: none !important; }
    body:has(#dailyPage) .tbody-scroll td:nth-child(5) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        padding-left: 0 !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(2),
    body:has(#dailyPage) .tbody-scroll td:nth-child(3),
    body:has(#dailyPage) .tbody-scroll td:nth-child(4),
    body:has(#dailyPage) .tbody-scroll td:nth-child(6),
    body:has(#dailyPage) .tbody-scroll td:nth-child(7) {
        grid-column: 1 / -1 !important;
        justify-items: end !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(n+2)::before {
        justify-self: start !important;
    }
    body:has(#dailyPage) .tbody-scroll a.cell-plain {
        color: #3b82f6 !important;
        font-size: 15px !important;
        word-break: break-all !important;
    }
    body:has(#dailyPage) .tbody-scroll td:nth-child(1) span.cell-plain {
        color: #0f172a !important;
        font-size: 15px !important;
        word-break: break-all !important;
    }
    body:has(#dailyPage) .tbody-scroll .tag {
        width: max-content !important;
        margin: 0 !important;
    }
    body:has(#dailyPage) .tbody-scroll td.money-in { color: #10b981 !important; }
    body:has(#dailyPage) .tbody-scroll td.money-out { color: #f43f5e !important; }
    body:has(#dailyPage) .tbody-scroll tr.empty-row {
        display: block !important;
        background: #fff !important;
        border-radius: 16px !important;
        padding: 28px 12px !important;
    }
    body:has(#dailyPage) .tbody-scroll tr.empty-row td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        text-align: center !important;
        color: #64748b !important;
    }
    body:has(#dailyPage) .tbody-scroll tr.empty-row td::before { content: none !important; }
    body:has(#dailyPage) .flatpickr-calendar,
    body:has(#dailyPage) .flatpickr-calendar.open {
        position: fixed !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10060 !important;
    }
    body:has(#dailyPage) .tbody-scroll tr.empty-row p:first-child { font-size: 48px !important; }

    /* 支出流水：上面固定，只有下面名单滑动（结构和拖欠列表一致） */
    /* 支出流水电话：壳层与拖欠列表相同（底部留白一致） */
    html:has(#expensePage),
    body:has(#expensePage) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    body:has(#expensePage) {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }
    body:has(#expensePage) .container {
        height: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        min-height: 0 !important;
    }
    body:has(#expensePage) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title count"
            "filter filter"
            "add add" !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: relative !important;
        background: #e8eef5 !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 4px 0 8px !important;
        margin: 0 !important;
        z-index: 40 !important;
    }
    body:has(#expensePage) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        justify-self: start !important;
        margin: 0 !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
    }
    body:has(#expensePage) .toolbar-right {
        display: contents !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body:has(#expensePage) .toolbar-right .stats-badge {
        grid-area: count !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-self: end !important;
        padding: 6px 10px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }
    body:has(#expensePage) .toolbar-right .btn-add {
        grid-area: add !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        padding: 10px 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        font-size: 15px !important;
        border-radius: 16px !important;
    }
    body:has(#expensePage) .filter-container {
        grid-area: filter !important;
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 4px 8px !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        overflow: visible !important;
    }
    body:has(#expensePage) .filter-icon { display: none !important; }
    body:has(#expensePage) .filter-right-box {
        position: absolute !important;
        top: 4px !important;
        right: 6px !important;
        left: auto !important;
        width: 28px !important;
        height: 44px !important;
        z-index: 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: none !important;
    }
    body:has(#expensePage) .filter-container:not(:has(.reset-link[style*="flex"])) .filter-right-box {
        display: none !important;
    }
    body:has(#expensePage) .filter-container:has(.reset-link[style*="flex"]) .company-cell-dd .custom-select-trigger {
        padding-right: 52px !important;
    }
    body:has(#expensePage) .filter-container:has(.reset-link[style*="flex"]) .company-cell-dd .custom-select-trigger::after {
        right: 34px !important;
    }
    body:has(#expensePage) .filter-right-box .reset-link {
        pointer-events: auto !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 999px !important;
        background: rgba(15, 23, 42, 0.06) !important;
        color: #64748b !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }
    body:has(#expensePage) .combined-form {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }
    body:has(#expensePage) .date-slot,
    body:has(#expensePage) .company-cell-dd {
        flex: 1 1 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex-basis: 50% !important;
        height: 44px !important;
        border-bottom: none !important;
    }
    body:has(#expensePage) .v-divider { display: none !important; }
    body:has(#expensePage) .date-slot {
        border-right: 1px solid rgba(15, 23, 42, 0.08) !important;
        padding-right: 4px !important;
    }
    body:has(#expensePage) .company-cell-dd {
        padding-left: 4px !important;
    }
    body:has(#expensePage) .date-input,
    body:has(#expensePage) .flatpickr-input,
    body:has(#expensePage) .flatpickr-alt-input {
        width: 100% !important;
        height: 44px !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        text-align: center !important;
        padding: 0 4px !important;
        box-sizing: border-box !important;
    }
    body:has(#expensePage) .custom-select-trigger {
        position: relative !important;
        height: 44px !important;
        padding: 0 22px 0 8px !important;
        justify-content: center !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        box-sizing: border-box !important;
    }
    body:has(#expensePage) .custom-select-trigger::after {
        position: absolute !important;
        top: 50% !important;
        right: 6px !important;
        margin-left: 0 !important;
        transform: translateY(-50%) !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }
    body:has(#expensePage) .custom-select-trigger span {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.15 !important;
    }
    body:has(#expensePage) .custom-select-trigger span.is-split {
        white-space: pre-line !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        max-height: 36px !important;
        line-height: 1.15 !important;
    }
    body:has(#expensePage) .custom-options {
        max-height: min(50vh, 280px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        border-radius: 12px !important;
        z-index: 10050 !important;
    }
    body:has(#expensePage) .custom-option {
        padding: 10px 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.15 !important;
    }
    body:has(#expensePage) .custom-option.is-split {
        white-space: pre-line !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        max-height: 40px !important;
    }
    body:has(#expensePage) .table-card {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body:has(#expensePage) .thead-fixed { display: none !important; }
    body:has(#expensePage) .tbody-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#expensePage) .table-card table {
        min-width: 0 !important;
    }
    body:has(#expensePage) .tbody-scroll table,
    body:has(#expensePage) .tbody-scroll tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        table-layout: auto !important;
    }
    body:has(#expensePage) .tbody-scroll tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto auto auto auto auto !important;
        align-items: start !important;
        align-content: start !important;
        justify-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        padding: 0 !important;
        margin: 0 0 8px !important;
        gap: 0 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
        overflow: hidden !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }
    body:has(#expensePage) .empty-view {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 220px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        color: #64748b !important;
        background: #fff !important;
        border-radius: 16px !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        box-sizing: border-box !important;
        padding: 24px 16px !important;
    }
    body:has(#expensePage) .empty-view p:first-child {
        font-size: 48px !important;
        margin: 0 !important;
        opacity: 0.5 !important;
    }
    body:has(#expensePage) .empty-view p:last-child {
        margin: 8px 0 0 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #64748b !important;
        text-align: center !important;
    }
    body:has(#expensePage) .tbody-scroll td {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        box-sizing: border-box !important;
        line-height: 1.35 !important;
        word-break: break-word !important;
        white-space: normal !important;
    }
    body:has(#expensePage) .tbody-scroll td::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-transform: none !important;
        line-height: 1.35 !important;
    }
    /* 1 sn | 2 date | 3 comp | 4 agent | 5 type | 6 amt | 7 remark | 8 action */
    body:has(#expensePage) .tbody-scroll td.col-sn,
    body:has(#expensePage) .tbody-scroll td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 10px 8px 10px 12px !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-sn::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(1)::before { content: none !important; }
    body:has(#expensePage) .tbody-scroll td.col-type,
    body:has(#expensePage) .tbody-scroll td:nth-child(5) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        padding: 10px 12px 10px 0 !important;
        background: #f8fafc !important;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-type::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(5)::before { content: none !important; }
    body:has(#expensePage) .tbody-scroll td.col-date,
    body:has(#expensePage) .tbody-scroll td.col-comp,
    body:has(#expensePage) .tbody-scroll td.col-agent,
    body:has(#expensePage) .tbody-scroll td.col-amt,
    body:has(#expensePage) .tbody-scroll td.col-remark,
    body:has(#expensePage) .tbody-scroll td:nth-child(2),
    body:has(#expensePage) .tbody-scroll td:nth-child(3),
    body:has(#expensePage) .tbody-scroll td:nth-child(4),
    body:has(#expensePage) .tbody-scroll td:nth-child(6),
    body:has(#expensePage) .tbody-scroll td:nth-child(7) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 4.8em minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 8px !important;
        padding: 7px 12px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        text-align: right !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-date,
    body:has(#expensePage) .tbody-scroll td:nth-child(2) { grid-row: 2 !important; }
    body:has(#expensePage) .tbody-scroll td.col-comp,
    body:has(#expensePage) .tbody-scroll td:nth-child(3) { grid-row: 3 !important; }
    body:has(#expensePage) .tbody-scroll td.col-agent,
    body:has(#expensePage) .tbody-scroll td:nth-child(4) { grid-row: 4 !important; }
    body:has(#expensePage) .tbody-scroll td.col-amt,
    body:has(#expensePage) .tbody-scroll td:nth-child(6),
    body:has(#expensePage) .tbody-scroll td.col-amt.money-out,
    body:has(#expensePage) .tbody-scroll td.col-amt.money-in,
    body:has(#expensePage) .tbody-scroll td:nth-child(6).money-out,
    body:has(#expensePage) .tbody-scroll td:nth-child(6).money-in {
        grid-column: 1 / -1 !important;
        grid-row: 5 !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-remark,
    body:has(#expensePage) .tbody-scroll td:nth-child(7) { grid-row: 6 !important; }
    body:has(#expensePage) .tbody-scroll td.col-date::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(2)::before { content: "日期"; }
    body:has(#expensePage) .tbody-scroll td.col-comp::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(3)::before { content: "公司"; }
    body:has(#expensePage) .tbody-scroll td.col-agent::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(4)::before { content: "代理"; }
    body:has(#expensePage) .tbody-scroll td.col-amt::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(6)::before { content: "金额"; }
    body:has(#expensePage) .tbody-scroll td.col-remark::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(7)::before { content: "备注"; }
    body:has(#expensePage) .tbody-scroll td.col-action,
    body:has(#expensePage) .tbody-scroll td:nth-child(8) {
        grid-column: 1 / -1 !important;
        grid-row: 7 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 8px 12px 10px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
        background: #fff !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        align-self: start !important;
        flex: none !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-action::before,
    body:has(#expensePage) .tbody-scroll td:nth-child(8)::before { content: none !important; }
    body:has(#expensePage) .tbody-scroll td.col-sn .cell-plain,
    body:has(#expensePage) .tbody-scroll td.col-sn span.cell-plain {
        color: #0f172a !important;
        font-weight: 800 !important;
    }
    body:has(#expensePage) .tbody-scroll td.col-sn a.cell-plain {
        color: #3b82f6 !important;
    }
    body:has(#expensePage) .tbody-scroll td.money-out,
    body:has(#expensePage) .tbody-scroll td.money-in {
        justify-self: stretch !important;
        color: #0f172a !important;
        font-size: 14px !important;
        font-weight: 700 !important;
    }
    body:has(#expensePage) .tbody-scroll td.money-out span {
        color: #f43f5e !important;
        font-weight: 800 !important;
        font-size: 15px !important;
    }
    body:has(#expensePage) .tbody-scroll td.money-in span {
        color: #10b981 !important;
        font-weight: 800 !important;
        font-size: 15px !important;
    }
    body:has(#expensePage) .tbody-scroll .tag-exp,
    body:has(#expensePage) .tbody-scroll .tag-in {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 24px !important;
        padding: 3px 10px !important;
        border-radius: 999px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
    }
    html body:has(#expensePage) .tbody-scroll .action-group {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    html body:has(#expensePage) .tbody-scroll .action-group > a,
    html body:has(#expensePage) .tbody-scroll .action-group > button,
    html body:has(#expensePage) .tbody-scroll .action-group > .btn-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 8px 6px !important;
        border-radius: 12px !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
    body:has(#expensePage) .flatpickr-calendar,
    body:has(#expensePage) .flatpickr-calendar.open {
        position: fixed !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10060 !important;
    }
    body:has(#expensePage) .modal-card {
        width: min(420px, calc(100vw - 32px)) !important;
        padding: 28px 22px !important;
        box-sizing: border-box !important;
    }

    /* 新增/修改流水：整页不滑动，form 上下留白一样 */
    html:has(#expenseForm),
    body:has(#expenseForm),
    html:has(.form-card):has(#editForm),
    body:has(.form-card):has(#editForm) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    body:has(#expenseForm),
    body:has(.form-card):has(#editForm) {
        padding-top: 72px !important;
        /* 底部只留安全区，上下灰边由 container 的 12px 对称承担 */
        padding-bottom: env(safe-area-inset-bottom) !important;
    }
    body:has(#expenseForm) .container,
    body:has(.form-card):has(#editForm) .container {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#expenseForm) .form-card,
    body:has(.form-card):has(#editForm) .form-card {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 16px !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#expenseForm) .header-flex,
    body:has(#editForm) .header-flex {
        margin-bottom: 10px !important;
        padding-bottom: 10px !important;
        gap: 8px !important;
        flex: 0 0 auto !important;
    }
    body:has(#expenseForm) .page-title,
    body:has(#editForm) .page-title {
        font-size: 20px !important;
        letter-spacing: 0 !important;
    }
    body:has(#expenseForm) .btn-link,
    body:has(#editForm) .btn-link {
        font-size: 13px !important;
        white-space: nowrap !important;
    }
    body:has(#expenseForm) #expenseForm,
    body:has(#editForm) #editForm {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(#expenseForm) .form-grid,
    body:has(#editForm) .form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        gap: 8px !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
        align-content: start !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    body:has(#expenseForm) .form-group.full-width,
    body:has(#editForm) .form-group.full-width {
        grid-column: 1 / -1 !important;
        flex: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    body:has(#expenseForm) label,
    body:has(#editForm) label {
        font-size: 12px !important;
        margin-bottom: 5px !important;
        letter-spacing: 0.02em !important;
    }
    body:has(#expenseForm) .custom-select-wrapper,
    body:has(#editForm) .custom-select-wrapper,
    body:has(#expenseForm) .next-code-preview,
    body:has(#editForm) .next-code-preview,
    body:has(#expenseForm) .form-card input:not([type="checkbox"]):not([type="hidden"]),
    body:has(#editForm) .form-card input:not([type="checkbox"]):not([type="hidden"]),
    body:has(#expenseForm) .flatpickr-mobile,
    body:has(#editForm) .flatpickr-mobile,
    body:has(#expenseForm) .flatpickr-input[readonly] + input,
    body:has(#editForm) .flatpickr-input[readonly] + input {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
    }
    body:has(#expenseForm) .custom-select-trigger,
    body:has(#editForm) .custom-select-trigger {
        font-size: 15px !important;
    }
    body:has(#expenseForm) .form-card textarea,
    body:has(.form-card):has(#editForm) .form-card textarea,
    body:has(#expenseForm) #remarkInput,
    body:has(.form-card):has(#editForm) #remarkInput {
        flex: none !important;
        height: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
        padding: 8px 10px !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        border-radius: 12px !important;
        resize: none !important;
    }
    body:has(#expenseForm) .btn-submit,
    body:has(#editForm) .btn-submit {
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 11px 0 !important;
        font-size: 15px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
        flex: none !important;
    }
    body:has(#expenseForm) .modal-card,
    body:has(#editForm) .modal-card {
        width: min(420px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        padding: 20px 16px !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
        z-index: 10101 !important;
    }
    body:has(#expenseForm) #confirmModal .modal-card,
    body:has(#editForm) #confirmModal .modal-card {
        display: flex !important;
        flex-direction: column !important;
        max-height: min(88dvh, 860px) !important;
        overflow: hidden !important;
    }
    body:has(#expenseForm) .modal-card .modal-icon,
    body:has(#editForm) .modal-card .modal-icon {
        font-size: 36px !important;
        margin-bottom: 6px !important;
        flex: none !important;
    }
    body:has(#expenseForm) .modal-card .modal-title,
    body:has(#editForm) .modal-card .modal-title {
        font-size: 18px !important;
        flex: none !important;
    }
    body:has(#expenseForm) .modal-card .modal-sub,
    body:has(#editForm) .modal-card .modal-sub {
        font-size: 12px !important;
        margin-bottom: 12px !important;
        flex: none !important;
    }
    html body:has(#expenseForm) .confirm-info-list .diff-list,
    html body:has(#editForm) .confirm-info-list .diff-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        grid-template-columns: none !important;
    }
    html body:has(#expenseForm) .confirm-info-list .diff-label,
    html body:has(#editForm) .confirm-info-list .diff-label {
        text-align: center !important;
        white-space: normal !important;
        font-size: 11px !important;
        width: 100% !important;
    }
    /* 新增：单值居中 */
    html body:has(#expenseForm) #confirmModal .confirm-info-list .diff-content,
    html body:has(#expenseForm) .confirm-info-list .diff-content {
        max-width: 100% !important;
        width: 100% !important;
        font-size: 13px !important;
        display: block !important;
        text-align: center !important;
        grid-template-columns: none !important;
    }
    /* 修改：旧→新 三列，整行居中对齐 */
    html body:has(#editForm) #confirmModal .confirm-info-list .diff-content,
    html body:has(#editForm) .confirm-info-list .diff-content {
        max-width: 100% !important;
        width: 100% !important;
        font-size: 13px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) !important;
        align-items: center !important;
        justify-items: center !important;
        column-gap: 8px !important;
        flex-direction: unset !important;
        text-align: center !important;
    }
    html body:has(#expenseForm) #confirmModal .confirm-info-list .v-old,
    html body:has(#editForm) #confirmModal .confirm-info-list .v-old,
    html body:has(#expenseForm) .confirm-info-list .v-old,
    html body:has(#editForm) .confirm-info-list .v-old {
        text-align: center !important;
        justify-self: center !important;
        text-decoration: none !important;
        text-decoration-line: none !important;
        opacity: 1 !important;
    }
    html body:has(#expenseForm) #confirmModal .confirm-info-list .v-new,
    html body:has(#editForm) #confirmModal .confirm-info-list .v-new,
    html body:has(#expenseForm) .confirm-info-list .v-new,
    html body:has(#editForm) .confirm-info-list .v-new {
        text-align: center !important;
        justify-self: center !important;
        text-decoration: none !important;
        text-decoration-line: none !important;
    }
    html body:has(#expenseForm) .confirm-info-list .v-old.amt-in,
    html body:has(#editForm) .confirm-info-list .v-old.amt-in,
    html body:has(#expenseForm) .confirm-info-list .v-new.amt-in,
    html body:has(#editForm) .confirm-info-list .v-new.amt-in,
    html body:has(#expenseForm) .confirm-info-list .amt-in,
    html body:has(#editForm) .confirm-info-list .amt-in {
        color: #14b8a6 !important;
    }
    html body:has(#expenseForm) .confirm-info-list .v-old.amt-out,
    html body:has(#editForm) .confirm-info-list .v-old.amt-out,
    html body:has(#expenseForm) .confirm-info-list .v-new.amt-out,
    html body:has(#editForm) .confirm-info-list .v-new.amt-out,
    html body:has(#expenseForm) .confirm-info-list .amt-out,
    html body:has(#editForm) .confirm-info-list .amt-out {
        color: #f43f5e !important;
    }
    html body:has(#expenseForm) .confirm-info-list .diff-arrow,
    html body:has(#editForm) .confirm-info-list .diff-arrow {
        transform: none !important;
        align-self: center !important;
        justify-self: center !important;
    }
    body:has(#expenseForm) .confirm-info-list,
    body:has(#editForm) .confirm-info-list {
        padding: 8px !important;
        margin: 12px 0 0 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        text-align: center !important;
    }
    body:has(#expenseForm) .confirm-info-list::-webkit-scrollbar,
    body:has(#editForm) .confirm-info-list::-webkit-scrollbar {
        display: none !important;
    }
    body:has(#expenseForm) .confirm-info-list .diff-row,
    body:has(#editForm) .confirm-info-list .diff-row {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 9px 10px !important;
        align-items: center !important;
        text-align: center !important;
    }
    body:has(#expenseForm) .confirm-info-list .v-old,
    body:has(#editForm) .confirm-info-list .v-old,
    body:has(#expenseForm) .confirm-info-list .v-new,
    body:has(#editForm) .confirm-info-list .v-new {
        min-width: 0 !important;
        word-break: break-all !important;
        overflow-wrap: anywhere !important;
        text-decoration: none !important;
    }
    body:has(#expenseForm) .modal-btns,
    body:has(#editForm) .modal-btns {
        flex: none !important;
        gap: 10px !important;
        margin-top: 14px !important;
    }
    body:has(#expenseForm) .btn-modal,
    body:has(#editForm) .btn-modal {
        padding: 12px 10px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
    }
    html body:has(#expenseForm) .flatpickr-calendar,
    html body:has(#editForm) .flatpickr-calendar,
    html body:has(#expenseForm) .flatpickr-calendar.open,
    html body:has(#editForm) .flatpickr-calendar.open,
    html body:has(#expenseForm) .flatpickr-calendar.arrowTop,
    html body:has(#editForm) .flatpickr-calendar.arrowTop,
    html body:has(#expenseForm) .flatpickr-calendar.arrowBottom,
    html body:has(#editForm) .flatpickr-calendar.arrowBottom {
        min-width: 0 !important;
        width: min(308px, calc(100vw - 24px)) !important;
        max-height: calc(100dvh - 16px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        z-index: 10060 !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 操作日志（仅 primary SA）：页面壳对齐用户管理，底部留白一致 */
    html:has(#auditPage),
    body:has(#auditPage) {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #e8eef5 !important;
        box-sizing: border-box !important;
    }
    html body:has(#auditPage) {
        padding-top: 72px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
        min-height: 0 !important;
    }
    body:has(#auditPage) .container {
        height: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        overflow: hidden !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        min-height: 0 !important;
    }
    body:has(#auditPage) .top-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "title stats"
            "filter filter" !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        height: auto !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 4px 0 8px !important;
        gap: 10px 12px !important;
        margin-bottom: 0 !important;
    }
    body:has(#auditPage) .page-title {
        grid-area: title !important;
        width: auto !important;
        max-width: none !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        padding: 0 4px !important;
        color: #1d4ed8 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        justify-self: start !important;
    }
    body:has(#auditPage) .toolbar-right {
        grid-area: stats !important;
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        flex: none !important;
        display: flex !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        align-self: center !important;
    }
    body:has(#auditPage) .stats-badge {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        background: #fff !important;
        border: 1px solid rgba(59, 130, 246, 0.28) !important;
        border-radius: 50px !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 6px 14px !important;
        gap: 6px !important;
        white-space: nowrap !important;
        flex: 0 0 120px !important;
        box-sizing: border-box !important;
    }
    body:has(#auditPage) .stats-val {
        color: #1d4ed8 !important;
        font-size: 22px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        min-width: 3ch !important;
        font-variant-numeric: tabular-nums !important;
        text-align: right !important;
    }
    body:has(#auditPage) .stats-lbl {
        color: #0f172a !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    /* 筛选条：对齐财务流水（日期 | 用户名，右侧 ✕）；尺寸锁死避免打字晃动 */
    body:has(#auditPage) .filter-container {
        grid-area: filter !important;
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 4px 8px !important;
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        overflow: visible !important;
        transition: none !important;
        box-sizing: border-box !important;
    }
    body:has(#auditPage) .filter-icon { display: none !important; }
    body:has(#auditPage) .combined-form {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
    body:has(#auditPage) .date-slot,
    body:has(#auditPage) .name-slot {
        flex: 1 1 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        flex-basis: 50% !important;
        height: 44px !important;
        max-height: 44px !important;
        border-bottom: none !important;
        position: relative !important;
    }
    body:has(#auditPage) .v-divider { display: none !important; }
    body:has(#auditPage) .date-slot .date-input,
    body:has(#auditPage) .date-slot .flatpickr-input {
        width: 100% !important;
        height: 44px !important;
        max-height: 44px !important;
        text-align: center !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    html body:has(#auditPage) #nameInput.large-input,
    html body:has(#auditPage) #nameInput.large-input:focus {
        display: block !important;
        width: 100% !important;
        height: 44px !important;
        box-sizing: border-box !important;
        text-align: center !important;
        padding: 0 8px !important;
    }
    html body:has(#auditPage) #nameInput.large-input::placeholder {
        text-align: center !important;
        opacity: 1 !important;
        color: #64748b !important;
    }
    html body:has(#auditPage) #nameInput.large-input::-ms-clear,
    html body:has(#auditPage) #nameInput.large-input::-webkit-search-cancel-button,
    html body:has(#auditPage) #nameInput.large-input::-webkit-clear-button {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }
    /* 右侧 ✕ 位永远占位，打字显隐打叉时 filter 不动 */
    body:has(#auditPage) .filter-right-box {
        position: absolute !important;
        right: 8px !important;
        top: 4px !important;
        bottom: auto !important;
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 120 !important;
        pointer-events: auto !important;
    }
    body:has(#auditPage) .name-slot {
        padding-right: 44px !important;
    }
    body:has(#auditPage) #clearSearch {
        width: 24px !important;
        height: 24px !important;
        margin: auto !important;
        transform: none !important;
    }
    body:has(#auditPage) #clearSearch:not(.is-on) {
        display: none !important;
    }
    body:has(#auditPage) #clearSearch.is-on {
        display: flex !important;
    }
    body:has(#auditPage) #clearSearch.is-on:hover {
        transform: rotate(90deg) !important;
    }
    body:has(#auditPage) .flatpickr-calendar,
    body:has(#auditPage) .flatpickr-calendar.open {
        position: fixed !important;
        z-index: 10060 !important;
        margin: 0 !important;
    }
    body:has(#auditPage) .toolbar-right,
    body:has(#auditPage) .stats-badge {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    body:has(#auditPage) .table-card {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }
    body:has(#auditPage) .thead-fixed { display: none !important; }
    body:has(#auditPage) .tbody-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
    body:has(#auditPage) .tbody-scroll colgroup {
        display: none !important;
    }
    body:has(#auditPage) .tbody-scroll table,
    body:has(#auditPage) .tbody-scroll tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    /* 卡片布局对齐公司管理：顶栏用户名+日期，下行标签|值 */
    body:has(#auditPage) .tbody-scroll tr.audit-data-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        gap: 0 !important;
        background: #ffffff !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: none !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row.is-filtered-out {
        display: none !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        border: none !important;
        background: transparent !important;
        box-sizing: border-box !important;
        text-align: right !important;
        color: #0f172a !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        padding: 12px 8px 12px 12px !important;
        background: #f8fafc !important;
        text-align: left !important;
        font-size: 16px !important;
        color: #0f172a !important;
        word-break: break-all !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(1)::before {
        content: none !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(2) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 12px 12px 12px 0 !important;
        background: #f8fafc !important;
        color: #3b82f6 !important;
        white-space: nowrap !important;
        text-align: right !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(2)::before {
        content: none !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(3) {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: 4.2em minmax(0, 1fr) !important;
        align-items: start !important;
        justify-items: end !important;
        column-gap: 8px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(3)::before { content: "时间"; }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(4).remark-cell {
        grid-column: 1 / -1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        border-top: 1px solid rgba(15, 23, 42, 0.05) !important;
        text-align: left !important;
        padding-top: 10px !important;
        padding-bottom: 12px !important;
        white-space: normal !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(4).remark-cell::before {
        content: "备注" !important;
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        line-height: 1.35 !important;
        white-space: nowrap !important;
        margin-bottom: 2px !important;
    }
    body:has(#auditPage) .tbody-scroll tr.audit-data-row td:nth-child(3)::before {
        color: #94a3b8 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: left !important;
        text-transform: none !important;
        line-height: 1.35 !important;
        justify-self: start !important;
        white-space: nowrap !important;
    }
    body:has(#auditPage) .remark-stack {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 3px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    body:has(#auditPage) .remark-line {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        text-align: left !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;
        color: #0f172a !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        font-variant-numeric: tabular-nums !important;
    }
    body:has(#auditPage) .remark-line.is-title {
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #1d4ed8 !important;
        margin-bottom: 2px !important;
    }
    body:has(#auditPage) .remark-line.is-section {
        margin-top: 8px !important;
        margin-bottom: 2px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        color: #64748b !important;
        letter-spacing: 0.04em !important;
    }
    body:has(#auditPage) .remark-line.is-section ~ .remark-line:not(.is-section) {
        padding-left: 10px !important;
    }
    body:has(#auditPage) .empty-view {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 240px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        color: #64748b !important;
        background: #fff !important;
        border-radius: 16px !important;
        border: 1px solid rgba(15, 23, 42, 0.12) !important;
        box-sizing: border-box !important;
        padding: 32px 16px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    body:has(#auditPage) #auditEmptyFilter {
        display: none !important;
    }
    body:has(#auditPage) #auditEmptyFilter.is-filter-empty-show {
        display: flex !important;
    }
    body:has(#auditPage) .empty-view .empty-ico {
        font-size: 48px !important;
        margin: 0 !important;
        opacity: 0.5 !important;
        line-height: 1 !important;
    }
    body:has(#auditPage) .empty-view .empty-txt {
        margin: 8px 0 0 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #64748b !important;
        text-align: center !important;
    }
}
