.sv-trend, .sv-wallet { margin: 0; color: var(--ink, #153743); }
.sv-trend *, .sv-wallet *, .sv-network * { box-sizing: border-box; }
.sv-trend button, .sv-network button { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.sv-trend button:focus-visible, .sv-network button:focus-visible, .sv-data-details summary:focus-visible { outline: 3px solid var(--accent, #214d5d); outline-offset: 4px; }
.sv-segment { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 3px; max-width: 100%; padding: 4px; border-radius: 14px; background: #edf2f2; }
.sv-segment button { min-width: 44px; min-height: 44px; padding: 8px 14px; border: 0; border-radius: 10px; background: transparent; color: #4a6068; font-size: .875rem; font-weight: 600; white-space: nowrap; }
.sv-segment button[aria-pressed="true"] { background: white; color: var(--ink, #153743); box-shadow: 0 1px 3px #15374312; }
.sv-segment button:active { transform: scale(.98); }
.sv-trend-caption { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 25px 0 18px; }
.sv-trend-selection { display: grid; gap: 5px; }
.sv-chart-label, .sv-chart-period { color: var(--muted, #60727a); font-size: .8125rem; line-height: 1.4; }
.sv-chart-value { font-size: 1.9rem; font-weight: 600; letter-spacing: -.045em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.sv-chart-value > span { font-size: .9375rem; font-weight: 400; letter-spacing: 0; }
.sv-chart-period { padding-bottom: 4px; white-space: nowrap; }
.sv-chart-scroll { overflow-x: auto; padding: 16px 5px 0; margin: 0 -5px; scrollbar-width: thin; }
.sv-chart { position: relative; min-width: 308px; }
.sv-chart-guides { position: absolute; inset: 0 0 36px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.sv-chart-guides span { position: relative; height: 1px; border-top: 1px dashed var(--line, #dce5e4); font-size: .6875rem; line-height: 1; color: var(--muted, #60727a); text-align: right; }
.sv-chart-guides i { position: absolute; right: 0; top: -16px; font-style: normal; }
.sv-chart-guides span:last-child i { top: 4px; }
.sv-chart-guides span:last-child { border-top-style: solid; }
.sv-chart-days { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); position: relative; z-index: 1; }
.sv-chart-day { display: grid; grid-template-rows: var(--sv-chart-height) 36px; justify-items: center; min-width: 44px; min-height: 44px; width: 100%; padding: 0; border: 0; border-radius: 10px; color: var(--muted, #60727a); background: transparent; }
.sv-chart-day:hover { background: #15374305; }
.sv-chart-column { display: block; width: min(100%, 72px); height: 100%; padding: 0 4px; }
.sv-chart-column svg { display: block; width: 100%; height: 100%; overflow: visible; }
.sv-chart-bar { fill: var(--blue, #bddde9); stroke: #7299aa; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.sv-chart-day[aria-pressed="true"] .sv-chart-bar { fill: var(--accent, #214d5d); stroke: var(--accent, #214d5d); }
.sv-chart-zero { stroke: #8ea7b0; stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.sv-chart-day[aria-pressed="true"] .sv-chart-zero { stroke: var(--accent, #214d5d); }
.sv-chart-date { display: grid; place-items: center; align-self: center; min-width: 27px; min-height: 27px; border-radius: 8px; font-size: .75rem; font-variant-numeric: tabular-nums; }
.sv-chart-day[aria-pressed="true"] .sv-chart-date { color: white; background: var(--accent, #214d5d); font-weight: 600; }
.sv-chart-foot { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; color: var(--muted, #60727a); font-size: .75rem; line-height: 1.5; }
.sv-chart-foot > :last-child { white-space: nowrap; }
.sv-trend-compact .sv-trend-caption { margin: 0 0 16px; }
.sv-trend-compact .sv-chart-value { font-size: 1.6rem; }
.sv-trend-compact .sv-data-details { margin-top: 2px; }
.sv-dark { --ink: #f4fafb; --muted: #b9cdd5; --line: #446370; --accent: #c0e2ef; color: #f4fafb; }
.sv-dark .sv-chart-bar { fill: #7ba1b1; stroke: #7ba1b1; }
.sv-dark .sv-chart-day[aria-pressed="true"] .sv-chart-bar { fill: #c0e2ef; stroke: #c0e2ef; }
.sv-dark .sv-chart-day[aria-pressed="true"] .sv-chart-date { color: #153743; background: #c0e2ef; }
.sv-dark .sv-chart-day:hover { background: #ffffff08; }
.sv-dark .sv-chart-zero { stroke: #7295a4; }
.sv-dark .sv-chart-day[aria-pressed="true"] .sv-chart-zero { stroke: #c0e2ef; }
.sv-dark .sv-segment { background: #365664; }
.sv-dark .sv-segment button { color: #cfdee4; }
.sv-dark .sv-segment button[aria-pressed="true"] { background: #c0e2ef; color: #153743; }
.sv-data-details { margin-top: 14px; color: var(--muted, #60727a); font-size: .8125rem; }
.sv-data-details summary { width: fit-content; min-height: 44px; padding: 13px 0; cursor: pointer; text-underline-offset: 3px; }
.sv-data-details summary:hover { color: var(--ink, #153743); }
.sv-data-scroll { max-width: 100%; overflow-x: auto; }
.sv-data-details table { border-collapse: collapse; width: 100%; color: var(--ink, #153743); font-variant-numeric: tabular-nums; }
.sv-data-details caption { padding: 12px 0; text-align: left; font-weight: 600; }
.sv-data-details th, .sv-data-details td { padding: 11px 0; text-align: left; border-bottom: 1px solid var(--line, #dce5e4); }
.sv-data-details th:last-child, .sv-data-details td:last-child { text-align: right; }
.sv-data-details tbody th { font-weight: 400; }
.sv-wallet-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: .9375rem; }
.sv-wallet-caption > :last-child { font-size: 1.1875rem; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.sv-wallet small { font-size: .75rem; font-weight: 400; letter-spacing: 0; color: var(--muted, #60727a); }
.sv-wallet-bar { display: flex; height: 20px; width: 100%; overflow: hidden; margin: 20px 0 22px; border-radius: 7px; background: #edf2f2; }
.sv-wallet-part { display: block; min-width: 0; flex-shrink: 0; }
.sv-wallet-part + .sv-wallet-part { box-shadow: inset 2px 0 0 white; }
.sv-wallet-available { background: var(--accent, #214d5d); }
.sv-wallet-float { background: var(--blue, #bddde9); }
.sv-wallet-reserve { background: #96b3a8; }
.sv-wallet-held { background: var(--peach, #f7bd98); }
.sv-wallet-key { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 14px; margin: 0; }
.sv-wallet-item { min-width: 0; }
.sv-wallet-item dt { display: flex; align-items: center; gap: 7px; font-size: .8125rem; line-height: 1.45; }
.sv-key-dot { display: inline-block; flex: 0 0 8px; height: 8px; border-radius: 3px; }
.sv-wallet-item dd { margin: 9px 0 0 15px; font-size: 1.125rem; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; }
.sv-wallet-item dd > span { display: block; padding-top: 6px; color: var(--muted, #60727a); font-size: .75rem; line-height: 1.4; font-weight: 400; }
.sv-network { container: sv-network / inline-size; color: var(--ink, #153743); }
.sv-network-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sv-network-period { color: var(--muted, #60727a); font-size: .8125rem; white-space: nowrap; }
.sv-network-headings { display: grid; grid-template-columns: 1fr 1fr; justify-content: space-between; gap: 20px; margin-top: 34px; color: var(--muted, #60727a); font-size: .8125rem; }
.sv-network-headings span:last-child { text-align: right; }
.sv-network-map { position: relative; display: grid; grid-template-columns: 28.5% 1fr 28.5%; align-items: center; min-height: 372px; }
.sv-network-lines { display: block; width: 100%; height: 372px; position: absolute; inset: 0; pointer-events: none; }
.sv-network-link { fill: none; stroke-width: 1.75; vector-effect: non-scaling-stroke; }
.sv-network-link-customers { stroke: #719aab; }
.sv-network-link-suppliers { stroke: #718b7e; stroke-dasharray: 4 5; }
.sv-network-link.is-selected { stroke: var(--accent, #214d5d); stroke-width: 3; }
.sv-network-end-customers { fill: #86b4c5; }
.sv-network-end-suppliers { fill: #719582; }
.sv-party-group { position: relative; z-index: 1; min-width: 0; }
.sv-party-group[hidden] { display: none; }
.sv-party-group-customers { grid-column: 1; }
.sv-party-group-suppliers { grid-column: 3; }
.sv-group-heading { display: none; }
.sv-party-group ul { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.sv-party { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 72px; padding: 12px; border: 1px solid var(--line, #dce5e4); border-radius: 17px; color: var(--ink, #153743); background: white; text-align: left; }
.sv-party:hover { border-color: #809ba6; }
.sv-party:active { transform: scale(.985); }
.sv-party.is-selected { border-color: var(--accent, #214d5d); box-shadow: 0 0 0 1px var(--accent, #214d5d); background: #f2f8fa; }
.sv-party-avatar { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 38px; border-radius: 11px; font-size: .75rem; font-weight: 600; letter-spacing: -.025em; }
.sv-avatar-customers { color: #305262; background: #e2eff4; }
.sv-avatar-suppliers { color: #36574b; background: #e7eeea; }
.sv-party-copy { display: grid; gap: 4px; min-width: 0; }
.sv-party-copy strong { font-size: .8125rem; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.sv-party-copy > span { color: var(--muted, #60727a); font-size: .6875rem; line-height: 1.3; overflow-wrap: anywhere; }
.sv-party-chevron { display: none; flex: 0 0 16px; width: 16px; height: 16px; margin-left: auto; fill: none; stroke: currentColor; stroke-width: 1.5; }
.sv-network-home { position: relative; z-index: 1; display: grid; grid-column: 2; grid-row: 1; align-content: center; justify-items: center; gap: 9px; justify-self: center; width: 7.875rem; height: 7.875rem; padding: 16px 8px; border: 1px solid #c5dce4; border-radius: 50%; background: #e7f1f5; color: var(--accent, #214d5d); font-size: .8125rem !important; font-weight: 600 !important; }
.sv-network-home.is-selected { box-shadow: 0 0 0 5px #f2f7f8, 0 0 0 6px #dce9ed; }
.sv-network-home:hover { border-color: #6e93a2; }
.sv-network-home:active { transform: scale(.98); }
.sv-network-home img { width: 2.3rem; height: 2.6rem; object-fit: contain; }
.sv-network-key { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 18px; color: var(--muted, #60727a); font-size: .75rem; line-height: 1.5; }
.sv-network-key > span { display: inline-flex; align-items: center; gap: 7px; }
.sv-link-key { display: inline-block; width: 20px; border-top: 2px solid #7aa8bb; }
.sv-link-key-suppliers { border-top: 2px dashed #719582; }
.sv-network-key > .sv-network-hint { margin-left: auto; }
@container sv-network (max-width: 41.875rem) {
  .sv-network-tools { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
  .sv-network-period { align-self: center; }
  .sv-network-headings, .sv-network-lines, .sv-network-key { display: none; }
  .sv-network-map { grid-template-columns: 1fr 1fr; align-items: start; column-gap: 20px; row-gap: 22px; min-height: auto; margin-top: 26px; }
  .sv-network-home { grid-column: 1 / -1; grid-row: 1; width: 6.625rem; height: 6.625rem; gap: 5px; }
  .sv-party-group-customers { grid-column: 1; grid-row: 2; }
  .sv-party-group-suppliers { grid-column: 2; grid-row: 2; }
  .sv-group-heading { display: block; margin: 0 0 12px; color: var(--muted, #60727a); font-size: .8125rem; font-weight: 400; line-height: 1.5; }
  .sv-party-group ul { gap: 9px; }
  .sv-party { padding: 10px; gap: 8px; }
  .sv-party-avatar { flex-basis: 29px; width: 29px; height: 34px; }
}
@container sv-network (max-width: 26.25rem) {
  .sv-network-map { grid-template-columns: 1fr; gap: 25px; margin-top: 24px; }
  .sv-network-home { grid-column: 1; grid-row: 1; }
  .sv-party-group-customers { grid-column: 1; grid-row: 2; }
  .sv-party-group-suppliers { grid-column: 1; grid-row: 3; }
  .sv-party-chevron { display: block; }
  .sv-party-copy strong { font-size: .875rem; }
  .sv-party-copy > span { font-size: .75rem; }
  .sv-party-avatar { flex-basis: 36px; width: 36px; height: 38px; }
  .sv-party { padding: 12px; min-height: 68px; }
  .sv-network-period { font-size: .75rem; }
}
@media (max-width: 540px) {
  .sv-wallet-key { grid-template-columns: 1fr; gap: 16px; }
  .sv-wallet-item { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .sv-wallet-item dd { margin: 0; font-size: 1rem; text-align: right; }
  .sv-wallet-item dd > span { display: none; }
  .sv-trend-caption { margin-top: 22px; }
  .sv-segment button { padding-inline: 11px; font-size: .8125rem; }
  .sv-chart-foot { flex-wrap: wrap; gap: 4px 12px; }
  .sv-chart-value { font-size: 1.7rem; }
}
@media (max-width: 700px) {
  .sv-network-home { display: none; }
  .sv-party-group-customers, .sv-party-group-suppliers { grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .sv-trend button:active, .sv-network button:active { transform: none; }
}
@media (prefers-contrast: more) {
  .sv-chart-bar { fill: #7198a8; }
  .sv-party { border-color: #60727a; }
  .sv-chart-guides span { border-color: #81969e; }
}
