:root{color:#e8edf2;background:#0f141a;font-family:ui-sans-serif,system-ui,sans-serif}body{margin:0}.hidden{display:none!important}header,.panel{padding:16px 24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#18222d}header .account{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}h1{margin:0;font-size:20px}button{background:#2d6cdf;color:#fff;border:0;border-radius:6px;padding:8px 14px;cursor:pointer;line-height:1.2}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#445}button.danger{background:#8a3a3a}nav{display:flex;gap:8px;padding:8px 24px 0;border-bottom:1px solid #243040}nav button{background:transparent;color:#9aa7b5;border-radius:8px 8px 0 0;padding:10px 16px}nav button.active{background:#18222d;color:#e8edf2}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:16px 24px}.field{display:flex;flex-direction:column;gap:6px;min-width:200px;flex:1 1 240px;max-width:360px}.field.narrow{flex:0 0 140px;min-width:140px;max-width:140px}.field span{color:#9aa7b5;font-size:12px}.toolbar-actions{display:flex;gap:8px;flex:0 0 auto}.error{color:#ff8a8a}.ok{color:#8dffb0}.tickets{padding:0 24px 24px}.sync-card{margin:16px 0 0;padding:14px 16px;background:#18222d;border:1px solid #243040;border-radius:8px}.sync-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.sync-head>div{display:flex;align-items:center;gap:10px}.sync-bar{height:8px;overflow:hidden;background:#0f141a;border:1px solid #2a3a4a;border-radius:999px}.sync-bar-fill{height:100%;background:linear-gradient(90deg,#2d6cdf,#68d391);transition:width .2s ease}.sync-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;color:#9aa7b5;font-size:12px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #243040;padding:8px 12px;text-align:left;font-size:13px;vertical-align:top}td.addr,td.hash{word-break:break-all;max-width:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ticket-status{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #3a4a5c;border-radius:999px;background:#111a24;color:#bfccd8;font-size:12px;font-weight:700;letter-spacing:.04em}.ticket-status-rejected{border-color:#7a3b3b;background:#241515;color:#ff8a8a}.ticket-status-pending{border-color:#796038;background:#251d12;color:#efc078}.ticket-status-processing{border-color:#315b91;background:#122033;color:#7fb4ff}.ticket-status-paid{border-color:#3f6b4f;background:#132019;color:#8dffb0}.empty{color:#9aa7b5;padding:24px 12px}.panel{background:#18222d;margin:16px 0 0;border-radius:8px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h3{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:32px;background:#05090db8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ticket-modal{width:min(1180px,calc(100vw - 64px));max-height:calc(100vh - 64px);margin:0;padding:0;overflow:hidden;border:1px solid #314255;box-shadow:0 24px 80px #00000073}.modal-head{position:sticky;top:0;z-index:1;padding:16px 20px;background:#18222d;border-bottom:1px solid #2a3a4a}.modal-body{max-height:calc(100vh - 135px);overflow:auto;padding:18px 24px 24px}.ticket-modal .kv{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-modal .kv>div{grid-template-columns:96px minmax(0,1fr)}tr.open td{background:#1c2a3a}.gate,.page-section{margin:16px 24px}code,pre{word-break:break-all;white-space:pre-wrap;font-size:12px}input,select{width:100%;padding:8px 10px;margin:0;background:#0f141a;color:#e8edf2;border:1px solid #345;border-radius:4px;box-sizing:border-box}.panel input{margin:8px 0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.muted{color:#9aa7b5;font-size:13px}.memo-repair{margin:12px 0;padding:12px;background:#111a24;border:1px solid #314255;border-radius:6px}.memo-repair label{display:block}.memo-repair button{margin-top:4px}.memo-repair .muted{margin:8px 0 0}.stat-row{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.stat{min-width:88px;padding:10px 14px;background:#0f141a;border:1px solid #243040;border-radius:8px}.stat span{display:block;color:#9aa7b5;font-size:12px;margin-bottom:4px}.stat strong{font-size:20px}.json-block{margin:12px 0 0;padding:12px;background:#0f141a;border-radius:6px;max-height:420px;overflow:auto}.kv{margin:12px 0 0;display:grid;gap:10px 16px}.kv>div{display:grid;grid-template-columns:108px 1fr;gap:8px;align-items:start}.kv dt{margin:0;color:#9aa7b5;font-size:12px}.kv dd{margin:0;font-size:13px}.kv dd code{margin-right:8px}.chain-ref{margin:16px 0 0;padding:12px 16px;background:#18222d;border-radius:8px;color:#9aa7b5}.chain-ref summary{cursor:pointer}.chain-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chain-chips span{padding:4px 8px;background:#0f141a;border:1px solid #243040;border-radius:6px;font-size:12px}.route-page{--route-line: #293747;--route-ink: #dce7f1;--route-dim: #8292a3;--route-accent: #f0b35a;--route-ok: #68d391}.route-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 18px;border-bottom:1px solid var(--route-line)}.route-title h2{margin:3px 0 5px;color:var(--route-ink);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:500;letter-spacing:-.02em}.eyebrow{margin:0;color:var(--route-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.18em}.route-stats{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));border-bottom:1px solid var(--route-line)}.route-stat{padding:18px 20px;border-right:1px solid var(--route-line)}.route-stat:last-child{border-right:0}.route-stat span{display:block;margin-bottom:5px;color:var(--route-dim);font-size:11px;letter-spacing:.06em}.route-stat strong{color:var(--route-ink);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.route-stat.accent strong{color:var(--route-accent)}.route-stat.pending strong{color:#e6b76a}.route-stat.checked strong{color:var(--route-ok)}.route-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:18px 0}.route-toolbar .route-search-field{min-width:220px;max-width:320px;flex:1 1 240px}.route-toolbar .narrow-chain{min-width:170px;max-width:210px;flex:1 1 170px}.route-table-wrap{max-height:calc(100vh - 335px);min-height:280px;overflow:auto;border:1px solid var(--route-line);background:#121a22}.route-table{min-width:1240px}.route-table thead{position:sticky;top:0;z-index:2;background:#1a2530}.route-table th{padding-top:11px;padding-bottom:11px;color:#91a2b4;border-bottom-color:#3a4a5c;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.route-table td{height:42px;border-bottom-color:#202d3a}.route-table tbody tr:hover td{background:#17232e}.route-table tbody tr.verified td{color:#839486;background:#132019}.route-table tbody tr.verified .asset-symbol,.route-table tbody tr.verified .chain-badge{opacity:.72}.check-col{width:42px;text-align:center}.route-check{width:16px;height:16px;margin:0;accent-color:var(--route-ok);cursor:pointer}.asset-symbol{display:block;color:var(--route-ink);font-size:13px}.asset-key{color:var(--route-accent);font-size:11px}.number-cell{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chain-badge{display:inline-block;min-width:72px;padding:4px 7px;border:1px solid #3a4a5c;border-radius:3px;color:#bfccd8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-align:center;white-space:nowrap}.chain-badge.payout{border-color:#6d5638;color:#efc078}.contract-cell{width:260px;max-width:260px}.contract-cell code,.wallet-cell code{display:block;overflow:hidden;color:#aebdca;text-overflow:ellipsis;white-space:nowrap}.route-arrow{width:28px;padding-left:0;padding-right:0;color:#5f7183;text-align:center}.wallet-cell{width:150px;max-width:150px}.not-configured{color:#d87979;font-size:11px}.route-table-wide{min-width:1480px}.assured-badge{display:inline-block;padding:3px 8px;border:1px solid #3a4a5c;border-radius:3px;font-size:11px;white-space:nowrap}.assured-yes{border-color:#3f6b4f;color:#8dffb0;background:#132019}.assured-no{border-color:#6b3f3f;color:#ff8a8a;background:#201313}.assured-unset{color:#9aa7b5}.bsc-hit{color:#efc078;font-weight:600}.small-note{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.channel-summary{max-width:240px}.route-detail-row td{background:#101820;padding:0}.route-detail{padding:14px 16px 18px;border-top:1px solid #2a3a4a}.route-explanation{margin-bottom:14px;padding:14px 16px;border:1px solid #3a4a5c;border-left:3px solid var(--route-accent);border-radius:4px;background:#16212b}.route-explanation-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.route-explanation-head span,.route-explanation-head strong,.route-explanation-head code{display:block}.route-explanation-head strong{margin-top:3px;color:var(--route-accent)}.route-explanation-head code{margin-top:3px}.route-explanation p{margin:0;color:#d4dde5;line-height:1.7}.route-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.evidence-title{margin:0 0 4px;color:var(--route-ink);font-size:13px}.evidence-hint{margin:0 0 10px}.route-detail-grid span{display:block;margin-bottom:4px}.channel-table{width:100%;border-collapse:collapse;background:#0f141a}.channel-table th,.channel-table td{border-bottom:1px solid #243040;padding:8px 10px;font-size:12px;vertical-align:top}.evidence-cell,.notes-cell{max-width:280px;word-break:break-all}.route-table tbody tr.expanded td{background:#1a2733}@media (max-width: 760px){.modal-backdrop{padding:12px}.ticket-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.modal-body{max-height:calc(100vh - 92px);padding:14px}.ticket-modal .kv{grid-template-columns:1fr}.ticket-modal .kv>div{grid-template-columns:86px minmax(0,1fr)}.route-title{align-items:flex-start;flex-direction:column}.route-stats{grid-template-columns:repeat(2,1fr)}.route-stat:nth-child(2){border-right:0}.route-stat:nth-child(-n+2){border-bottom:1px solid var(--route-line)}.route-table-wrap{max-height:none}.route-detail-grid{grid-template-columns:1fr 1fr}}
