/* Small authored diagrams identify a table; topic controls reveal its actual columns. */
.ssm-table-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--ssm-space-3);
    width: 100%;
    min-width: 0;
    margin-block: var(--ssm-space-6) var(--ssm-space-3);
    padding: var(--ssm-space-3) var(--ssm-space-4);
    border: 1px solid var(--ssm-border);
    border-radius: var(--ssm-radius-card);
    background: var(--ssm-surface);
    color: var(--ssm-ink-900);
    font-family: var(--ssm-font-sans);
}

.ssm-table-overview__identity {
    display: inline-flex;
    align-items: center;
    flex: 1 1 15rem;
    gap: var(--ssm-space-3);
    min-width: 0;
    border-radius: var(--ssm-radius-ctrl);
    color: var(--ssm-ink-900);
    text-decoration: none;
}

.ssm-table-overview__identity:hover {
    color: var(--ssm-brand-600);
    text-decoration: none;
}

.ssm-table-overview__diagram {
    flex: 0 0 4.5rem;
    width: 4.5rem;
    height: 3.5rem;
    border-radius: var(--ssm-radius-ctrl);
    background: var(--ssm-tint-50);
    color: var(--ssm-brand-600);
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ssm-table-overview__detail { stroke-width: 2.6; }

.ssm-table-overview__copy {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
}

.ssm-table-overview__label {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ssm-table-overview__hint {
    color: var(--ssm-ink-700);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.5;
}

.ssm-table-overview__topics {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ssm-space-2);
    min-width: 0;
}

.ssm-table-overview__topic {
    max-width: 16rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ssm-border-strong);
    border-radius: var(--ssm-radius-ctrl);
    background: var(--ssm-surface);
    color: var(--ssm-ink-700);
    font: 600 0.75rem/1.5 var(--ssm-font-sans);
    text-align: start;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ssm-table-overview__topic:hover {
    border-color: var(--ssm-brand-500);
    background: var(--ssm-tint-50);
    color: var(--ssm-ink-900);
}

.ssm-table-overview :is(a, button):focus-visible {
    outline: 2px solid var(--ssm-brand-500);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    .ssm-table-overview { padding: var(--ssm-space-3); }
    .ssm-table-overview__topics { width: 100%; }
    .ssm-table-overview__topic { min-height: 2.75rem; max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .ssm-table-overview__topic { transition: none; }
}

[data-ssm-reduce-motion="true"] .ssm-table-overview__topic { transition: none; }

@media print {
    .ssm-table-overview { display: none !important; }
}
