/* External-wallet mode reuses the account-swap layout, without shared financial state. */
.guest-swap-modes { display:flex; gap:1.25rem; margin:0 0 1.25rem; border-bottom:1px solid var(--swap-border,#2b2b2b); }
.guest-swap-modes a { padding:.65rem 0; color:var(--nl-muted,#aaa); text-decoration:none; font-size:.85rem; }
.guest-swap-modes a[aria-current] { color:var(--nl-accent-light,#ff8b64); border-bottom:2px solid currentColor; }
.guest-addresses { display:grid; gap:1.15rem; margin:1.4rem 0; }
.guest-addresses label,.guest-private-link label { display:block; font-size:.85rem; margin-bottom:.5rem; }
.guest-addresses label span { color:var(--swap-accent); }
.guest-addresses p,.guest-private-link p { color:var(--swap-muted); font-size:.74rem; margin:.5rem 0 0; line-height:1.6; }
.guest-swap-page .form-control { background:#181818; color:var(--nl-text,#fff); border-color:var(--swap-border,#333); font-size:.85rem; min-height:46px; }
.guest-swap-page .form-control:focus { border-color:var(--swap-accent); box-shadow:0 0 0 2px #ff8b6420; }
.guest-accept { display:flex; gap:.7rem; align-items:flex-start; font-size:.8rem; line-height:1.6; margin:1.2rem 0; color:var(--nl-text,#eee); }
.guest-accept input { margin-top:.3rem; flex:none; accent-color:var(--swap-accent); }
.guest-copy-row { display:flex; gap:.65rem; align-items:stretch; }
.guest-copy-row input { min-width:0; font-family:monospace; }
.guest-copy-row button { flex:none; white-space:nowrap; }
.guest-deposit-qr { margin:1rem 0; }
.guest-deposit-qr img { display:block; width:224px; height:224px; max-width:100%; background:white; border:8px solid white; border-radius:6px; image-rendering:pixelated; }
.guest-deposit-qr[hidden],.guest-deposit-qr img[hidden] { display:none; }
.guest-private-link { padding:1.2rem; border:1px solid #59402d; border-radius:8px; background:#201a15; margin-bottom:1.2rem; }
.guest-swap-page h2 { font-size:1.2rem; font-weight:600; }
.guest-swap-page .captcha-panel { margin:1.2rem 0; }
.guest-coin-dialog { width:min(440px,calc(100% - 2rem)); max-height:80vh; padding:1.5rem; background:#141414; color:var(--nl-text,#fff); border:1px solid #333; border-radius:12px; }
.guest-coin-dialog::backdrop { background:#000b; }
.guest-coin-dialog .swap-section-heading button { background:none; border:0; color:inherit; font-size:1.6rem; }
#guest-coin-list { display:grid; gap:.55rem; margin-top:1rem; }
.guest-coin-dialog > p { font-size:.78rem; line-height:1.5; color:var(--nl-muted,#aaa); }
#guest-coin-list .swap-coin:disabled { flex-wrap:wrap; opacity:.65; cursor:not-allowed; }
#guest-coin-list .guest-coin-unavailable { flex-basis:100%; white-space:normal; line-height:1.45; font-size:.72rem; text-align:left; }
@media(max-width:575px) { .guest-copy-row { flex-direction:column; }.guest-copy-row button { width:100%; }.guest-private-link { padding:1rem; }.guest-swap-page .swap-summary dd { max-width:62%; } }

/* The external flow has one entry form; account-balance swaps keep their review. */
#guest-swap-app { max-width:660px; }
.guest-swap-page .swap-workspace-body { padding:2rem; }
.guest-amount-row { display:grid; grid-template-columns:minmax(0,1fr) 155px; border:1px solid #373737; border-radius:8px; background:#1c1c1c; overflow:hidden; }
.guest-amount-row:focus-within { border-color:var(--swap-accent); }
.guest-amount-value { padding:.7rem 1rem; min-width:0; }
.guest-amount-value label { display:block; margin:0 0 .15rem; color:#aaa; font-size:.78rem; }
.guest-amount-value label span { font-size:.67rem; color:#888; }
.guest-amount-value input,.guest-amount-value output { display:block; width:100%; min-width:0; margin:0; padding:0; background:none; border:0; outline:0; color:#fafafa; font-size:1.65rem; font-weight:500; line-height:1.4; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.guest-amount-row > .swap-coin { border:0; border-left:1px solid #373737; border-radius:0; background:transparent; padding:1rem .9rem; }
.guest-amount-row .swap-coin small { display:none; }
.guest-amount-row .swap-coin strong { font-size:1.05rem; }
.guest-amount-row .swap-coin .coin-icon { width:24px; height:24px; }
.guest-rate-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 0 .9rem 1rem; margin-left:1rem; border-left:1px solid #373737; font-size:.72rem; color:var(--swap-muted); }
.guest-rate-row span { color:#d0d0d0; }
.guest-rate-row p { margin:.35rem 0 0; }
#guest-reverse { flex:none; width:38px; height:38px; border:1px solid #373737; background:#242424; color:var(--swap-accent); border-radius:7px; }
.guest-limits { align-items:flex-start; gap:1rem; margin-top:.7rem; line-height:1.6; }
.guest-addresses { margin:1.5rem 0 1.1rem; gap:1.3rem; }
.guest-addresses label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.3rem .7rem; }
.guest-addresses label span { font-size:.71rem; color:var(--swap-muted); }
.guest-swap-page .form-control { min-height:50px; background:#1c1c1c; }
.guest-accept { font-size:.75rem; }
.guest-swap-page .captcha-panel { margin:1rem 0 1.3rem; }
.guest-recover-footer { text-align:center; margin:.65rem 0; font-size:.73rem; }
.guest-recover-footer a { color:var(--swap-muted); }
#guest-swap-status { max-width:900px; }
#guest-swap-status .guest-private-link { padding:0; border:0; background:transparent; }
.guest-code-row { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.5rem; text-align:right; }
.guest-code-row label { margin:0 .35rem 0 0; color:var(--swap-muted); font-size:.75rem; }
#guest-private-code { width:16ch; min-width:0; padding:.35rem .5rem; background:#252525; color:#eee; font-family:monospace; border:0; border-radius:6px; font-size:.85rem; }
.guest-icon-button { flex:none; min-width:30px; min-height:30px; padding:.15rem .3rem; border:0; background:transparent; color:var(--swap-muted); font-size:.72rem; }
.guest-icon-button:hover { color:var(--swap-accent); }
.guest-funding-card { display:grid; grid-template-columns:minmax(0,1fr) 224px; align-items:center; gap:2rem; padding:1.5rem; background:#191919; border:1px solid #373737; border-radius:8px; }
.guest-funding-card.is-closed { opacity:.55; }
.guest-funding-info { min-width:0; }
.guest-funding-info > label { display:block; color:var(--swap-muted); font-size:.78rem; margin-bottom:.3rem; }
.guest-funding-info > label span { font-size:.7rem; }
.guest-funding-amount { display:flex; align-items:baseline; flex-wrap:wrap; gap:.35rem; margin-bottom:1.35rem; font-size:1.35rem; font-weight:600; }
#guest-deposit-amount { max-width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; }
.guest-address-copy { display:flex; align-items:flex-start; gap:.3rem; }
#guest-deposit-address { flex:1; min-width:0; width:100%; padding:0; border:0; resize:none; background:none; color:#f5f5f5; font-family:inherit; font-size:.84rem; font-weight:500; line-height:1.65; overflow-wrap:anywhere; }
.guest-funding-card .guest-deposit-qr { margin:0; }
.guest-qr-image { position:relative; width:224px; height:224px; max-width:100%; }
.guest-qr-logo { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:32px; height:32px; padding:4px; border-radius:50%; background:#fff; }
.guest-qr-logo .coin-icon { display:block; width:24px; height:24px; border:0; border-radius:50%; background:transparent; image-rendering:auto; }
.guest-funding-note { font-size:.7rem; line-height:1.6; color:var(--swap-muted); margin:.6rem 0 0; }
.guest-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:2.1rem 0 .7rem; padding:0; }
.guest-progress li { position:relative; text-align:center; padding:2rem .25rem 0; color:#87878d; font-size:.77rem; }
.guest-progress li::before { position:absolute; content:''; left:calc(50% - 9px); top:0; width:18px; height:18px; border:2px solid #48484d; background:var(--nl-surface,#101010); border-radius:50%; z-index:1; }
.guest-progress li:not(:last-child)::after { content:''; position:absolute; top:8px; left:calc(50% + 18px); width:calc(100% - 36px); height:2px; background:#3a3a3f; }
.guest-progress li.is-current { color:var(--swap-accent); }
.guest-progress li.is-current::before { border-color:var(--swap-accent); border-top-color:transparent; animation:guest-step-spin .85s linear infinite; }
.guest-progress li.is-done::before { content:'✓'; background:var(--swap-accent); border-color:var(--swap-accent); border-radius:4px; color:#171717; font-size:13px; line-height:14px; font-weight:700; }
.guest-progress li.is-done::after { background:#9f5437; }
@keyframes guest-step-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .guest-progress li.is-current::before { animation:none; } }
.guest-progress-note { text-align:center; color:var(--swap-muted); font-size:.73rem; line-height:1.6; margin:.7rem 0 2rem; }
.guest-receipt-summary { margin:0; display:grid; gap:1.3rem; }
.guest-receipt-summary dt { font-size:.76rem; font-weight:400; color:var(--swap-muted); margin-bottom:.3rem; }
.guest-receipt-summary dd { margin:0; font-size:.87rem; font-weight:500; overflow-wrap:anywhere; }
.guest-receipt-summary > div:first-child dd { font-size:1.15rem; }
.guest-payments { padding-top:1.3rem; border-top:1px solid var(--swap-border); margin:1.7rem 0 0; }
.guest-payments > h2 { font-size:.9rem; margin:0 0 .8rem; }
.guest-payment { padding:1rem 0; min-width:0; border-top:1px solid var(--swap-border); }
.guest-payment:first-child { padding-top:0; border-top:0; }
.guest-payment-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.35rem .8rem; }
.guest-payment-heading h3,.guest-payment-heading h4 { margin:0; font-size:.83rem; font-weight:500; overflow-wrap:anywhere; }
.guest-payment-heading span { color:var(--swap-muted); font-size:.72rem; }
.guest-payment p,.guest-payments > div > p { color:var(--swap-muted); font-size:.73rem; line-height:1.65; margin:.45rem 0; }
.guest-payment .guest-payment-timing { color:#c3c3c3; }
.guest-payment-status[data-status=completed],.guest-payment-status[data-status=refunded] { color:var(--nl-success,#34d399); }
.guest-payment-status[data-status=recovery_required] { color:var(--swap-accent); }
.guest-payment-transfer { margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--swap-border); }
.guest-transaction { margin-top:.6rem; min-width:0; }
.guest-transaction label { display:block; color:var(--swap-muted); font-size:.7rem; }
.guest-transaction-copy { display:flex; align-items:center; gap:.45rem; margin-top:.3rem; }
.guest-transaction-copy input { width:100%; min-width:0; padding:.4rem .55rem; border:1px solid var(--swap-border); border-radius:5px; color:var(--nl-text,#eee); background:#191919; font-family:monospace; font-size:.72rem; }
.guest-transaction-copy input:focus { outline:1px solid var(--swap-accent); outline-offset:1px; }
.guest-transaction-copy button { min-width:45px; }
@media(max-width:575px) {
    .guest-swap-page { padding-top:1.6rem; }
    .guest-swap-page .swap-workspace-body { padding:1.1rem; }
    .guest-amount-row { grid-template-columns:minmax(0,1fr) 116px; }
    .guest-amount-row > .swap-coin { padding:.65rem; gap:.4rem; }
    .guest-amount-row .swap-coin strong { font-size:.9rem; }
    .guest-amount-row .swap-coin .coin-icon { width:20px; height:20px; }
    .guest-amount-value { padding:.7rem .75rem; }
    .guest-amount-value input,.guest-amount-value output { font-size:1.35rem; }
    .guest-amount-value label span { display:none; }
    .guest-funding-card { grid-template-columns:minmax(0,1fr); padding:1rem; gap:.8rem; }
    .guest-funding-card .guest-deposit-qr { justify-self:center; }
    .guest-progress li { font-size:.63rem; line-height:1.5; }
    .guest-code-row { gap:.4rem; }
    .guest-code-row label { flex-basis:100%; }
}
