:root{--paper: #ece5d6;--paper-2: #f6f1e6;--ink: #14120e;--ink-soft: #625c4e;--ink-faint: #938b78;--line: #d7cdb8;--line-strong: #c3b79d;--merchant: #0d1a15;--merchant-2: #13241d;--merchant-3: #1a3227;--merchant-line: #274237;--merchant-ink: #e7f4ec;--merchant-muted: #8fb3a2;--mint: #7df0c0;--mint-deep: #1c6b51;--orange: #ff5a1f;--orange-tint: #ffe7dc;--amber: #b8791a;--amber-tint: #fbeccf;--red: #c23a2b;--red-tint: #fbe1dc;--radius-merchant: 8px;--radius-payer: 26px;--shadow-soft: 0 24px 60px -34px rgba(20, 18, 14, .55);--shadow-merchant: 0 30px 70px -40px rgba(6, 20, 14, .9);--font-sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(1100px 520px at 12% -8%,rgba(255,255,255,.75),transparent 60%),radial-gradient(900px 520px at 108% 4%,rgba(255,138,76,.16),transparent 55%),repeating-linear-gradient(90deg,rgba(20,18,14,.035) 0 1px,transparent 1px 68px);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:16px clamp(16px,4vw,44px);background:#f6f1e6db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--merchant);color:var(--mint);flex:none}.brand-mark svg{width:22px;height:22px}.brand-mark.ghost{width:52px;height:52px;background:var(--paper-2);color:var(--ink-faint);border:1px dashed var(--line-strong)}.brand-text{min-width:0}.brand-name{font-weight:700;font-size:19px;letter-spacing:-.02em}.brand-tag{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.viewswitch{display:flex;gap:3px;padding:3px;margin-left:auto;background:var(--paper-2);border:1px solid var(--line);border-radius:999px}.switch-btn{font:inherit;font-size:13px;font-weight:500;color:var(--ink-soft);padding:7px 15px;border:0;border-radius:999px;background:transparent;cursor:pointer;transition:all .15s ease}.switch-btn.active{background:var(--ink);color:var(--paper-2)}.topbar-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink-soft);white-space:nowrap}.chip svg{width:13px;height:13px}.chip-ok{border-color:#1c6b5166;background:#7df0c038;color:#175c45}.chip-warn{border-color:#b8791a59;background:var(--amber-tint);color:#8a5a10}.global-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px clamp(16px,4vw,44px) 0;padding:11px 16px;border-radius:12px;background:var(--red-tint);color:#7a2418;border:1px solid rgba(194,58,43,.3);font-size:13.5px}.global-error button{font:inherit;font-size:12px;border:0;background:#7a24181f;color:inherit;padding:5px 10px;border-radius:8px;cursor:pointer}.workspace{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:clamp(18px,3vw,32px) clamp(16px,4vw,44px) 40px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(18px,2.4vw,30px);align-items:start}.view-merchant .panel-payer,.view-payer .panel-merchant{display:none}.view-merchant .workspace,.view-payer .workspace{grid-template-columns:minmax(0,760px);justify-content:center}.panel-merchant{background:var(--merchant);background-image:repeating-linear-gradient(135deg,rgba(125,240,192,.045) 0 1px,transparent 1px 11px),radial-gradient(600px 260px at 100% 0%,rgba(125,240,192,.09),transparent 60%);color:var(--merchant-ink);border-radius:var(--radius-merchant);padding:clamp(20px,2.4vw,28px);box-shadow:var(--shadow-merchant)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-kicker{display:inline-block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mint);margin-bottom:8px}.panel-title{margin:0;font-size:clamp(22px,2.4vw,27px);letter-spacing:-.03em;font-weight:600}.panel-sub{margin:7px 0 0;font-size:13.5px;color:var(--merchant-muted);max-width:42ch;line-height:1.5}.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--mint);border:1px solid var(--merchant-line);padding:5px 10px;border-radius:999px;flex:none}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 #7df0c08c;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #7df0c080}70%{box-shadow:0 0 0 8px #7df0c000}to{box-shadow:0 0 #7df0c000}}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--merchant-line);border:1px solid var(--merchant-line);border-radius:var(--radius-merchant);overflow:hidden;margin-bottom:20px}.stat{background:var(--merchant-2);padding:13px 15px}.stat-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--merchant-muted);margin-bottom:5px}.stat-value{font-family:var(--font-mono);font-size:19px;font-weight:500;color:var(--merchant-ink)}.form{border:1px solid var(--merchant-line);background:var(--merchant-2);border-radius:var(--radius-merchant);padding:16px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-wide{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--merchant-muted)}.field-hint{font-size:11.5px;color:var(--merchant-muted)}.mode-hint.subsidized{color:var(--mint)}.input,.select{font:inherit;font-size:14px;width:100%;color:var(--merchant-ink);background:var(--merchant);border:1px solid var(--merchant-line);border-radius:7px;padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input.mono{font-family:var(--font-mono);font-size:12.5px}.input:focus,.select:focus{border-color:var(--mint);box-shadow:0 0 0 3px #7df0c029}.amount-input{position:relative}.amount-input .input{font-family:var(--font-mono);font-size:17px;padding-right:72px}.amount-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:12px;color:var(--merchant-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:14px;font-weight:600;border:0;border-radius:8px;padding:12px 18px;cursor:pointer;transition:transform .12s ease,filter .15s ease}.btn svg{width:15px;height:15px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{width:100%;margin-top:14px;background:var(--mint);color:#06301f}.btn-primary:not(:disabled):hover{filter:brightness(1.06)}.btn-dark{background:var(--ink);color:var(--paper-2)}.panel-section-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--merchant-muted);margin-bottom:10px}.panel-section-title span{color:var(--merchant-ink)}.orders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.order-row{display:flex;align-items:stretch;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;background:var(--merchant-2);border:1px solid var(--merchant-line);border-radius:var(--radius-merchant);padding:12px 14px 12px 0;cursor:pointer;overflow:hidden;transition:border-color .15s ease,background .15s ease}.order-row:hover{border-color:#7df0c066}.order-row.selected{background:var(--merchant-3);border-color:var(--mint)}.status-stripe{width:4px;flex:none;border-radius:0 4px 4px 0;background:var(--merchant-muted)}.stripe-awaiting_deposit{background:#ffca3a}.stripe-depositing,.stripe-pending{background:#58a6ff}.stripe-filled{background:var(--mint)}.stripe-refunded{background:#f59e0b}.stripe-failed{background:#ff6b6b}.stripe-expired{background:#6b7280}.order-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;padding-left:2px}.order-top{display:flex;align-items:center;gap:8px}.order-ref{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--mint)}.order-desc{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-meta{font-size:11.5px;color:var(--merchant-muted)}.order-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}.order-amt{font-family:var(--font-mono);font-size:15px;font-weight:500}.order-amt em{font-style:normal;font-size:11px;color:var(--merchant-muted)}.order-recv{font-size:11px;color:var(--merchant-muted)}.empty{padding:26px 18px;text-align:center;font-size:13.5px;color:var(--merchant-muted);border:1px dashed var(--merchant-line);border-radius:var(--radius-merchant)}.mode-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:999px;white-space:nowrap}.mode-badge svg{width:11px;height:11px}.mode-badge.is-subsidized{background:#7df0c029;color:var(--mint);border:1px solid rgba(125,240,192,.35)}.mode-badge.is-payer{background:#ffca3a1f;color:#ffca3a;border:1px solid rgba(255,202,58,.3)}.mode-badge.is-pending{background:#ffca3a1a;color:#ffca3a;border:1px solid rgba(255,202,58,.28)}.mode-badge.is-partial{background:#58a6ff1f;color:#8fc3ff;border:1px solid rgba(88,166,255,.32)}.panel-payer .mode-badge.is-subsidized{background:#1c6b511f;color:#175c45;border-color:#1c6b5147}.panel-payer .mode-badge.is-payer,.panel-payer .mode-badge.is-pending{background:var(--amber-tint);color:#8a5a10;border-color:#b8791a4d}.panel-payer .mode-badge.is-partial{background:#eef3ff;color:#2f5fb8;border-color:#c9d8ff}.pill{font-size:10.5px;font-weight:600;letter-spacing:.03em;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.pill-awaiting_deposit{color:#ffca3a;border-color:#ffca3a59;background:#ffca3a1a}.pill-depositing,.pill-pending{color:#8fc3ff;border-color:#58a6ff59;background:#58a6ff1f}.pill-filled{color:var(--mint);border-color:#7df0c066;background:#7df0c01f}.pill-refunded{color:#f0b45a;border-color:#f0b45a59;background:#f0b45a1f}.pill-failed{color:#ff8f8f;border-color:#ff6b6b59;background:#ff6b6b1f}.pill-expired{color:#b7bcc6;border-color:#b7bcc64d;background:#b7bcc61a}.panel-payer{position:relative}.receipt{position:relative;background:#fffdf7;border-radius:var(--radius-payer);box-shadow:var(--shadow-soft);padding:30px clamp(20px,3vw,32px) 26px;overflow:hidden}.receipt:before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background-image:radial-gradient(circle at 6px 0,transparent 5px,#fffdf7 5.5px);background-size:12px 12px;background-repeat:repeat-x;transform:translateY(-5px)}.receipt-brandrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line-strong);padding-bottom:12px}.receipt-brand{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.receipt-ref{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.receipt-title{font-family:var(--font-serif);font-weight:500;font-size:clamp(23px,2.6vw,30px);line-height:1.12;letter-spacing:-.01em;margin:18px 0 4px}.receipt-sub{font-size:13px;color:var(--ink-soft)}.amount-due{display:flex;align-items:baseline;gap:8px;margin:22px 0 2px}.amount-due-value{font-family:var(--font-serif);font-size:clamp(38px,5vw,54px);font-weight:600;letter-spacing:-.03em;line-height:1}.amount-due-sym{font-family:var(--font-mono);font-size:17px;color:var(--ink-soft)}.amount-due-sub{font-size:13px;color:var(--ink-soft)}.receipt-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.gas-chip{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong)}.gas-chip.covered{background:#1c6b511a;color:#175c45;border-color:#1c6b5140}.gas-chip.added{background:var(--amber-tint);color:#8a5a10;border-color:#b8791a47}.gas-chip.partial{background:#eef3ff;color:#2f5fb8;border-color:#c9d8ff}.status-banner{margin-top:16px;padding:12px 14px;border-radius:14px;display:flex;flex-direction:column;gap:3px;font-size:13px;border:1px solid transparent}.status-banner strong{font-size:13.5px}.status-banner span{color:var(--ink-soft)}.tone-info{background:#eef3ff;border-color:#c9d8ff}.tone-ok{background:#7df0c02e;border-color:#1c6b5147}.tone-warn{background:var(--amber-tint);border-color:#b8791a4d}.tone-error{background:var(--red-tint);border-color:#c23a2b4d}.pay-grid{display:flex;gap:20px;align-items:center;margin:22px 0 4px;padding:18px;border-radius:18px;background:var(--paper-2);border:1px solid var(--line)}.qr{display:block;border-radius:14px;background:#fff;padding:8px;border:1px solid var(--line);flex:none}.qr-block{display:flex;flex-direction:column;align-items:center;gap:9px;flex:none}.qr-modes{display:flex;gap:3px;padding:3px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}.qr-mode{font:inherit;font-size:11px;letter-spacing:.04em;border:0;border-radius:999px;padding:3px 11px;background:transparent;color:var(--ink-faint);cursor:pointer;transition:all .15s ease}.qr-mode:hover{color:var(--ink)}.qr-mode.on{background:var(--ink);color:var(--paper-2)}.qr-payload{max-width:164px;font-size:10px;line-height:1.45;color:var(--ink-faint);text-align:center;overflow-wrap:anywhere;word-break:break-all}.qr-loading{background:repeating-conic-gradient(#e6ddc9,#e6ddc9 25%,#f3ecdc 0%,#f3ecdc 50%) 50% / 14px 14px}.pay-meta{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.pay-meta .field-label{color:var(--ink-faint)}.addr{font-family:var(--font-mono);font-size:13px;word-break:break-all;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}.copy-btn{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font:inherit;font-size:12.5px;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .15s ease}.copy-btn svg{width:14px;height:14px}.copy-btn:hover{border-color:var(--ink)}.net-chip{align-self:flex-start;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);background:var(--orange-tint);border-radius:999px;padding:4px 10px}.pay-hint{font-size:12px;line-height:1.5;color:var(--ink-soft);margin:2px 0 0}.route-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 4px;padding:12px 14px;border-radius:14px;border:1px dashed var(--line-strong)}.route-row .field-label{color:var(--ink-faint)}.route-controls{display:flex;gap:8px}.route-controls .select{color:var(--ink);background:#fff;border:1px solid var(--line-strong);font-size:13px;padding:8px 10px}.ledger{margin-top:22px;border-top:1px dashed var(--line-strong);padding-top:16px}.ledger-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.ledger-summary{margin:0 0 14px;font-size:13px;line-height:1.55;color:var(--ink-soft)}.ledger-summary strong{color:var(--ink);font-weight:600;white-space:nowrap}.ledger-note{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--ink-soft);background:#eef3ff;border:1px solid #c9d8ff;border-radius:12px;padding:9px 11px}.ledger-sub{display:flex;justify-content:space-between;gap:12px;padding:2px 0 2px 16px;font-size:12px;color:var(--ink-faint);position:relative}.ledger-sub:before{content:"·";position:absolute;left:6px;color:var(--line-strong)}.ledger-sub-value{font-family:var(--font-mono);white-space:nowrap}.ledger-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:7px 0;font-size:14px;border-bottom:1px dotted var(--line)}.ledger-row:last-of-type{border-bottom:0}.ledger-label{display:flex;flex-direction:column;color:var(--ink-soft)}.ledger-hint{font-style:normal;font-size:11px;color:var(--ink-faint)}.ledger-value{font-family:var(--font-mono);font-size:13.5px;white-space:nowrap}.ledger-value.credit{color:#175c45}.ledger-value.debit{color:#8a5a10}.ledger-value,.ledger-sub-value{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.ledger-alt{font-style:normal;font-size:11px;font-weight:400;color:var(--ink-faint)}.ledger-row.total{padding-top:12px}.ledger-row.total .ledger-label{font-weight:600;color:var(--ink)}.ledger-row.total .ledger-value{font-size:17px;font-weight:600;color:var(--ink)}.ledger-row.muted .ledger-value{color:var(--ink-soft)}.ledger-divider{height:1px;background:var(--line-strong);margin:10px 0 4px}.ledger-callout{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5;color:#8a5a10;background:var(--amber-tint);border-radius:12px;padding:10px 12px;margin:10px 0}.ledger-callout svg{width:14px;height:14px;flex:none;margin-top:1px}.ledger-foot{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:11.5px;line-height:1.5;color:var(--ink-faint)}.ledger-foot svg{width:14px;height:14px;flex:none;margin-top:1px}.timeline{margin-top:20px}.tl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.tl-item{display:flex;gap:11px}.tl-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none;background:var(--line-strong);box-shadow:0 0 0 3px #fffdf7}.dot-awaiting_deposit{background:#ffca3a}.dot-depositing,.dot-pending{background:#58a6ff}.dot-filled{background:#1c9a6b}.dot-refunded{background:#e0902a}.dot-failed{background:var(--red)}.dot-expired{background:#8b8b8b}.tl-body{display:flex;flex-direction:column;gap:1px}.tl-label{font-size:13.5px;font-weight:500}.tl-note{font-size:12px;color:var(--ink-soft)}.tl-time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint)}.warnings{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.warning{font-size:12px;line-height:1.5;color:#8a5a10;background:var(--amber-tint);border:1px solid rgba(184,121,26,.25);border-radius:12px;padding:10px 12px}.tx-links{display:flex;gap:14px;margin-top:14px}.tx-links a{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--orange);text-decoration:none;border-bottom:1px solid transparent}.tx-links a:hover{border-bottom-color:currentColor}.tx-links svg{width:13px;height:13px}.actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-strong)}.expire{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint)}.expire svg{width:13px;height:13px}.empty-payer{background:#fffdf7;border-radius:var(--radius-payer);box-shadow:var(--shadow-soft);padding:60px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-payer h2{font-family:var(--font-serif);font-weight:500;margin:14px 0 0}.empty-payer p{margin:0;font-size:13.5px;color:var(--ink-soft);max-width:36ch}.footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px clamp(16px,4vw,44px) 30px;font-size:12px;color:var(--ink-faint);border-top:1px solid var(--line)}.footer strong{color:var(--ink-soft)}.footer-dot{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}.boot{display:grid;place-items:center}.boot-card{display:inline-flex;align-items:center;gap:10px;background:#fffdf7;border:1px solid var(--line);border-radius:999px;padding:12px 20px;font-size:13.5px;color:var(--ink-soft);box-shadow:var(--shadow-soft)}.boot-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 1.4s infinite}.chain-select{display:flex;flex-direction:column;gap:6px;min-width:0}.field-hint.mode-hint.unknown{color:var(--merchant-muted)}.origin-issue{font-size:11px;line-height:1.4;color:#f0b45a}.panel-payer .origin-issue{color:var(--amber)}.panel-payer .field-hint{color:var(--ink-faint)}.route-controls{align-items:flex-start}.route-controls .chain-select{min-width:150px}.panel-payer .select optgroup,.panel-payer .select option{color:var(--ink);background:#fff;font-style:normal}@media(max-width:1080px){.workspace,.view-merchant .workspace,.view-payer .workspace{grid-template-columns:minmax(0,1fr)}.topbar{flex-wrap:wrap}.viewswitch{order:3;margin-left:0;width:100%;justify-content:center}.topbar-meta{margin-left:auto}}@media(max-width:620px){.form-grid{grid-template-columns:1fr}.pay-grid{flex-direction:column;align-items:flex-start}.receipt{padding:26px 18px 22px}.brand-tag{display:none}.stats{grid-template-columns:1fr}.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%}.expire{justify-content:center}}
