.header[data-v-da0ebe74]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px 20px;text-align:center;border-radius:12px;margin-bottom:24px}.header h1[data-v-da0ebe74]{font-size:26px;font-weight:700;letter-spacing:2px;margin:0}.header p[data-v-da0ebe74]{margin-top:10px;font-size:15px;opacity:.85}.container[data-v-da0ebe74]{max-width:900px;margin:0 auto}.intro[data-v-da0ebe74]{background:#fff;border-radius:12px;padding:24px 28px;margin-bottom:28px;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:4px solid #667eea}.intro h2[data-v-da0ebe74]{font-size:20px;margin-bottom:10px;color:#667eea}.intro p[data-v-da0ebe74]{font-size:14px;line-height:1.7;color:#555}.intro code[data-v-da0ebe74]{background:#f0f2f5;padding:2px 6px;border-radius:4px;font-size:13px;color:#e83e8c}.card[data-v-da0ebe74]{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.card h3[data-v-da0ebe74]{font-size:18px;margin-bottom:16px;display:flex;align-items:center;gap:10px}.card h3 .badge[data-v-da0ebe74]{display:inline-block;font-size:12px;padding:2px 10px;border-radius:20px;color:#fff;font-weight:600}.badge.emit[data-v-da0ebe74]{background:#28a745}.badge.on[data-v-da0ebe74]{background:#007bff}.badge.log[data-v-da0ebe74]{background:#6c757d}.badge.off[data-v-da0ebe74]{background:#dc3545}.row[data-v-da0ebe74]{display:flex;gap:20px;flex-wrap:wrap}.col[data-v-da0ebe74]{flex:1;min-width:260px}.form-group[data-v-da0ebe74]{margin-bottom:14px}.form-group label[data-v-da0ebe74]{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:4px}.form-group input[data-v-da0ebe74],.form-group select[data-v-da0ebe74]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-da0ebe74]:focus,.form-group select[data-v-da0ebe74]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.15)}.btn[data-v-da0ebe74]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn[data-v-da0ebe74]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn[data-v-da0ebe74]:active{transform:translateY(0)}.btn-primary[data-v-da0ebe74]{background:#667eea;color:#fff}.btn-success[data-v-da0ebe74]{background:#28a745;color:#fff}.btn-danger[data-v-da0ebe74]{background:#dc3545;color:#fff}.btn-sm[data-v-da0ebe74]{padding:6px 14px;font-size:13px}.btn[data-v-da0ebe74]:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.msg-list[data-v-da0ebe74]{list-style:none;max-height:260px;overflow-y:auto;padding:0;margin:0}.msg-list li[data-v-da0ebe74]{padding:10px 14px;border-bottom:1px solid #f0f2f5;font-size:14px;display:flex;align-items:flex-start;gap:10px}.msg-list li[data-v-da0ebe74]:last-child{border-bottom:none}.msg-tag[data-v-da0ebe74]{display:inline-block;flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px;color:#fff;margin-top:1px}.msg-tag.info[data-v-da0ebe74]{background:#17a2b8}.msg-tag.warning[data-v-da0ebe74]{background:#ffc107;color:#333}.msg-tag.error[data-v-da0ebe74]{background:#dc3545}.msg-tag.success[data-v-da0ebe74]{background:#28a745}.msg-time[data-v-da0ebe74]{font-size:12px;color:#aaa;margin-left:auto;flex-shrink:0}.msg-empty[data-v-da0ebe74]{color:#aaa;text-align:center;padding:30px 0;font-size:14px}.log-list[data-v-da0ebe74]{list-style:none;max-height:200px;overflow-y:auto;background:#1e1e2e;border-radius:8px;padding:12px 16px;font-family:Courier New,monospace;font-size:12px;margin:0}.log-list li[data-v-da0ebe74]{color:#a0e9a0;padding:4px 0;border-bottom:1px solid hsla(0,0%,100%,.05);word-break:break-all}.log-list li[data-v-da0ebe74]:last-child{border-bottom:none}.log-list .log-time[data-v-da0ebe74]{color:#888}.log-list .log-emit[data-v-da0ebe74]{color:#7ec8e3;font-weight:600}.log-list .log-on[data-v-da0ebe74]{color:#f9c95c}.log-wait[data-v-da0ebe74]{color:#666;text-align:center}.sub-item[data-v-da0ebe74]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f2f5}.sub-item[data-v-da0ebe74]:last-child{border-bottom:none}.sub-item .sub-name[data-v-da0ebe74]{font-weight:600;font-size:14px;color:#333}.sub-item .sub-status[data-v-da0ebe74]{font-size:12px;color:#28a745}.sub-item .sub-status.inactive[data-v-da0ebe74]{color:#dc3545}.toolbar[data-v-da0ebe74]{display:flex;justify-content:flex-end;gap:10px;margin-bottom:10px}.code-card[data-v-da0ebe74]{margin-top:8px}.code-pre[data-v-da0ebe74]{background:#f8f9fa;padding:16px;border-radius:8px;font-size:13px;overflow-x:auto;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-all;font-family:Consolas,Monaco,Courier New,monospace}