@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080808;--bg-card:#0d0d0d;--bg-card-elevated:#111;--bg-hover:#161616;--border:#1e1e1e;--border-bright:#2a2a2a;--amber:#f0a500;--amber-dim:#c48800;--amber-glow:#f0a50014;--amber-glow-strong:#f0a50026;--green:#00d47b;--green-dim:#00d47b1f;--red:#ff4d4d;--red-dim:#ff4d4d1f;--yellow:#ffd60a;--text:#b0b0b0;--text-bright:#e8e8e8;--text-dim:#555;--font-display:"Outfit", sans-serif;--font-mono:"IBM Plex Mono", monospace}body{font-family:var(--font-mono);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";z-index:9999;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px;position:fixed;inset:0}body:after{content:"";z-index:9998;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:fixed;inset:0}.app{max-width:1440px;margin:0 auto;padding:24px 32px;position:relative}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 0 24px;display:flex}.header h1{font-family:var(--font-display);color:var(--amber);letter-spacing:-.03em;text-transform:uppercase;font-size:1.6rem;font-weight:800}.header h1 span{color:var(--text-dim);font-weight:400}.header-right{color:var(--text-dim);letter-spacing:.02em;align-items:center;gap:20px;font-size:.75rem;display:flex}.btn{border:1px solid var(--border-bright);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border-radius:2px;padding:8px 18px;font-size:.75rem;font-weight:600;transition:all .12s}.btn-refresh{color:var(--amber);border-color:var(--amber-dim);background:0 0}.btn-refresh:hover{background:var(--amber-glow-strong);border-color:var(--amber);box-shadow:0 0 20px #f0a5001a}.btn-refresh:disabled{opacity:.35;cursor:not-allowed}.view-toggle{border:1px solid var(--border-bright);gap:0;display:flex}.btn-view{color:var(--text-dim);background:0 0;border:none;border-radius:0;padding:6px 14px;font-size:.7rem}.btn-view:hover{color:var(--text-bright);background:var(--bg-hover)}.btn-view-active{color:var(--amber)!important;background:var(--amber-glow)!important}.btn-view+.btn-view{border-left:1px solid var(--border-bright)}.mgr-table-full{background:var(--bg-card);border:1px solid var(--border)}.btn-filter{color:var(--text-dim);border-color:var(--border-bright);background:0 0}.btn-filter:hover{color:var(--amber);border-color:var(--amber-dim)}.btn-filter-active{color:var(--amber);border-color:var(--amber);background:var(--amber-glow)}.campaign-block{background:var(--bg-card);border:1px solid var(--border);margin-bottom:4px;transition:border-color .15s}.campaign-block:hover{border-color:var(--border-bright)}.campaign-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:14px 24px;transition:background .1s;display:flex}.campaign-header:hover{background:var(--bg-hover)}.campaign-id{font-family:var(--font-display);color:var(--text-bright);min-width:48px;font-size:1rem;font-weight:700}.campaign-stats{color:var(--text-dim);gap:24px;margin-left:auto;font-size:.75rem;display:flex}.campaign-stats .stat-vol{color:var(--text-bright);font-weight:600}.campaign-body{border-top:1px solid var(--border);padding:0}.accordion-arrow{color:var(--text-dim);flex-shrink:0;width:14px;font-size:.55rem;transition:transform .2s,color .2s}.accordion-arrow.open{color:var(--amber);transform:rotate(90deg)}.badge{letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:600;font-family:var(--font-mono);border-radius:1px;padding:2px 8px;display:inline-block}.badge-active{background:var(--green-dim);color:var(--green);border:1px solid #00d47b33}.badge-inactive{background:var(--red-dim);color:var(--red);border:1px solid #ff4d4d33}.pin-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:2px 4px;font-size:.8rem;line-height:1;transition:all .12s}.pin-btn:hover{color:var(--amber)}.pin-active{color:var(--amber);text-shadow:0 0 8px #f0a50066}.pin-count{color:var(--amber-dim)!important}.mgr-table{border-collapse:collapse;width:100%;font-size:.8rem}.mgr-table thead th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-bright);background:var(--bg-card-elevated);padding:10px 16px;font-size:.65rem;font-weight:600}.mgr-table thead th.col-right{text-align:right}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .12s}.sortable-th:hover,.sortable-th.sort-active{color:var(--amber)}.mgr-row{cursor:pointer;transition:background .1s}.mgr-row td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px 16px}.mgr-row:hover td{background:var(--bg-hover)}.mgr-row.mgr-pinned td{background:var(--amber-glow)}.mgr-row.mgr-pinned:hover td{background:var(--amber-glow-strong)}.mgr-row.mgr-expanded td{border-bottom-color:#0000}.mgr-name{font-size:.85rem;font-weight:600;color:var(--amber)!important}.col-right{text-align:right!important}.col-vol{font-size:.85rem;font-weight:600;color:var(--text-bright)!important}.col-total{font-weight:500;color:var(--text-bright)!important}.mgr-detail-row td{background:var(--bg-card-elevated);border-bottom:1px solid var(--border-bright);padding:0 16px 16px 48px}.users-table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);width:100%;margin-top:8px;font-size:.75rem}.users-table thead th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-bright);background:var(--bg-card);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:8px 14px;font-size:.6rem;font-weight:600;transition:color .12s}.users-table thead th:hover{color:var(--amber)}.users-table thead th.col-right{text-align:right}.users-table td{border-bottom:1px solid var(--border);color:var(--text);padding:6px 14px}.users-table tr:hover td{background:var(--bg-hover)}.type-buy{color:var(--green)}.type-sell{color:var(--red)}.type-pay{color:var(--yellow)}.empty-msg{color:var(--text-dim);padding:16px;font-size:.72rem;font-style:italic}.loading{color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;padding:120px 0;display:flex}.spinner{border:2px solid var(--border-bright);border-top-color:var(--amber);border-radius:50%;width:24px;height:24px;margin-bottom:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-text{color:var(--amber-dim);font-size:.75rem;font-family:var(--font-mono)}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:.75rem}a{color:var(--amber-dim);text-decoration:none;transition:color .1s}a:hover{color:var(--amber)}@media (width<=900px){.app{padding:16px}.header{flex-direction:column;align-items:flex-start;gap:16px}.campaign-stats{flex-wrap:wrap;gap:8px 16px}.mgr-table,.users-table{font-size:.7rem}.mgr-table thead th,.mgr-table td{padding:8px 10px}}
