
.kw-transfers { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--kw-border, #cbd5e1); border-radius: .75rem; min-width: 0; }
.kw-transfers figcaption { display: grid; gap: .35rem; }
.kw-transfers figcaption strong { font-size: 1.5rem; }
.kw-transfers__notice { padding: .8rem 1rem; background: #edf3fa; color: #233850; border-left: 3px solid #245aaf; }
.kw-transfers__controls { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 1rem; }
.kw-transfers__controls label { display: grid; gap: .4rem; font-weight: 600; min-width: 0; }
.kw-transfers__controls select { width: 100%; min-width: 0; max-width: 100%; border: 1px solid #94a3b8; border-radius: .3rem; padding: .6rem .35rem; background: var(--kw-background, #fff); color: #233850; font: inherit; font-size: .9rem; }
.kw-transfers__toolbar { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin: .75rem 0; }
.kw-transfers__toolbar p { margin: 0; font-size: .9rem; }
.kw-transfers__toolbar button, .kw-transfers__expand { border: 1px solid #94a3b8; border-radius: .3rem; padding: .5rem .8rem; flex-shrink: 0; cursor: pointer; }
.kw-transfers__chart { width: 100%; height: auto; display: block; overflow: visible; }
.kw-transfers__chart text { fill: currentColor; font: 14px Arial, sans-serif; }
.kw-transfers__chart .kw-transfers__year { font-size: 21px; font-weight: 700; }
.kw-transfers__node { cursor: pointer; }
.kw-transfers__node:focus .kw-transfers__hit, .kw-transfers__node[aria-pressed="true"] .kw-transfers__hit { stroke: currentColor; stroke-width: 1.5px; }
.kw-transfers__detail { padding: .6rem 0; font-weight: 600; min-height: 2.5rem; }
.kw-transfers__flows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; list-style: none; padding: 0 !important; margin: .5rem 0 !important; }
.kw-transfers__flows li { margin: 0 !important; min-width: 0; }
.kw-transfers__flows button { width: 100%; text-align: left; display: grid; grid-template-columns: 1fr auto; gap: .35rem .6rem; padding: .75rem; border: 1px solid #cbd5e1; border-radius: .4rem; cursor: pointer; }
.kw-transfers__flows button:hover { background: #edf3fa; color: #233850; }
.kw-transfers__flows strong { white-space: nowrap; }
.kw-transfers__flows small { grid-column: 1 / -1; font-size: .8rem; }
.kw-transfers__bar { grid-column: 1 / -1; height: 5px; background: #e2e8f0; display: block; }
.kw-transfers__bar span { height: 100%; display: block; }
.kw-transfers__expand { margin: .75rem 0; }
.kw-transfers__method { border-top: 1px solid #cbd5e1; margin-top: 1rem; padding-top: 1rem; }
.kw-transfers__method summary { cursor: pointer; font-weight: 600; }
.kw-transfers button:focus-visible, .kw-transfers select:focus-visible { outline: 2px solid #245aaf; outline-offset: 3px; }
@media (max-width: 767px) {
  .kw-transfers { padding: .8rem; }
  .kw-transfers__chart { display: none; }
  .kw-transfers__controls, .kw-transfers__flows { grid-template-columns: minmax(0, 1fr); }
  .kw-transfers__toolbar { align-items: start; flex-direction: column; }
  .kw-transfers__flows button { grid-template-columns: minmax(0, 1fr); }
  .kw-transfers__flows strong, .kw-transfers__flows small, .kw-transfers__bar { grid-column: 1; }
}
