/* Shared admin data grid patterns — primary links, contact fields, meta columns */

.md-admin-datatable-card .dataTable-table.admin-data-grid {
    table-layout: auto;
    width: max-content;
    min-width: 100%;
    font-size: 0.72rem;
}

.dataTable-wrapper .dataTable-table.admin-data-grid > thead.admin-table-head > tr > th,
.dataTable-wrapper .dataTable-table.admin-data-grid > tbody > tr > td {
    padding: 0.35rem 0.45rem !important;
    vertical-align: middle !important;
}

.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    line-height: 1.25;
    font-size: 0.65rem;
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: var(--kam-letter-label);
    color: var(--bs-secondary-color);
    min-width: 0;
}

/* Body-only utilities must not change header layout */
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-col-name,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-col-primary,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-col-email,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-col-phone,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-meta-cell,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-date-cell,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-metric-cell,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-status-cell,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-col-actions {
    min-width: 0;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
}

.grid-th-center,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-th-center {
    text-align: center;
}

.grid-th-end,
.md-admin-datatable-card .dataTable-table.admin-data-grid thead.admin-table-head th.grid-th-end {
    text-align: right;
}

.md-admin-datatable-card .dataTable-table.admin-data-grid .admin-table-sort-link {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.15rem;
    white-space: normal;
    line-height: 1.25;
}

.md-admin-datatable-card .dataTable-table.admin-data-grid .agents-th-label {
    white-space: normal;
}

/* Primary entity — bold link, full text */
.grid-col-name,
.grid-col-primary {
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    min-width: max-content;
}

.grid-name-link,
.leads-grid-name-link {
    display: inline-block;
    font-size: var(--kam-text-small);
    font-weight: var(--kam-weight-semibold);
    color: var(--md-primary);
    text-decoration: none;
    line-height: var(--kam-line-tight);
    white-space: nowrap;
}

.grid-name-link:hover,
.grid-name-link:focus-visible,
.leads-grid-name-link:hover,
.leads-grid-name-link:focus-visible {
    color: var(--md-primary);
    text-decoration: underline;
    filter: brightness(0.92);
}

/* Email & phone — larger, full visibility */
.grid-col-email,
.grid-col-phone,
.leads-col-email,
.leads-col-phone {
    min-width: max-content;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.grid-contact-link,
.grid-contact-text,
.leads-grid-contact-link,
.leads-grid-contact-text {
    display: inline-block;
    font-size: var(--kam-text-small);
    font-weight: var(--kam-weight-medium);
    line-height: var(--kam-line-tight);
    white-space: nowrap;
}

.grid-contact-link,
.leads-grid-contact-link {
    color: inherit;
    text-decoration: none;
}

.grid-contact-link:hover,
.grid-contact-link:focus-visible,
.leads-grid-contact-link:hover,
.leads-grid-contact-link:focus-visible {
    color: var(--md-primary);
    text-decoration: underline;
}

/* Secondary primary text — subject lines, IP addresses, etc. */
.grid-col-primary {
    font-size: var(--kam-text-small);
    font-weight: var(--kam-weight-medium);
    line-height: var(--kam-line-tight);
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    min-width: max-content;
}

/* Secondary / metadata columns */
.grid-meta-cell,
.leads-grid-meta-cell {
    font-size: var(--kam-text-caption);
    color: var(--bs-secondary-color);
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
}

/* Metric & date columns */
.grid-metric-cell {
    font-size: var(--kam-text-caption);
    text-align: center;
    white-space: nowrap;
}

.grid-date-cell {
    font-size: var(--kam-text-caption);
    white-space: nowrap;
    min-width: 7rem;
}

.grid-status-cell {
    white-space: nowrap;
    text-align: center;
}

.grid-dash,
.leads-grid-dash,
.follow-ups-grid-dash {
    display: inline-block;
    color: var(--bs-secondary-color);
}

.grid-status-tag,
.leads-grid-status-tag {
    display: inline-block;
    max-width: 100%;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.grid-col-actions,
.leads-col-actions {
    min-width: 5.25rem;
    overflow: visible;
    text-align: center;
    white-space: nowrap;
}

.grid-col-actions .btn,
.leads-col-actions .btn {
    white-space: nowrap;
}

tr.admin-row-link,
tr.agents-row-link {
    cursor: pointer;
}

tr.admin-row-link:hover,
tr.agents-row-link:hover {
    background-color: rgba(0, 0, 0, 0.03);
}
