/* === [crm-page-shell] 公司 CRM 共用页面壳 === */
.crm-page-shell {
    display: flex;
    flex-direction: column;
    gap: var(--crm-shell-gap);
    margin-bottom: var(--crm-shell-gap);
    min-width: 0;
}

.crm-page-shell .page-header {
    margin-bottom: 0;
}

.crm-page-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.crm-page-stack > .crm-summary-strip {
    margin-bottom: 0;
}

.crm-page-stack > .toolbar-card,
.crm-page-stack > .table-card {
    margin-bottom: 0;
}

.crm-filter-bar {
    padding: 14px 16px;
}

.crm-filter-bar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.crm-filter-bar__fields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    flex: 1 1 360px;
    min-width: 0;
}

.crm-filter-bar__field {
    flex: 1 1 180px;
    min-width: 150px;
    max-width: 280px;
}

.crm-filter-bar__field--wide {
    flex: 2 1 260px;
    max-width: 420px;
}

.crm-filter-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
}

.crm-filter-bar__note {
    margin-top: 10px;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.45;
}

.body-role-manager .crm-page-stack > .table-card:has(.crm-data-table),
.body-role-sales .crm-page-stack > .table-card:has(.crm-data-table),
.body-role-manager .crm-page-stack > .trash-table-card,
.body-role-sales .crm-page-stack > .trash-table-card {
    padding-inline: 16px;
    box-sizing: border-box;
}

.body-role-manager .table-card:has(.crm-data-table),
.body-role-sales .table-card:has(.crm-data-table) {
    max-width: none;
    width: 100%;
}

.body-role-manager .app-shell .table-card:has(.responsive-card-table),
.body-role-sales .app-shell .table-card:has(.responsive-card-table),
.body-role-manager .app-shell .table-card:has(.crm-pool-table),
.body-role-manager .app-shell .table-card:has(.crm-my-table),
.body-role-manager .app-shell .table-card:has(.pipeline-task-table),
.body-role-sales .app-shell .table-card:has(.crm-my-table) {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}

.body-role-manager .main-content > .toolbar-card,
.body-role-manager .main-content > .table-card,
.body-role-sales .main-content > .toolbar-card,
.body-role-sales .main-content > .table-card,
.body-role-manager .crm-page-stack > .toolbar-card,
.body-role-manager .crm-page-stack > .table-card,
.body-role-sales .crm-page-stack > .toolbar-card,
.body-role-sales .crm-page-stack > .table-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.body-role-manager .business-profile-page.crm-page-stack,
.body-role-sales .business-profile-page.crm-page-stack {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.body-role-manager .crm-page-stack,
.body-role-sales .crm-page-stack {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.body-role-manager .crm-page-stack > .crm-page-shell,
.body-role-manager .crm-page-stack > .crm-summary-strip,
.body-role-manager .crm-page-stack > .task-center-stats,
.body-role-manager .crm-page-stack > .active-filter-list,
.body-role-manager .crm-page-stack > .pool-filter-action-bar,
.body-role-manager .crm-page-stack > .pool-pagination,
.body-role-manager .crm-page-stack > .pool-table-card,
.body-role-manager .crm-page-stack > .pool-filter-card,
.body-role-manager .crm-page-stack > .pool-filter-shell,
.body-role-manager .crm-page-stack > .pool-chip-card,
.body-role-manager .crm-page-stack form .table-card,
.body-role-manager .crm-page-stack form .pool-table-card,
.body-role-manager .crm-page-stack > .import-page,
.body-role-manager .crm-page-stack > .mine-quick-bar,
.body-role-manager .crm-page-stack > .pool-chip-row,
.body-role-manager .crm-page-stack > .crm-workspace-bar,
.body-role-manager .crm-page-stack > .mine-card-list,
.body-role-sales .crm-page-stack > .crm-page-shell,
.body-role-sales .crm-page-stack > .crm-summary-strip {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.body-role-manager .app-shell .table-card:has(.responsive-card-table),
.body-role-manager .app-shell .table-card:has(.pipeline-task-table),
.body-role-manager .app-shell .table-card:has(.crm-pool-table),
.body-role-sales .app-shell .table-card:has(.responsive-card-table),
.body-role-sales .app-shell .table-card:has(.crm-my-table) {
    max-width: none;
    width: 100%;
}

.body-role-manager .pool-table-card,
.body-role-sales .pool-table-card {
    padding: 0;
    overflow: hidden;
}

.body-role-manager .pool-table-card .table-responsive,
.body-role-sales .pool-table-card .table-responsive {
    overflow-x: auto;
}

.body-role-manager .pipeline-task-table,
.body-role-sales .pipeline-task-table {
    width: 100%;
    min-width: 1160px;
    table-layout: fixed;
}

@media (min-width: 901px) {
    .body-role-manager .pipeline-task-table,
    .body-role-sales .pipeline-task-table {
        min-width: 1160px;
    }
}

.crm-page-summary,
.crm-header-summary {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
}

.crm-header-summary strong {
    color: var(--text-main);
    font-weight: 700;
}

.crm-flash-summary-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.crm-flash-summary-item--sep {
    padding-top: 4px;
    border-top: 1px dashed rgba(0, 0, 0, 0.08);
}

.crm-inline-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    background: var(--crm-inline-hint-bg);
    font-size: 12px;
}

.crm-inline-hint.is-compact {
    padding: 6px 10px;
}

.crm-inline-hint .task-center-hint-main {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.crm-inline-hint .task-center-hint-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.crm-inline-hint.is-dismissed {
    display: none !important;
}

.pool-batch-floater.crm-batch-bar {
    z-index: 1020;
    border: 0;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.mobile-nav-more {
    position: relative;
    flex: 1 1 0;
}

.mobile-nav-more-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 100%;
    min-height: 52px;
    padding: 4px 6px;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 600;
}

.mobile-nav-more-btn.active,
.mobile-nav-more-btn[aria-expanded="true"] {
    color: var(--accent);
    background: var(--accent-soft);
}

.mobile-nav-more-menu {
    min-width: 180px;
    margin-bottom: 8px !important;
}

.dashboard-decision-card--linked {
    position: relative;
}

.dashboard-decision-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    color: inherit;
    text-decoration: none;
}

.dashboard-decision-card--linked:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

.dashboard-decision-card--linked .dashboard-decision-head-action {
    color: var(--text-muted);
}

.dashboard-decision-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.dashboard-decision-card-link:hover {
    color: inherit;
    text-decoration: none;
}

.dashboard-decision-card-link .stat-card,
.dashboard-decision-card-link.dashboard-decision-card {
    height: 100%;
    transition: box-shadow var(--motion-fast) var(--easing), transform var(--motion-fast) var(--easing);
}

.dashboard-decision-card--linked {
    transition: box-shadow var(--motion-fast) var(--easing), transform var(--motion-fast) var(--easing);
}

.dashboard-decision-card-link:hover .stat-card,
.dashboard-decision-card-link:hover.dashboard-decision-card {
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

.task-center-tab .task-center-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    min-height: 18px;
    margin-left: 4px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.task-center-tab.active .task-center-tab-badge {
    background: var(--accent-soft);
    color: var(--accent);
}

.crm-empty-state {
    padding: 28px 20px;
    border-radius: var(--radius-md);
    background: var(--surface-soft);
    text-align: center;
}

.crm-empty-state-icon {
    font-size: 1.75rem;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.crm-empty-state-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 6px;
}

.crm-empty-state-text {
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.admin-inline-sep {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
    user-select: none;
}

.body-role-manager .team-users-table thead th {
    border-bottom: 1px solid var(--surface-border);
    background: var(--surface-soft);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.body-role-manager .team-users-table tbody td {
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--surface-border) !important;
    vertical-align: middle !important;
    white-space: nowrap;
}

.body-role-manager .team-users-table tbody tr:hover td {
    background: var(--accent-softer) !important;
}

.body-role-manager .team-users-table .btn {
    border: 0;
    background: transparent;
    padding: 0 6px;
    box-shadow: none;
}

/* === [crm-data-tables] 公司端列表表格：桌面撑满、表头对齐 === */
@media (min-width: 901px) {
    .body-role-manager .crm-page-stack > .table-card:has(.crm-data-table) .table-responsive,
    .body-role-sales .crm-page-stack > .table-card:has(.crm-data-table) .table-responsive {
        overflow-x: auto;
        max-width: 100%;
    }

    .body-role-manager .crm-page-stack > .table-card:has(.crm-data-table) .crm-data-table,
    .body-role-sales .crm-page-stack > .table-card:has(.crm-data-table) .crm-data-table {
        width: 100% !important;
    }

    .body-role-manager .crm-data-table,
    .body-role-sales .crm-data-table,
    .body-role-manager .billing-ledger-table,
    .body-role-manager .trash-customer-table {
        width: 100% !important;
        max-width: 100%;
        min-width: 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
    }

    .body-role-manager .crm-data-table thead th,
    .body-role-manager .billing-ledger-table thead th,
    .body-role-manager .trash-customer-table thead th {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .body-role-manager .billing-ledger-table th:nth-child(3),
    .body-role-manager .billing-ledger-table td:nth-child(3) {
        width: auto;
        white-space: normal;
        word-break: break-word;
    }

    .body-role-manager .billing-ledger-table .billing-col-time { width: 148px; }
    .body-role-manager .billing-ledger-table .billing-col-type { width: 96px; }
    .body-role-manager .billing-ledger-table .billing-col-desc { width: auto; }
    .body-role-manager .billing-ledger-table .billing-col-num { width: 92px; }

    .body-role-manager .billing-ledger-table th:nth-child(4),
    .body-role-manager .billing-ledger-table th:nth-child(5),
    .body-role-manager .billing-ledger-table th:nth-child(6),
    .body-role-manager .billing-ledger-table td:nth-child(4),
    .body-role-manager .billing-ledger-table td:nth-child(5),
    .body-role-manager .billing-ledger-table td:nth-child(6) {
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .body-role-manager .trash-customer-table th:nth-child(2),
    .body-role-manager .trash-customer-table td:nth-child(2) {
        width: 32%;
        white-space: normal;
        word-break: break-word;
    }

    .body-role-manager .crm-data-table th:last-child,
    .body-role-manager .crm-data-table td:last-child,
    .body-role-manager .billing-ledger-table th:last-child,
    .body-role-manager .billing-ledger-table td:last-child,
    .body-role-manager .trash-customer-table th:last-child,
    .body-role-manager .trash-customer-table td:last-child {
        box-shadow: none !important;
    }

    .body-role-manager .trash-table-card {
        overflow: hidden;
    }

    .body-role-manager .trash-table-card .table-responsive {
        overflow-x: auto;
    }
}

@media (min-width: 769px) and (max-width: 1100px) {
    .body-role-manager .crm-pool-table.responsive-card-table,
    .body-role-manager .crm-my-table.responsive-card-table,
    .body-role-manager .trash-customer-table.responsive-card-table,
    .body-role-manager .billing-ledger-table.responsive-card-table {
        width: 100% !important;
        min-width: 720px !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
    }

    .body-role-manager .crm-pool-table.responsive-card-table thead,
    .body-role-manager .crm-my-table.responsive-card-table thead,
    .body-role-manager .trash-customer-table.responsive-card-table thead,
    .body-role-manager .billing-ledger-table.responsive-card-table thead {
        display: table-header-group !important;
    }

    .body-role-manager .crm-pool-table.responsive-card-table tbody,
    .body-role-manager .crm-my-table.responsive-card-table tbody,
    .body-role-manager .trash-customer-table.responsive-card-table tbody,
    .body-role-manager .billing-ledger-table.responsive-card-table tbody {
        display: table-row-group !important;
    }

    .body-role-manager .crm-pool-table.responsive-card-table tr,
    .body-role-manager .crm-my-table.responsive-card-table tr,
    .body-role-manager .trash-customer-table.responsive-card-table tr,
    .body-role-manager .billing-ledger-table.responsive-card-table tr {
        display: table-row !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .body-role-manager .crm-pool-table.responsive-card-table th,
    .body-role-manager .crm-pool-table.responsive-card-table td,
    .body-role-manager .crm-my-table.responsive-card-table th,
    .body-role-manager .crm-my-table.responsive-card-table td,
    .body-role-manager .trash-customer-table.responsive-card-table th,
    .body-role-manager .trash-customer-table.responsive-card-table td,
    .body-role-manager .billing-ledger-table.responsive-card-table th,
    .body-role-manager .billing-ledger-table.responsive-card-table td {
        display: table-cell !important;
        grid-template-columns: unset !important;
        white-space: nowrap !important;
        padding: 10px 12px !important;
        border-bottom: 1px solid var(--surface-border) !important;
    }

    .body-role-manager .crm-pool-table.responsive-card-table tbody td::before,
    .body-role-manager .crm-my-table.responsive-card-table tbody td::before,
    .body-role-manager .trash-customer-table.responsive-card-table tbody td::before,
    .body-role-manager .billing-ledger-table.responsive-card-table tbody td::before {
        display: none !important;
        content: none !important;
    }

    .body-role-manager .table-card:has(.crm-pool-table) .table-responsive,
    .body-role-manager .table-card:has(.crm-my-table) .table-responsive,
    .body-role-manager .table-card:has(.trash-customer-table) .table-responsive,
    .body-role-manager .table-card:has(.billing-ledger-table) .table-responsive,
    .body-role-manager .table-card:has(.pipeline-task-table) .table-responsive,
    .body-role-manager .pipeline-table-card .table-responsive,
    .body-role-manager .pool-table-card .table-responsive {
        overflow-x: auto !important;
        overflow-y: visible !important;
    }
}
