*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1a1d27;--border:#2a2d3a;--text:#e2e8f0;--muted:#8892a4;--accent:#6366f1;--green:#22c55e;--red:#ef4444;--yellow:#eab308}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6}.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-header{font-weight:700;font-size:1rem;color:var(--accent);padding:0 1rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.sidebar ul{list-style:none}.sidebar li a{display:block;padding:.4rem 1rem;color:var(--muted);text-decoration:none;font-size:.875rem;border-radius:4px;margin:1px .5rem;transition:background .15s,color .15s}.sidebar li a:hover{background:var(--border);color:var(--text)}.content{flex:1 1;padding:2rem;max-width:960px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.card-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.card-value{font-size:1.5rem;font-weight:700}.card-value.green{color:var(--green)}.card-value.red{color:var(--red)}.card-value.yellow{color:var(--yellow)}.card-sub{font-size:.8rem;color:var(--muted);margin-top:.25rem}.section-title{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .75rem;color:var(--text)}.updated{font-size:.8rem;color:var(--muted);margin-bottom:1.5rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-input,.filter-select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.4rem .6rem;font-size:.875rem}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--accent)}.filter-chip{padding:.25rem .6rem;margin:2px 4px 2px 0;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.8rem;cursor:pointer}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.txn-table{width:100%;border-collapse:collapse;font-size:.875rem}.txn-table th{background:var(--border);padding:.5rem .75rem;text-align:left;font-weight:600;border:1px solid #3a3d4a;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.txn-table td{padding:.4rem .75rem;border:1px solid var(--border)}.txn-table tr:nth-child(2n) td{background:rgba(255,255,255,.02)}.txn-table td.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem;font-size:.875rem;color:var(--muted)}.pagination button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.35rem .9rem;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:not-allowed}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:360px}.login-box h1{font-size:1.25rem;margin-bottom:1.5rem;text-align:center}.login-box input{width:100%;padding:.6rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;margin-bottom:1rem}.login-box input:focus{outline:none;border-color:var(--accent)}.login-box button{width:100%;padding:.6rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.login-box button:hover{opacity:.85}.login-error{color:var(--red);font-size:.875rem;margin-top:.5rem;text-align:center}@media (max-width:640px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.content{padding:1rem}.cards{grid-template-columns:1fr 1fr}}