*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}#root{height:100%}:root{--bg:#080808;--surface:#0f0f0f;--surface2:#161616;--surface3:#1e1e1e;--border:#ffffff0f;--border-strong:#ffffff1f;--text:#ebebeb;--text-muted:gray;--text-dim:#404040;--accent:#14b8a6;--accent-dim:#14b8a61f;--accent-hover:#0d9488;--green:#22c55e;--green-dim:#22c55e1a;--red:#ef4444;--red-dim:#ef44441a;--amber:#f59e0b;--amber-dim:#f59e0b1a;--gray-dim:#ffffff0d;--sidebar-w:220px;--r:6px;--r-sm:4px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.5}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}code{font-family:SF Mono,ui-monospace,monospace;font-size:12px}.badge{letter-spacing:.2px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.badge-active,.badge-approved,.badge-completed{background:var(--green-dim);color:var(--green)}.badge-pending,.badge-processing{background:var(--amber-dim);color:var(--amber)}.badge-inactive,.badge-declined,.badge-failed,.badge-suspended{background:var(--red-dim);color:var(--red)}.badge-gray{background:var(--gray-dim);color:var(--text-muted)}.badge-green{background:var(--green-dim);color:var(--green)}.btn{border-radius:var(--r-sm);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{color:var(--text-muted);border:1px solid var(--border-strong);background:0 0}.btn-outline:hover:not(:disabled){color:var(--text)}.btn-green{background:var(--green-dim);color:var(--green);border:1px solid #22c55e33}.btn-green:hover:not(:disabled){background:#22c55e2e}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.btn-danger:hover:not(:disabled){background:#ef44442e}.btn-sm{padding:4px 10px;font-size:11px}.alert{border-radius:var(--r-sm);margin-bottom:16px;padding:10px 14px;font-size:12px}.alert-success{background:var(--green-dim);color:var(--green);border:1px solid #22c55e33}.alert-error{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.login-shell{background:var(--bg);justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;width:100%;max-width:360px;padding:32px}.login-logo{margin-bottom:28px}.login-mark{color:var(--text);letter-spacing:-.5px;font-size:20px;font-weight:800}.login-sub{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px;font-size:11px}.login-title{color:var(--text-muted);margin-bottom:24px;font-size:14px;font-weight:600}.login-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:600}.field input{background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);outline:none;width:100%;padding:9px 12px;font-size:13px;transition:border-color .15s}.field input::placeholder{color:var(--text-dim)}.field input:focus{border-color:var(--accent)}.login-error{color:var(--red);background:var(--red-dim);border-radius:var(--r-sm);border:1px solid #ef444433;padding:8px 12px;font-size:12px}.login-btn{background:var(--accent);color:#fff;border-radius:var(--r-sm);margin-top:4px;padding:10px 14px;font-size:13px;font-weight:600;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{color:var(--text-dim);text-align:center;margin-top:24px;font-size:11px}.page{min-height:100%;padding:24px 28px}@media (width<=768px){.page{padding:16px}.metrics-row{grid-template-columns:1fr 1fr}.summary-row,.grid-2{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.topbar-right{flex-wrap:wrap;justify-content:flex-start;width:100%}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}thead th,tbody td{padding:9px 10px}.metric-value{font-size:18px}}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-title{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700}.page-sub{color:var(--text-dim);margin-top:3px;font-size:12px}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.loading{color:var(--text-dim);padding:32px 0;font-size:13px}.empty,.empty-state{color:var(--text-dim);text-align:center;padding:32px 16px;font-size:13px}.metrics-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);border-top:2px solid #0000;padding:16px 18px}.mc-teal{border-top-color:var(--accent)}.mc-green{border-top-color:var(--green)}.mc-amber{border-top-color:var(--amber)}.mc-gray{border-top-color:var(--text-dim)}.metric-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:10px;font-weight:600}.metric-value{color:var(--text);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1}.metric-change{margin-top:6px;font-size:11px}.metric-change.up{color:var(--green)}.metric-change.warn{color:var(--amber)}.metric-change.neutral{color:var(--text-dim)}.metric-change.down{color:var(--red)}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:16px;overflow:hidden}.panel-header,.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;display:flex}.panel-title,.card-title{color:var(--text);font-size:12px;font-weight:600}.panel-body{padding:16px 18px}.table-wrap{overflow-x:auto}table,.table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 16px;font-size:10px;font-weight:700}tbody td{color:var(--text-muted);border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 16px;font-size:12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2);color:var(--text)}td.primary{color:var(--text);font-weight:500}td.mono{font-family:ui-monospace,monospace;font-size:11px}td.amount{color:var(--text);font-family:ui-monospace,monospace;font-weight:600}td.muted{color:var(--text-dim);font-size:11px}.status-pill{background:var(--green-dim);color:var(--green);border:1px solid #22c55e33;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.pulse{background:var(--green);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-anim;display:inline-block}@keyframes pulse-anim{0%,to{opacity:1}50%{opacity:.4}}.clock{color:var(--text-dim);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:12px}.summary-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.key-display{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.key-val{color:var(--text-muted);word-break:break-all;flex:1;font-family:ui-monospace,monospace;font-size:12px}.tx-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.tx-row:last-child{border-bottom:none}.tx-id{color:var(--text-dim);font-family:ui-monospace,monospace;font-size:11px}.tx-amount{color:var(--text);font-family:ui-monospace,monospace;font-size:14px;font-weight:700}.tx-meta{color:var(--text-dim);margin-top:2px;font-size:11px}.webhook-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.webhook-row:last-child{border-bottom:none}.webhook-url{color:var(--text);word-break:break-all;font-family:ui-monospace,monospace;font-size:12px}.webhook-meta{color:var(--text-dim);margin-top:2px;font-size:11px}.form-group{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.stats-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);min-width:100px;padding:14px 18px}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:10px;font-weight:600}.stat-value{color:var(--text);font-size:20px;font-weight:700}.msg-bar{border-radius:var(--r-sm);margin-bottom:16px;padding:10px 14px;font-size:12px}.msg-success{background:var(--green-dim);color:var(--green);border:1px solid #22c55e33}.msg-error{background:var(--red-dim);color:var(--red);border:1px solid #ef444433}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.logo{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px 16px 16px}.logo-img{object-fit:contain;border-radius:8px;width:36px;height:36px}.logo-sub{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;font-size:10px}.nav{flex:1;padding:8px 0;overflow-y:auto}.nav-section{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;padding:14px 16px 4px;font-size:10px;font-weight:600}.nav-item{color:var(--text-muted);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:9px;padding:8px 16px;font-size:13px;text-decoration:none;transition:color .12s,background .12s;display:flex}.nav-item:hover{color:var(--text);background:var(--surface2)}.nav-item.active{color:var(--text);background:var(--accent-dim);border-left-color:var(--accent)}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.dot-amber{background:var(--amber)}.dot-blue{background:var(--accent)}.dot-gray{background:var(--text-dim)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:12px 16px}.partner-chip{align-items:center;gap:8px;display:flex}.partner-avatar{background:var(--accent-dim);width:28px;height:28px;color:var(--accent);border:1px solid #14b8a633;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.partner-info{flex:1;min-width:0}.partner-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.partner-role{color:var(--text-dim);font-size:10px}.logout-btn{color:var(--text-dim);border-radius:var(--r-sm);background:0 0;flex-shrink:0;padding:4px 6px;font-size:14px;transition:color .12s,background .12s}.logout-btn:hover{color:var(--red);background:var(--red-dim)}.main{background:var(--bg);flex:1;min-width:0;overflow-y:auto}.menu-toggle{z-index:200;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r);justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:none;position:fixed;top:12px;left:12px}.sidebar-overlay{z-index:99;background:#0009;display:none;position:fixed;inset:0}@media (width<=768px){.menu-toggle{display:flex}.sidebar{z-index:100;width:240px;min-width:240px;transition:left .25s;position:fixed;top:0;bottom:0;left:-100%}.sidebar.open{left:0}.sidebar-overlay.open{display:block}.main{padding-top:56px}}
