:root{--el-color-primary:#409eff;--el-color-primary-dark:#337ecc;--el-bg:#f5f7fa;--el-panel:#fff;--el-border:#e4e7ed;--el-text:#303133;--el-muted:#909399;--el-success:#67c23a;--el-shadow:0 2px 12px rgba(0,0,0,.06)}*{box-sizing:border-box}body{margin:0;background:var(--el-bg);color:var(--el-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px}body:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#409eff,#79bbff,#409eff)}main{width:min(1320px,calc(100% - 40px));margin:auto;padding:38px 0 72px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:5px 0 0;font-size:30px;font-weight:600;letter-spacing:-.02em}.eyebrow,.overline{margin:0;color:var(--el-color-primary);font-size:12px;font-weight:600;letter-spacing:.12em}.live{display:flex;align-items:center;gap:9px;color:var(--el-muted);font-size:13px}.live i{width:8px;height:8px;border-radius:50%;background:var(--el-success);box-shadow:0 0 0 4px rgba(103,194,58,.13)}.filters,.summary article,.ledger,.detail{background:var(--el-panel);border:1px solid var(--el-border);border-radius:4px;box-shadow:var(--el-shadow)}.filters{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:16px;padding:20px;margin-bottom:18px}.filters label{display:flex;flex-direction:column;gap:8px;color:#606266;font-size:13px}.filters input{width:100%;height:38px;border:1px solid #dcdfe6;border-radius:4px;padding:0 12px;background:#fff;color:var(--el-text);font:inherit;transition:.2s}.filters input:hover{border-color:#c0c4cc}.filters input:focus{outline:0;border-color:var(--el-color-primary);box-shadow:0 0 0 2px rgba(64,158,255,.14)}button{height:38px;padding:0 22px;border:1px solid var(--el-color-primary);border-radius:4px;background:var(--el-color-primary);color:#fff;font:inherit;cursor:pointer;transition:.2s;font-weight:500}button:hover{background:#66b1ff;border-color:#66b1ff}.filters button{align-self:end}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}.summary article{padding:20px 22px;position:relative;overflow:hidden}.summary article:after{content:"";position:absolute;right:-20px;top:-25px;width:90px;height:90px;border-radius:50%;background:rgba(64,158,255,.08)}.summary span{color:var(--el-muted);font-size:13px}.summary strong{display:block;margin-top:8px;color:var(--el-text);font-size:28px;font-weight:600}.ledger,.detail{overflow:hidden}.detail{margin-top:18px;scroll-margin-top:18px}.table-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--el-border)}.table-head h2{margin:0;font-size:17px;font-weight:600}.table-head>span{color:var(--el-muted);font-size:13px}.close{height:32px;padding:0 15px;background:#fff;color:#606266;border-color:#dcdfe6}.close:hover{background:#f5f7fa;color:var(--el-color-primary);border-color:#c6e2ff}.table-scroll{overflow:auto}table{width:100%;min-width:950px;border-collapse:collapse}th,td{padding:14px 18px;border-bottom:1px solid #ebeef5;text-align:left;font-size:13px}th{color:#909399;background:#f5f7fa;font-size:12px;font-weight:500}.user-row{cursor:pointer;transition:background .15s}.user-row:hover{background:#f5faff}.avatar{display:inline-flex;width:30px;height:30px;margin-right:10px;align-items:center;justify-content:center;border-radius:50%;background:#ecf5ff;color:var(--el-color-primary);font-weight:600}.user-row em{margin-left:8px;padding:3px 8px;border-radius:10px;background:#f0f9eb;color:#67c23a;font-size:11px;font-style:normal}.mono,.path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.path{max-width:380px;color:#606266}.empty{text-align:center!important;color:var(--el-muted);padding:52px!important}.error{color:#f56c6c!important}@media(max-width:780px){main{width:calc(100% - 24px);padding-top:24px}header{align-items:flex-start;gap:15px;flex-direction:column}h1{font-size:26px}.filters{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.filters button{grid-column:span 2}.summary{grid-template-columns:1fr 1fr;gap:12px}.summary article{padding:16px}.summary strong{font-size:24px}}
