/* ===== Positions (#view-history with a wallet) — Recursive Ledger ===== */
#view-history#view-history { --pad: 20px; }
#view-history#view-history .pos-sum { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 20px; border: 1px solid var(--rx-line); border-radius: 16px; background: var(--rx-ink-1); box-shadow: var(--rx-hi); overflow: hidden; }
#view-history#view-history .pos-sum[hidden] { display: none; }
#view-history#view-history .pos-sum-i { display: flex; flex-direction: column-reverse; gap: 6px; padding: 14px 18px; border-left: 1px solid var(--rx-line); }
#view-history#view-history .pos-sum-i:first-child { border-left: 0; }
#view-history#view-history .pos-sum-i b { font: 500 22px/1 var(--rx-mono); color: var(--rx-bone); }
#view-history#view-history .pos-sum-i span { font: 500 12px/1 var(--rx-sans); color: var(--rx-bone-3); }
#view-history#view-history .pos-sum-i.is-sig b { color: var(--rx-sig); }
#view-history#view-history .history-list { display: grid; gap: 12px; }
#view-history#view-history .nb-loan-kicker { margin: 12px 0 0; font: 600 18px/1.2 var(--rx-sans); letter-spacing: -0.015em; text-transform: none; color: var(--rx-bone); }
#view-history#view-history .nb-loan-kicker:first-child { margin-top: 0; }

/* Card */
#view-history#view-history .hist-card { display: grid; gap: 16px; margin: 0; padding: var(--pad); border: 1px solid var(--rx-line); border-radius: 16px; background: var(--rx-ink-1); box-shadow: var(--rx-hi); position: relative; overflow: hidden; }
#view-history#view-history .hist-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: transparent; }
#view-history#view-history .hist-card:has(.hist-status.claim)::before, #view-history#view-history .hist-card:has(.hist-status.fund)::before, #view-history#view-history .hist-card:has(.hist-status.matched)::before { background: var(--rx-sig); }
#view-history#view-history .hist-card:has(.hist-status.refund)::before { background: var(--rx-warn); }
#view-history#view-history .hist-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0; padding: 0; border: 0; }
#view-history#view-history .hist-top > div:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
#view-history#view-history .hist-dir { display: flex; align-items: center; gap: 10px; font: 600 15px/1.25 var(--rx-sans); color: var(--rx-bone); margin: 0; }
#view-history#view-history .swap-pair-logos { display: inline-flex; align-items: center; }
#view-history#view-history .swap-pair-logos .chain-logo { width: 26px !important; height: 26px !important; border-radius: 50%; box-shadow: 0 0 0 2px var(--rx-ink-1); }
#view-history#view-history .swap-pair-logos .chain-logo + .swap-pair-arrow + .chain-logo { margin-left: -7px; }
#view-history#view-history .swap-pair-arrow { display: none; }
#view-history#view-history .hist-card:not(.nb-loan-card) .hist-dir::after { content: attr(data-pair); }
#view-history#view-history .pos-tags { display: flex; gap: 6px; margin: 0; }
#view-history#view-history .pos-tag, #view-history#view-history .nb-role { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 12px/1 var(--rx-sans); text-transform: none; letter-spacing: 0; color: var(--rx-bone-2); background: rgba(244,241,234,.04); border: 1px solid var(--rx-line); }
#view-history#view-history .pos-tag--maker, #view-history#view-history .nb-role--borrow { color: #b4a3ff; background: var(--rx-vio-wash); border-color: rgba(139,108,255,.26); }
#view-history#view-history .nb-role:not(.nb-role--borrow) { color: var(--rx-sig); background: var(--rx-sig-wash); border-color: rgba(255,138,31,.24); }
#view-history#view-history .hist-card:not(.nb-loan-card) .hist-amounts, #view-history#view-history .hist-card:not(.nb-loan-card) .deal-terms, #view-history#view-history .nb-loan-card .hist-amounts { display: none; }
#view-history#view-history .hist-status { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 11px; border-radius: 999px; font: 500 12px/1 var(--rx-sans); text-transform: none; letter-spacing: 0; color: var(--rx-bone-2); background: rgba(244,241,234,.05); border: 1px solid var(--rx-line-2); }
#view-history#view-history .hist-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
#view-history#view-history .hist-status.claim, #view-history#view-history .hist-status.fund, #view-history#view-history .hist-status.matched { color: var(--rx-sig); background: var(--rx-sig-wash); border-color: rgba(255,138,31,.3); }
#view-history#view-history .hist-status.confirming { color: #b4a3ff; background: var(--rx-vio-wash); border-color: rgba(139,108,255,.3); }
#view-history#view-history .hist-status.done { color: var(--rx-ok); background: var(--rx-ok-wash); border-color: rgba(61,220,151,.22); }
#view-history#view-history .hist-status.refund { color: var(--rx-warn); background: var(--rx-warn-wash); border-color: rgba(245,196,81,.26); }
#view-history#view-history .hist-status.refunded, #view-history#view-history .hist-status.cancelled, #view-history#view-history .hist-status.expired { color: var(--rx-bone-3); }
#view-history#view-history .hist-status.error { color: var(--rx-bad); background: var(--rx-bad-wash); border-color: rgba(255,107,107,.26); }

/* Progress rail (bridges) and loan stepper share one look */
#view-history#view-history .pos-rail { display: flex; align-items: center; gap: 16px; }
#view-history#view-history .pos-rail ol, #view-history#view-history .nb-loan-state ol { flex: 1; display: flex; margin: 0; padding: 0; list-style: none; counter-reset: none; }
#view-history#view-history .pos-rail li, #view-history#view-history .nb-loan-state li { flex: 1; position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; padding: 0 12px 0 0; font: 500 12px/1.2 var(--rx-sans); color: var(--rx-bone-3); }
#view-history#view-history .pos-rail li i, #view-history#view-history .nb-loan-state li::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--rx-line-3); background: var(--rx-ink-1); box-sizing: border-box; }
#view-history#view-history .pos-rail li span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-history#view-history .pos-rail li::after, #view-history#view-history .nb-loan-state li::after { content: ""; flex: 1; height: 1px; min-width: 12px; background: var(--rx-line-2); }
#view-history#view-history .pos-rail li:last-child, #view-history#view-history .nb-loan-state li:last-child { flex: none; padding-right: 0; }
#view-history#view-history .pos-rail li:last-child::after, #view-history#view-history .nb-loan-state li:last-child::after { display: none; }
#view-history#view-history .pos-rail li.is-done, #view-history#view-history .nb-loan-state li.is-done { color: var(--rx-bone-2); }
#view-history#view-history .pos-rail li.is-done i, #view-history#view-history .nb-loan-state li.is-done::before { background: var(--rx-ok); border-color: var(--rx-ok); }
#view-history#view-history .pos-rail li.is-done::after, #view-history#view-history .nb-loan-state li.is-done::after { background: rgba(61,220,151,.45); }
#view-history#view-history .pos-rail li.is-now, #view-history#view-history .nb-loan-state li.is-now { color: var(--rx-bone); }
#view-history#view-history .pos-rail li.is-now i, #view-history#view-history .nb-loan-state li.is-now::before { border-color: var(--rx-sig); background: var(--rx-sig); box-shadow: 0 0 0 4px var(--rx-sig-wash); }
#view-history#view-history .pos-rail li.is-warn.is-now i { border-color: var(--rx-warn); background: var(--rx-warn); box-shadow: 0 0 0 4px var(--rx-warn-wash); }
#view-history#view-history .pos-rail li.is-warn.is-done i { background: var(--rx-warn); border-color: var(--rx-warn); }
#view-history#view-history .pos-lock { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--rx-line); background: var(--rx-ink); font: 400 12px/1 var(--rx-mono); color: var(--rx-bone-2); }
#view-history#view-history .pos-lock::before { content: ""; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23F4F1EA' stroke-opacity='.6' stroke-width='1.5'%3E%3Crect x='3' y='7' width='10' height='7' rx='2'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E") center/contain no-repeat; }
#view-history#view-history .nb-loan-state { display: flex; align-items: center; margin: 0; padding: 0; border: 0; background: none; }
#view-history#view-history .lend-ring-visual { display: none; }

/* Timer + notes */
#view-history#view-history .timeout-bar { justify-self: start; display: inline-flex; align-items: center; gap: 8px; height: 30px; margin: 0; padding: 0 12px; border-radius: 8px; border: 1px solid var(--rx-line); background: var(--rx-ink); font: 400 13px/1 var(--rx-sans); color: var(--rx-bone-2); }
#view-history#view-history .timeout-bar strong { font: 500 13px/1 var(--rx-mono); color: var(--rx-bone); }
#view-history#view-history .timeout-icon { display: none; }
#view-history#view-history .timeout-bar::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rx-sig); }
#view-history#view-history .modal-note { margin: 0 !important; padding: 10px 12px !important; border-radius: 10px !important; font: 400 13px/1.45 var(--rx-sans); background: var(--rx-warn-wash) !important; border: 1px solid rgba(245,196,81,.26) !important; color: var(--rx-warn) !important; }
#view-history#view-history .hist-error-note { background: var(--rx-bad-wash) !important; border-color: rgba(255,107,107,.26) !important; color: var(--rx-bad) !important; }
#view-history#view-history .nb-pos-next { margin: 0; font: 400 14px/1.5 var(--rx-sans); color: var(--rx-bone-2); }
#view-history#view-history .nb-pos-next:empty { display: none; }

/* Legs */
#view-history#view-history .nb-pos-legs { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid var(--rx-line); border-radius: 12px; background: var(--rx-ink); overflow: hidden; }
#view-history#view-history .nb-pos-legs > div { display: grid; align-content: start; gap: 4px; padding: 14px 16px; border-left: 1px solid var(--rx-line); }
#view-history#view-history .nb-pos-legs > div:first-child { border-left: 0; }
#view-history#view-history .nb-pos-legs span { font: 500 12px/1.2 var(--rx-sans); color: var(--rx-bone-3); text-transform: none; letter-spacing: 0; }
#view-history#view-history .nb-pos-legs b { font: 500 18px/1.25 var(--rx-mono); color: var(--rx-bone); letter-spacing: -0.01em; }
#view-history#view-history .nb-pos-legs small { font: 400 12px/1.4 var(--rx-sans); color: var(--rx-bone-3); }
#view-history#view-history .nb-pos-legs a { justify-self: start; margin-top: 2px; font: 400 12px/1.4 var(--rx-mono); color: var(--rx-bone-2); text-decoration: underline; text-decoration-color: var(--rx-line-3); text-underline-offset: 3px; }
#view-history#view-history .nb-pos-legs a:hover { color: var(--rx-bone); text-decoration-color: currentColor; }

/* Loan facts */
#view-history#view-history .nb-loan-facts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; margin: 0; border: 1px solid var(--rx-line); border-radius: 12px; background: var(--rx-ink); overflow: hidden; }
#view-history#view-history .nb-loan-facts > div { display: grid; align-content: start; gap: 6px; padding: 12px 14px; border-left: 1px solid var(--rx-line); border-top: 1px solid var(--rx-line); margin-top: -1px; }
#view-history#view-history .nb-loan-facts > div:nth-child(4n+1) { border-left: 0; }
#view-history#view-history .nb-loan-facts span { font: 500 12px/1 var(--rx-sans); color: var(--rx-bone-3); text-transform: none; letter-spacing: 0; }
#view-history#view-history .nb-loan-facts > div > b { font: 500 14px/1.3 var(--rx-sans); color: var(--rx-bone); }
#view-history#view-history .nb-loan-facts .lend-num { display: inline-flex; gap: 5px; align-items: baseline; }
#view-history#view-history .nb-loan-facts .lend-num b { font: 500 15px/1.2 var(--rx-mono); color: var(--rx-bone); }
#view-history#view-history .nb-loan-facts .lend-num small { font: 500 11px/1 var(--rx-sans); color: var(--rx-bone-3); }
#view-history#view-history .lend-ltv { display: flex; align-items: center; gap: 8px; }
#view-history#view-history .lend-ltv-bar { flex: 1; height: 4px; border-radius: 999px; background: rgba(244,241,234,.08); overflow: hidden; }
#view-history#view-history .lend-ltv-bar i { display: block; height: 100%; border-radius: inherit; background: var(--tone); }
#view-history#view-history .lend-ltv b { font: 500 12px/1 var(--rx-mono); color: var(--tone); }
#view-history#view-history .lend-ltv.is-ok { --tone: var(--rx-ok); } #view-history#view-history .lend-ltv.is-warn { --tone: var(--rx-warn); } #view-history#view-history .lend-ltv.is-bad { --tone: var(--rx-bad); }
#view-history#view-history .nb-loan-addr, #view-history#view-history .nb-loan-key { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--rx-sig-wash); border: 1px solid rgba(255,138,31,.24); font: 400 13px/1.5 var(--rx-sans); color: var(--rx-bone); }
#view-history#view-history .nb-loan-addr code { display: block; margin-top: 4px; font: 400 12px/1.4 var(--rx-mono); color: var(--rx-bone-2); word-break: break-all; background: none; padding: 0; }

/* Actions */
#view-history#view-history .hist-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
#view-history#view-history .hist-actions:empty { display: none; }
#view-history#view-history .hist-action-btn { height: 36px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--rx-line-2); background: rgba(244,241,234,.04); color: var(--rx-bone); font: 500 13px/1 var(--rx-sans); box-shadow: none; transition: border-color .15s var(--rx-ease), background .15s var(--rx-ease), transform .12s var(--rx-ease); }
#view-history#view-history .hist-action-btn:hover { border-color: var(--rx-line-3); background: rgba(244,241,234,.07); }
#view-history#view-history .hist-action-btn:active { transform: scale(.97); }
#view-history#view-history .hist-action-btn:first-child:not(.details):not(.cancel) { background: var(--rx-sig); border-color: transparent; color: var(--rx-sig-ink, #1a0d00); font-weight: 600; box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
#view-history#view-history .hist-action-btn:first-child:not(.details):not(.cancel):hover { background: var(--rx-sig-hi); }
#view-history#view-history .hist-action-btn.refund:first-child { background: var(--rx-warn); color: #1d1500; }
#view-history#view-history .hist-action-btn.details { margin-left: auto; border-color: transparent; background: none; color: var(--rx-bone-3); }
#view-history#view-history .hist-action-btn.details:hover { color: var(--rx-bone); }
#view-history#view-history .hist-action-btn:disabled { opacity: .45; }

/* Closed cards are quieter */
#view-history#view-history .hist-card:has(.hist-status.done), #view-history#view-history .hist-card:has(.hist-status.refunded) { background: transparent; box-shadow: none; }

/* States */
#view-history#view-history .pos-cta { display: flex; justify-content: center; gap: 8px; margin-top: -84px; position: relative; padding-bottom: 44px; }
#view-history#view-history .pos-cta[hidden] { display: none; }
#view-history#view-history .history-body[data-state="disconnected"] .pos-cta { display: none; }
#view-history#view-history .history-body[data-state="empty"] .history-list > .empty-state { padding-bottom: 88px; }
#view-history#view-history .history-body[data-state="loading"] .history-list > .empty-state::before { background-image: none; border: 2px solid var(--rx-line-2); border-top-color: var(--rx-sig); border-radius: 50%; width: 28px; height: 28px; animation: rxspin .9s linear infinite; }
#view-history#view-history .history-body[data-state="loading"] .history-list > .empty-state { border-style: solid; }
#view-history#view-history .history-body[data-state="error"] .history-list > .empty-state::before { background: var(--rx-bad-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 8v5M12 16.5v.01'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center/22px no-repeat; border-color: rgba(255,107,107,.3); }
#view-history#view-history .history-body[data-state="empty"] .history-list > .empty-state::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F1EA' stroke-opacity='.7' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h10M4 17h6'/%3E%3C/svg%3E"); }
@keyframes rxspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #view-history .history-list > .empty-state::before { animation: none !important; } }
#view-history:has(.history-body[data-state="data"]) .nb-positions-lead, #view-history:has(.history-body[data-state="error"]) .nb-positions-lead { display: block !important; }

@media (max-width: 760px) {
  #view-history#view-history { --pad: 16px; }
  #view-history#view-history .pos-sum { grid-template-columns: 1fr 1fr; }
  #view-history#view-history .pos-sum-i:nth-child(3) { border-left: 0; }
  #view-history#view-history .pos-sum-i:nth-child(n+3) { border-top: 1px solid var(--rx-line); }
  #view-history#view-history .pos-rail { flex-direction: column; align-items: stretch; gap: 10px; }
  #view-history#view-history .pos-rail li span, #view-history#view-history .nb-loan-state li { font-size: 11px; }
  #view-history#view-history .pos-rail li { flex-direction: column; align-items: flex-start; gap: 6px; padding: 0; }
  #view-history#view-history .pos-rail li::after { position: absolute; left: 14px; right: 4px; top: 4.5px; }
  #view-history#view-history .pos-rail li:last-child { flex: 1; }
  #view-history#view-history .pos-rail li span { white-space: normal; }
  #view-history#view-history .pos-lock { align-self: flex-start; }
  #view-history#view-history .nb-pos-legs b { font-size: 15px; }
  #view-history#view-history .nb-loan-facts { grid-template-columns: 1fr 1fr; }
  #view-history#view-history .nb-loan-facts > div:nth-child(4n+1) { border-left: 1px solid var(--rx-line); }
  #view-history#view-history .nb-loan-facts > div:nth-child(2n+1) { border-left: 0; }
  #view-history#view-history .pos-cta { flex-direction: column; padding: 0 24px 40px; margin-top: -120px; }
  #view-history#view-history .history-body[data-state="empty"] .history-list > .empty-state { padding-bottom: 130px; }
}
#view-history#view-history .pos-pair { font: 600 15px/1.2 var(--rx-sans); color: var(--rx-bone); }
#view-history#view-history .pos-rail li.is-skip { color: var(--rx-bone-4); text-decoration: line-through; text-decoration-color: var(--rx-line-3); }
#view-history#view-history .pos-rail li.is-skip i { border-style: dashed; }
#view-history#view-history .hist-card:has(.hist-status.refund) .timeout-bar, #view-history#view-history .hist-card:has(.hist-refund-note) .nb-pos-next { display: none; }
#view-history#view-history .hist-card:has(.hist-status.refund) .hist-action-btn:first-child:not(.details):not(.cancel) { background: var(--rx-warn); color: #1d1500; }
#view-history#view-history .nb-loan-facts > div:last-child { grid-column-end: -1; }
#view-history#view-history .hist-dir { flex-wrap: wrap; }
@media (max-width: 760px) { #view-history#view-history .history-header, #view-history#view-history .history-header > div, #view-history#view-history .view-title-featured { text-align: left !important; align-items: flex-start; } }
