:root{--primary: #1f6feb;--green: #0a8f5c;--red: #e0533d;--amber: #e8a317;--bg: #f4f6f9;--border: #e4e7ee;--text: #2c3e50;--muted: #8a94a6;--sidebar-bg: #0d2b4e;--sidebar-hover: #163a5c;--sidebar-active: #1f4f7a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none;cursor:pointer}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:18px;margin-bottom:18px}.card h3{font-size:15px;margin-bottom:14px;border-left:3px solid var(--primary);padding-left:8px}.row{display:flex;gap:18px}.col{flex:1}.btn{padding:7px 16px;border:1px solid var(--border);background:#fff;border-radius:5px;cursor:pointer;font-size:13px}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.danger{color:var(--red);border-color:var(--red)}.btn.green{background:var(--green);color:#fff;border-color:var(--green)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}th{background:#f7f9fc;color:var(--muted);font-weight:600}tr:hover td{background:#f7f9fc}.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}.tag.online{background:#e6f7ef;color:var(--green)}.tag.offline{background:#fbeeee;color:var(--red)}.tag.admin{background:#eef4ff;color:var(--primary)}.tag.user{background:#f0f0f0;color:#666}.search-bar{display:flex;gap:10px;margin-bottom:14px;align-items:center}.search-bar input,.search-bar select{height:34px;border:1px solid var(--border);border-radius:5px;padding:0 10px;font-size:13px}.stat-row{display:flex;gap:18px;margin-bottom:18px}.stat{flex:1;background:#fff;border-radius:8px;padding:18px;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:14px}.stat .ic{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.stat .ic.b1{background:var(--primary)}.stat .ic.b2{background:var(--green)}.stat .ic.b3{background:var(--amber)}.stat .ic.b4{background:var(--red)}.stat .num{font-size:24px;font-weight:700}.stat .lbl{color:var(--muted);font-size:12px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.form-group input,.form-group select{width:100%;height:34px;border:1px solid var(--border);border-radius:5px;padding:0 10px;font-size:13px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:min(480px,calc(100% - 32px));max-width:480px;background:#fff;border-radius:8px;padding:24px}.modal h3{margin-bottom:16px}.modal .foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.badge-ak{font-family:monospace;background:#f4f6f9;padding:2px 8px;border-radius:4px;font-size:12px}.note{background:#fff8e6;border:1px solid #f5d76e;padding:10px 14px;border-radius:6px;font-size:12px;color:#8a6d1c;margin-bottom:14px}.chart{height:340px}.chart-sm{height:240px}.empty{text-align:center;color:var(--muted);padding:40px 0}.only-mobile{display:none}.mobile-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:14px;margin-bottom:12px}.mobile-card .mc-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border);font-size:13px}.mobile-card .mc-row:last-child{border-bottom:none}.mobile-card .mc-label{color:var(--muted);flex-shrink:0;margin-right:12px}.mobile-card .mc-value{text-align:right;word-break:break-all}.mobile-card .mc-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.mobile-card .mc-actions .btn{padding:5px 12px;font-size:12px}@media (max-width: 767px){.only-pc{display:none!important}.only-mobile{display:block}.card{padding:12px;margin-bottom:12px}.row{flex-direction:column;gap:12px}.stat-row{flex-direction:column;gap:10px}.stat{padding:14px}.stat .ic{width:40px;height:40px;font-size:20px}.stat .num{font-size:20px}.search-bar{flex-wrap:wrap;gap:8px}.search-bar input,.search-bar select{width:100%}.modal{width:calc(100% - 24px);padding:16px}.chart{height:260px}.chart-sm{height:200px}.seg{overflow-x:auto}.seg .s{padding:6px 10px;font-size:11px;white-space:nowrap}.note{font-size:11px;padding:8px 10px}table{font-size:12px}th,td{padding:8px 6px}}
