/* Shared operational collection workspace for Accounts and Contacts. */
.itx-collection-workspace {
    display: grid;
    gap: var(--itx-section-gap);
    padding: 18px 20px 30px;
    color: var(--itx-body);
}

.itx-collection-header { margin: 0; }

.itx-collection-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.itx-view-switch {
    display: inline-flex;
    padding: 4px;
    border: 1px solid var(--itx-border);
    border-radius: var(--itx-radius-sm);
    background: var(--itx-surface-soft);
}

.itx-view-option,
.itx-collection-secondary,
.itx-collection-create {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--itx-radius-xs);
    text-decoration: none;
    transition: background-color .18s var(--itx-ease), border-color .18s var(--itx-ease), color .18s var(--itx-ease), transform .18s var(--itx-ease);
}

.itx-view-option { color: var(--itx-muted); }
.itx-view-option:hover { color: var(--itx-brand); background: var(--itx-surface); }
.itx-view-option.active { color: var(--itx-brand); background: var(--itx-surface); box-shadow: var(--itx-shadow-xs); }

.itx-collection-secondary {
    padding: 0 14px;
    border: 1px solid var(--itx-border-strong);
    background: var(--itx-surface);
    color: var(--itx-body);
    font-weight: 700;
}

.itx-collection-create {
    padding: 0 16px;
    border: 1px solid var(--itx-brand);
    background: var(--itx-brand);
    color: #fff;
    font-weight: 750;
}
.itx-collection-create:hover { color: #fff; transform: translateY(-1px); }

.itx-collection-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.itx-collection-kpi,
.itx-collection-panel {
    border: 1px solid var(--itx-border);
    border-radius: var(--itx-radius);
    background: var(--itx-surface);
    box-shadow: var(--itx-shadow-card);
}

.itx-collection-kpi .card-body {
    min-height: 92px;
    padding: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.itx-collection-kpi-label {
    color: var(--itx-muted);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.itx-collection-kpi-value { margin-top: 5px; color: var(--itx-ink); font: 800 1.4rem/1.1 var(--itx-font-display); }
.itx-collection-kpi-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; font-size: 1.25rem; }
.itx-collection-kpi-icon.is-blue { color: var(--itx-brand); background: rgba(var(--itx-brand-rgb), .1); }
.itx-collection-kpi-icon.is-cyan { color: var(--itx-info); background: rgba(var(--itx-info-rgb), .1); }
.itx-collection-kpi-icon.is-emerald { color: var(--itx-success); background: rgba(var(--itx-success-rgb), .1); }
.itx-collection-kpi-icon.is-amber { color: var(--itx-warning); background: rgba(var(--itx-warning-rgb), .1); }

.itx-collection-panel { overflow: hidden; }
.itx-collection-filters { padding: 16px; }
.itx-collection-results { padding: 16px; }
.itx-collection-pagination { padding: 12px 16px; }
.itx-collection-workspace .form-control,
.itx-collection-workspace .form-select,
.itx-collection-workspace .input-group-text { min-height: 44px; border-color: var(--itx-border); background-color: var(--itx-surface); color: var(--itx-ink); }
.itx-collection-workspace .input-group-text { border-right: 0; color: var(--itx-muted); }
.itx-collection-workspace .input-group-text + .form-control { border-left: 0; }

.matrix-card-grid .matrix-card {
    overflow: hidden;
    min-height: 100%;
    border: 1px solid var(--itx-border);
    border-radius: var(--itx-radius);
    background: var(--itx-surface);
    box-shadow: var(--itx-shadow-card);
    transition: transform .18s var(--itx-ease), border-color .18s var(--itx-ease), box-shadow .18s var(--itx-ease);
}
.matrix-card-grid .matrix-card:hover { transform: translateY(-2px); border-color: rgba(var(--itx-brand-rgb), .28); box-shadow: var(--itx-shadow-raised); }
.account-card.is-ninja-tenant { border-left: 4px solid var(--itx-success); }
.account-card-inner,
.contact-card-inner { height: 100%; }
.account-card-body,
.contact-card-body { padding: 16px; }
.account-card-back,
.contact-card-back { border-top: 1px solid var(--itx-border); background: var(--itx-surface-soft); }
.account-card-back[hidden],
.contact-card-back[hidden] { display: none !important; }
.account-card-back .metric,
.contact-card-metric { padding: 10px; border: 1px solid var(--itx-border); border-radius: var(--itx-radius-sm); background: var(--itx-surface); }
.account-code-badge { position: absolute; top: 12px; right: 12px; padding: 5px 9px; border-radius: var(--itx-radius-pill); background: var(--itx-surface-muted); color: var(--itx-muted); font-size: .72rem; font-weight: 750; }
.account-card { position: relative; }
.matrix-name { color: var(--itx-ink); font-size: 1.02rem; font-weight: 800; }
.matrix-subtitle { color: var(--itx-muted); font-size: .86rem; font-weight: 650; }
.account-name, .account-type { padding-right: 78px; }
.matrix-meta { color: var(--itx-body); font-size: .88rem; }
.account-meta-inline,
.contact-meta-inline,
.contact-card-flags,
.contact-card-metrics { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.account-meta-item { display: flex; align-items: center; gap: 7px; }
.matrix-meta .icon { color: var(--itx-faint); }

.matrix-card-footer { padding: 10px 14px; border-top: 1px solid var(--itx-border); }
.btn-icon-soft,
.itx-card-disclosure { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--itx-border); border-radius: var(--itx-radius-xs); background: var(--itx-surface-soft); color: var(--itx-body); text-decoration: none; }
.btn-icon-soft:hover,
.itx-card-disclosure:hover { border-color: rgba(var(--itx-brand-rgb), .3); color: var(--itx-brand); background: rgba(var(--itx-brand-rgb), .07); }
.itx-card-disclosure { padding: 0 11px; font-weight: 700; }
.itx-card-disclosure[aria-expanded="true"] i { transform: rotate(180deg); }
.itx-card-disclosure i { transition: transform .18s var(--itx-ease); }
.interactive-target { color: inherit; text-decoration: none; }
.interactive-target:focus-visible { border-radius: var(--itx-radius-xs); outline: 0; box-shadow: var(--itx-shadow-focus); }

.status-badge,
.contact-flag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: var(--itx-radius-pill); font-size: .78rem; font-weight: 750; }
.status-active, .status-portal { color: var(--itx-success); background: rgba(var(--itx-success-rgb), .1); }
.status-at-risk, .contact-flag.is-alert { color: var(--itx-danger); background: rgba(var(--itx-danger-rgb), .1); }
.status-inactive, .status-standard { color: var(--itx-muted); background: var(--itx-surface-muted); }
.status-primary { color: var(--itx-brand); background: rgba(var(--itx-brand-rgb), .1); }
.contact-flag { border: 1px solid var(--itx-border); color: var(--itx-body); background: var(--itx-surface-soft); text-decoration: none; }
.contact-flag.is-disabled { opacity: .65; }

.account-list, .contact-list { margin: 0; padding: 0; list-style: none; }
.account-list-item, .contact-list-item { padding: 14px 4px; border-bottom: 1px solid var(--itx-border); }
.account-list-item:last-child, .contact-list-item:last-child { border-bottom: 0; }
.itx-collection-results .table { margin: 0; color: var(--itx-body); }
.itx-collection-results .table th { color: var(--itx-muted); font-size: .69rem; letter-spacing: .045em; text-transform: uppercase; }
.itx-collection-results .table td,
.itx-collection-results .table th { padding: 11px 12px; border-color: var(--itx-border); }
.itx-collection-results .table-light { --tblr-table-bg: var(--itx-surface-soft); }
.empty-state { padding: 40px 20px; border: 2px dashed var(--itx-border); border-radius: var(--itx-radius); background: var(--itx-surface-soft); }

.itx-view-option:focus-visible,
.itx-collection-secondary:focus-visible,
.itx-collection-create:focus-visible,
.itx-card-disclosure:focus-visible { outline: 0; box-shadow: var(--itx-shadow-focus); }

@media (max-width: 991.98px) {
    .itx-collection-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .itx-collection-actions { justify-content: flex-start; }
}

@media (max-width: 575.98px) {
    .itx-collection-workspace { padding: 14px 12px 24px; }
    .itx-collection-actions,
    .itx-collection-create { width: 100%; }
    .itx-view-switch { flex: 1; }
    .itx-view-option { flex: 1; }
    .itx-collection-kpis { grid-template-columns: 1fr; gap: 8px; }
    .itx-collection-kpi .card-body { min-height: 78px; padding: 13px; }
    .itx-collection-filters,
    .itx-collection-results { padding: 12px; }
    .account-card-back,
    .contact-card-back { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
    .itx-collection-workspace *,
    .itx-collection-workspace *::before,
    .itx-collection-workspace *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .matrix-card-grid .matrix-card:hover,
    .itx-collection-create:hover { transform: none; }
}
