/* Ant Design is shared by the workspace, public forms and body-mounted overlays.
   Override only brand/selection states; leave danger, validation and disabled states intact. */
.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-danger):not([disabled]) {
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    color: #fff;
    text-shadow: none;
    box-shadow: none;
}
.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-danger):not([disabled]):hover,
.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-danger):not([disabled]):focus-visible {
    background: var(--brand-blue-hover);
    border-color: var(--brand-blue-hover);
}
.ant-btn-primary:not(.ant-btn-dangerous):not(.ant-btn-danger):not([disabled]):active {
    background: var(--brand-blue-active);
    border-color: var(--brand-blue-active);
}
.ant-btn-link:not(.ant-btn-dangerous):not(.ant-btn-danger):not([disabled]),
.ant-tabs-tab.ant-tabs-tab-active:not(.ant-tabs-tab-disabled) .ant-tabs-tab-btn,
.ant-pagination-item-active a {
    color: var(--brand-blue);
}
.ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(.ant-btn-danger):not(.ant-btn-background-ghost):not([disabled]):hover {
    color: var(--brand-blue-hover);
    border-color: var(--brand-blue-hover);
}
.ant-tabs-ink-bar,
.ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner,
.ant-radio:not(.ant-radio-disabled) .ant-radio-inner::after,
.ant-switch-checked:not(.ant-switch-disabled) {
    background: var(--brand-blue);
}
.ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner,
.ant-radio-checked:not(.ant-radio-disabled) .ant-radio-inner,
.ant-pagination-item-active {
    border-color: var(--brand-blue);
}
.ant-select-item-option-selected:not(.ant-select-item-option-disabled),
.ant-table-tbody > tr.ant-table-row-selected > td {
    background: var(--brand-blue-soft);
}
.ant-tag-blue {
    color: var(--brand-blue-hover);
    background: var(--brand-blue-soft);
    border-color: var(--brand-blue-line);
}

/* Visible keyboard focus on both the dark navigation and light content surfaces. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible,
.ant-btn:not([disabled]):focus-visible {
    outline: 2px solid var(--brand-focus);
    outline-offset: 3px;
}

.portal-shell .ant-card { color: var(--portal-ink); }
.portal-shell .ant-table-thead > tr > th { background: var(--portal-bg); color: var(--portal-ink); }
.portal-shell .ant-table-tbody > tr > td { border-bottom-color: var(--portal-line); }

@media (prefers-reduced-motion: reduce) {
    .ant-btn, .ant-tabs-ink-bar, .ant-switch { transition: none; }
}
