.merge-candidates {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}
.merge-candidates [hidden] { display: none !important; }
.merge-candidates .page__header,
.merge-candidates__group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.merge-candidates .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    text-decoration: none;
}
.merge-candidates :focus-visible {
    outline: 2px solid var(--colour-primary);
    outline-offset: 3px;
}
.merge-candidates__groups { display: grid; gap: 1.5rem; }
.merge-candidates__group { min-width: 0; }
.merge-candidates__record-count {
    margin: .5rem 0 0;
    color: var(--colour-text-secondary);
    font-size: var(--font-size-sm);
}
.merge-candidates__review {
    background: #365742;
    border-color: #78a987;
    flex-shrink: 0;
}
.merge-candidates__review:hover { background: #426b51; }
.merge-candidates__clients {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}
.merge-candidates__client {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-sm);
    background: var(--colour-app-bg);
    overflow-wrap: anywhere;
}
.merge-candidates__client h3 { margin: 0 0 1rem; font-size: var(--font-size-lg); }
.merge-candidates__client dl { margin: 0; display: grid; gap: .75rem; }
.merge-candidates__client dl > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: .5rem; }
.merge-candidates__client dt { color: var(--colour-text-secondary); }
.merge-candidates__client dd { margin: 0; }
.merge-candidates__client .merge-candidates__counts {
    margin-top: 1rem;
    padding-top: .875rem;
    border-top: 1px solid var(--colour-border);
    font-size: var(--font-size-sm);
}
.merge-candidates__client .merge-candidates__counts > div { grid-template-columns: 120px minmax(0, 1fr); }
.merge-candidates__counts dt { display: flex; align-items: center; gap: .5rem; }
.merge-candidates__dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.merge-candidates__dot--appointments { background: var(--colour-primary); }
.merge-candidates__dot--invoices { background: var(--colour-success); }
.merge-candidates__match {
    background: rgba(217, 164, 65, .12);
    color: #e9c77f;
    border-radius: 3px;
    padding: .125rem .25rem;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.merge-candidates__footer { margin-top: 1.5rem; text-align: center; }
@media (max-width: 600px) {
    .merge-candidates { padding: 1rem; }
    .merge-candidates__clients { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
    .merge-candidates__group-header { padding: 1rem; }
}
