:root{--bg: #0d1117;--panel: #161b22;--panel2: #1c2230;--line: #2a3038;--ink: #e6edf3;--mute: #8b949e;--green: #2ea043;--yellow: #d29922;--red: #da3633;--gray: #6e7681;--blue: #388bfd;--purple: #a371f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.app{max-width:1500px;margin:0 auto;padding:16px 20px 60px}h1{font-size:20px;margin:0}.sub{color:var(--mute);font-size:12px}.topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}.spacer{flex:1}.tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:700}.tag.auto{background:#1f2b3d;color:var(--blue)}.tag.manual{background:#2b2033;color:var(--purple)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.on{background:var(--green)}.dot.off{background:var(--gray)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.stat .n{font-size:24px;font-weight:800}.stat .l{color:var(--mute);font-size:11px}.stat.green .n{color:var(--green)}.stat.yellow .n{color:var(--yellow)}.stat.red .n{color:var(--red)}.stat.gray .n{color:var(--gray)}.tabs,.views{display:flex;gap:6px}.btn{background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px}.btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.btn:hover{border-color:var(--blue)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--gray);border-radius:8px;padding:9px 11px;cursor:pointer;transition:transform .06s}.card:hover{transform:translateY(-2px);border-color:var(--blue)}.card.green{border-left-color:var(--green)}.card.yellow{border-left-color:var(--yellow)}.card.red{border-left-color:var(--red)}.card.gray{border-left-color:var(--gray)}.card .row{display:flex;align-items:center;gap:6px}.card .label{font-weight:700}.card .meta{color:var(--mute);font-size:11px;margin-top:3px}.card .reason{font-size:11px;margin-top:4px}.card.red .reason{color:var(--red)}.card.yellow .reason{color:var(--yellow)}.card .live{font-size:10px;color:var(--green)}.group h3{font-size:13px;color:var(--mute);margin:16px 0 8px;border-bottom:1px solid var(--line);padding-bottom:4px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}th{color:var(--mute);font-size:11px;font-weight:600}.bar{height:7px;background:var(--panel2);border-radius:4px;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:var(--green)}.pill{font-size:11px;padding:1px 6px;border-radius:4px}.pill.red{background:#3d1d1d;color:#ff7b72}.pill.warn{background:#3a2d15;color:#e3b341}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:50;overflow:auto}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:720px;max-width:100%;padding:20px}.modal h2{margin:0 0 4px;font-size:18px}.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:13px;margin:10px 0}.kv .k{color:var(--mute)}.hist{display:flex;gap:3px;margin:8px 0}.hist i{width:16px;height:16px;border-radius:3px;display:inline-block}.hist i.green{background:var(--green)}.hist i.yellow{background:var(--yellow)}.hist i.red{background:var(--red)}.hist i.gray{background:var(--gray)}.screen{background:#000;border:1px solid var(--line);border-radius:8px;padding:20px;text-align:center;color:var(--green);font-family:monospace;margin:10px 0;min-height:60px}input,select{background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 8px}
