.settlement-shell .sidebar {
  gap: 10px;
}

.settlement-shell select {
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  border: 1px solid rgba(142, 155, 148, 0.22);
  border-radius: var(--radius);
  color: var(--text);
  background: rgba(255, 255, 255, 0.045);
  outline: none;
}

.settlement-shell select:focus-visible,
.settlement-shell input:focus-visible {
  border-color: rgba(0, 255, 136, 0.6);
  box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.08);
}

.settlement-main-link {
  text-decoration: none;
}

.settlement-wallet-export-link {
  width: 100%;
  text-decoration: none;
}

.wallet-export-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  place-items: center;
  padding: 18px;
  background: rgba(3, 8, 12, 0.72);
  backdrop-filter: blur(12px);
}

.wallet-export-dialog-backdrop.open {
  display: grid;
}

.wallet-export-dialog {
  width: min(560px, 100%);
  border: 1px solid rgba(0, 255, 136, 0.22);
  border-radius: var(--radius);
  background: rgba(9, 15, 20, 0.96);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.44);
}

.wallet-export-dialog .panel-head {
  padding: 18px 18px 12px;
}

.wallet-export-warning {
  display: grid;
  gap: 8px;
  margin: 0 18px;
  padding: 14px;
  border: 1px solid rgba(255, 201, 71, 0.22);
  border-radius: var(--radius);
  background: rgba(255, 201, 71, 0.07);
}

.wallet-export-warning strong {
  color: var(--amber);
}

.wallet-export-warning p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.wallet-export-dialog-actions {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 10px;
  padding: 18px;
}

.privy-auth-field {
  display: none;
}

.settlement-shell.privy-mode .privy-auth-field {
  display: grid;
}

.auth-status,
.wallet-status,
.chain-auth-status {
  margin: 0;
  color: var(--green);
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.auth-status.error,
.wallet-status.error,
.chain-auth-status.error {
  color: var(--red);
}

.wallet-status.warn,
.chain-auth-status.warn {
  color: var(--amber);
}

.settlement-shell button:disabled {
  cursor: progress;
  opacity: 0.58;
}

.settlement-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.settlement-metrics .metric-card strong {
  max-width: 100%;
  overflow: hidden;
  font-size: 22px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settlement-workspace {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.78fr);
}

.settlement-flow-strip {
  grid-template-columns: 1fr;
}

.user-flow-panel {
  overflow: hidden;
}

.user-flow-map {
  position: relative;
  min-height: 340px;
  margin: 0 18px 12px;
  overflow: hidden;
  border: 1px solid rgba(142, 155, 148, 0.14);
  border-radius: var(--radius);
  background:
    linear-gradient(90deg, rgba(0, 229, 255, 0.07), rgba(255, 255, 255, 0.018) 42%, rgba(0, 255, 136, 0.06)),
    rgba(255, 255, 255, 0.022);
}

.user-flow-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.user-flow-path {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 12 12;
  opacity: 0.68;
  animation: userFlowDash 1.8s linear infinite;
}

.user-flow-path.wallet {
  stroke: var(--cyan);
}

.user-flow-path.supplier {
  stroke: var(--green);
}

.user-flow-path.platform {
  stroke: var(--amber);
}

.user-flow-path.risk {
  stroke: var(--red);
}

.user-flow-particle {
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.2));
}

.user-flow-particle.wallet {
  fill: var(--cyan);
}

.user-flow-particle.supplier {
  fill: var(--green);
}

.user-flow-particle.platform {
  fill: var(--amber);
}

.user-flow-particle.risk {
  fill: var(--red);
}

.user-flow-node {
  position: absolute;
  z-index: 1;
  width: clamp(138px, 15vw, 188px);
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(142, 155, 148, 0.18);
  border-radius: var(--radius);
  background: rgba(9, 15, 20, 0.9);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.user-flow-node.wallet {
  left: 4%;
  top: 37%;
}

.user-flow-node.guard {
  left: 40%;
  top: 37%;
}

.user-flow-node.supplier {
  right: 4%;
  top: 8%;
}

.user-flow-node.platform {
  right: 4%;
  top: 37%;
}

.user-flow-node.risk {
  right: 4%;
  bottom: 8%;
}

.user-flow-node span,
.user-flow-node small,
.user-flow-pulse span,
.user-flow-pulse small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.user-flow-node strong {
  display: block;
  margin: 7px 0 5px;
  overflow: hidden;
  color: var(--text);
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(13px, 1.2vw, 16px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-flow-pulses {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 18px 18px;
}

.user-flow-pulse {
  min-width: 0;
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid rgba(142, 155, 148, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.025);
}

.user-flow-pulse strong {
  display: block;
  margin: 5px 0 3px;
  overflow: hidden;
  color: var(--text);
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.privy-config-strip {
  grid-template-columns: 1fr;
}

.mvp-readiness-strip {
  grid-template-columns: 1fr;
}

.privy-config-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.mvp-readiness-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 18px 10px;
}

.mvp-step {
  min-width: 0;
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(255, 184, 0, 0.24);
  border-radius: var(--radius);
  background: rgba(255, 184, 0, 0.055);
}

.mvp-step.done {
  border-color: rgba(0, 255, 136, 0.22);
  background: rgba(0, 255, 136, 0.045);
}

.mvp-step span,
.mvp-step small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.mvp-step strong {
  display: block;
  margin: 8px 0;
  overflow: hidden;
  color: var(--text);
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mvp-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 18px 18px;
}

.mvp-action-row .action-button {
  width: auto;
  min-width: 180px;
  text-decoration: none;
}

.settlement-lower {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.settlement-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.settlement-field,
.reserve-item {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(142, 155, 148, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.025);
}

.settlement-field span,
.reserve-item span {
  display: block;
  color: var(--muted);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settlement-field strong,
.reserve-item strong {
  display: block;
  margin-top: 8px;
  overflow: hidden;
  color: var(--text);
  font-family: "JetBrains Mono", monospace;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settlement-field code,
.reserve-item code {
  display: block;
  margin-top: 8px;
  overflow-wrap: anywhere;
  color: var(--cyan);
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
}

.reserve-list {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.reserve-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.reserve-role {
  min-width: 0;
}

.reserve-amount {
  color: var(--green);
  font-family: "JetBrains Mono", monospace;
  font-size: 15px;
  white-space: nowrap;
}

.log-panel {
  min-height: 360px;
}

.log-list {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
  padding: 18px;
}

.log-entry {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid rgba(142, 155, 148, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.025);
}

.log-entry.error {
  border-color: rgba(255, 92, 69, 0.28);
  background: rgba(255, 92, 69, 0.055);
}

.log-entry strong {
  color: var(--text);
  font-size: 13px;
}

.log-entry span {
  color: var(--muted);
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
}

.status-pill.pending,
.status-pill.pending_authorization,
.status-pill.simulated_pending_chain_tx,
.status-pill.simulated_pending_collection,
.status-pill.needs_attention {
  color: var(--amber);
  background: rgba(255, 184, 0, 0.08);
  border-color: rgba(255, 184, 0, 0.24);
}

.status-pill.active,
.status-pill.simulated_active,
.status-pill.confirmed,
.status-pill.covered,
.status-pill.configured,
.status-pill.verified,
.status-pill.simulated_verified,
.status-pill.privy_session_verified,
.status-pill.privy_session_claimed,
.status-pill.chain_settled,
.status-pill.deposit_settled,
.status-pill.ready {
  color: var(--green);
  background: rgba(0, 255, 136, 0.08);
  border-color: rgba(0, 255, 136, 0.24);
}

.status-pill.revoked,
.status-pill.expired,
.status-pill.rejected,
.status-pill.undercovered,
.status-pill.missing_wallet,
.status-pill.not_configured {
  color: var(--red);
  background: rgba(255, 92, 69, 0.08);
  border-color: rgba(255, 92, 69, 0.24);
}

@media (max-width: 1160px) {
  .settlement-metrics,
  .settlement-workspace,
  .settlement-lower,
  .user-flow-pulses {
    grid-template-columns: 1fr;
  }

  .privy-config-grid,
  .mvp-readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .privy-config-grid,
  .mvp-readiness-grid,
  .settlement-detail-grid {
    grid-template-columns: 1fr;
  }

  .reserve-item {
    grid-template-columns: 1fr;
  }

  .user-flow-map {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-height: 0;
    padding: 12px;
  }

  .user-flow-lines {
    display: none;
  }

  .user-flow-node {
    position: static;
    width: 100%;
    min-height: 74px;
  }

  .wallet-export-dialog-actions {
    grid-template-columns: 1fr;
  }
}

@keyframes userFlowDash {
  to {
    stroke-dashoffset: -24;
  }
}
