/* CSS global com escopo explicito por tela; nao depende do CSS isolation de componentes Blazor. */
:is(.dc-partner-connections, .dc-business-partners) { display: grid; gap: 1.25rem; min-width: 0; }
:is(.dc-partner-connections, .dc-business-partners) > * { min-width: 0; }
:is(.dc-partner-connections, .dc-business-partners) .toolbar,
.dc-business-partners :is(.candidates, .actions) { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
:is(.dc-partner-connections, .dc-business-partners) :is(article, .editor, .system-card, .controls, .review, .empty-state) {
    border: 1px solid var(--border); border-radius: var(--dc-radius); padding: 1.25rem; min-width: 0;
}
:is(.dc-partner-connections, .dc-business-partners) :is(h2,h3) { font-weight: 600; margin: 0 0 .75rem; }
:is(.dc-partner-connections, .dc-business-partners) h2 { font-size: 1.125rem; }
:is(.dc-partner-connections, .dc-business-partners) p { margin: .5rem 0; overflow-wrap: anywhere; }
:is(.dc-partner-connections, .dc-business-partners) :is(.hint, small) { color: var(--muted-foreground); font-size: .875rem; }
:is(.dc-partner-connections, .dc-business-partners) label { display: grid; gap: .4rem; margin: .5rem 0; font-size: .875rem; }
:is(.dc-partner-connections, .dc-business-partners) :is(input,select,textarea,button,.action-link) {
    font: inherit; font-size: .875rem; border: 1px solid var(--border); border-radius: var(--dc-radius-sm);
    padding: .6rem .8rem; color: var(--foreground); background: var(--background); max-width: 100%;
}
:is(.dc-partner-connections, .dc-business-partners) :is(input,select,textarea) { min-width: 0; width: 100%; box-sizing: border-box; }
:is(.dc-partner-connections, .dc-business-partners) input[type=checkbox] { width: 1rem; height: 1rem; accent-color: var(--primary); flex-shrink: 0; }
:is(.dc-partner-connections, .dc-business-partners) :is(button,.action-link) { width: fit-content; cursor: pointer; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
:is(.dc-partner-connections, .dc-business-partners) :is(button,.action-link):hover { background: var(--accent); }
:is(.dc-partner-connections, .dc-business-partners) :is(button,input,select,textarea):disabled { opacity: .55; cursor: default; }
:is(.dc-partner-connections, .dc-business-partners) :is(button,input,select,textarea,a):focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
:is(.dc-partner-connections, .dc-business-partners) .primary { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }
:is(.dc-partner-connections, .dc-business-partners) .primary:hover { background: var(--primary); opacity: .9; }
:is(.dc-partner-connections, .dc-business-partners) textarea { min-height: 6rem; resize: vertical; }
:is(.dc-partner-connections, .dc-business-partners) .error { color: var(--destructive); }
.dc-partner-connections .connection-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap: 1rem; }
.dc-partner-connections article { display: grid; gap: .5rem; }
.dc-partner-connections article span { color: var(--muted-foreground); font-size: .875rem; }
.dc-partner-connections :is(.systems,.form-grid) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.25rem; margin: 1rem 0; }
.dc-partner-connections .system-card { display: grid; align-content: start; gap: .6rem; background: var(--card); }
.dc-partner-connections fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.dc-partner-connections .check { display: flex; align-items: start; gap: .65rem; margin: .85rem 0; }
.dc-partner-connections .check input { margin-top: .15rem; }
.dc-partner-connections :is(.success,.notice) { border-left: 3px solid var(--primary); padding-left: .8rem; }
.dc-partner-connections .mapping { border-top: 1px solid var(--border); margin: 1rem 0; padding-top: 1rem; }
.dc-partner-connections summary { cursor: pointer; font-weight: 600; }
.dc-partner-connections .controls { margin-top: 1.25rem; }
.dc-business-partners > label { max-width: 22rem; }
.dc-business-partners .scroll { overflow-x: auto; max-width: 100%; min-width: 0; }
.dc-business-partners table { width: 100%; min-width: 40rem; border-collapse: collapse; font-size: .875rem; }
.dc-business-partners :is(th,td) { padding: .75rem; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
.dc-business-partners caption { text-align: left; padding: .75rem 0; font-weight: 600; }
.dc-business-partners .candidates label { flex: 1 1 18rem; min-width: 0; }
.dc-business-partners .connection { overflow-wrap: anywhere; }
.dc-business-partners pre { overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .8rem; }
.dc-business-partners .empty-state { background: var(--card); padding: 2rem; }
.dc-business-partners .empty-state p { color: var(--muted-foreground); }
@media (max-width: 900px) {
    .dc-partner-connections :is(.systems,.form-grid) { grid-template-columns: minmax(0,1fr); }
    :is(.dc-partner-connections, .dc-business-partners) :is(.editor,.system-card,.controls,.review) { padding: 1rem; }
}
