body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;max-width:1000px;margin:24px auto;padding:16px}
header h1{margin:0 0 12px}
.controls, .actions{margin:8px 0}
#wsUrl{width:320px}
#status{margin-left:12px;padding:4px 8px;border-radius:4px}
.connected{background:#dff0d8;color:#3c763d}
.disconnected{background:#f2dede;color:#a94442}
/* last update time that fades out after a short period */
#lastUpdate{margin-left:12px;font-size:0.9em;color:#666;opacity:0;transition:opacity 0.5s ease}
#lastUpdate.show{opacity:1}
table{width:100%;border-collapse:collapse;margin-top:12px}
th,td{border:1px solid #ddd;padding:8px;text-align:left}
table{width:100%;border-collapse:collapse;margin-top:12px;table-layout:fixed}
th,td{border:1px solid #ddd;padding:8px;text-align:left}
#paramsTable th:nth-child(1), #paramsTable td:nth-child(1) { width:36% }
/* Actions column (narrow) */
#paramsTable th:nth-child(2), #paramsTable td:nth-child(2) { width:6% ; text-align:center }
/* Value column */
#paramsTable th:nth-child(3), #paramsTable td:nth-child(3) { width:24% }
/* Default column */
#paramsTable th:nth-child(4), #paramsTable td:nth-child(4) { width:24% }
/* Type column (small) */
#paramsTable th:nth-child(5), #paramsTable td:nth-child(5) { width:8% ; text-align:center }
input.paramVal{width:98%}
button{margin-right:8px}

#saveAllBtn:not([disabled]){background:#c00;color:#fff;border:1px solid #900}
#saveAllBtn:not([disabled]):hover{background:#b00}

/* default value different from current value */
.default-diff{color:#c00;font-weight:600}

/* error message */
.error{color:#b00;margin-left:12px;font-weight:600}

.hostname{font-size:0.8em;color:#666;margin-left:8px}

/* error close button */
.error .error-close{margin-left:8px;background:transparent;border:1px solid #b00;color:#b00;padding:2px 6px;border-radius:3px;cursor:pointer}
.error .error-close:hover{background:#f6d6d6}

/* group row styling */
.group-row td{background:#fff8d6;font-weight:700;cursor:pointer;padding:10px;border:1px solid #e6d9a6}
.group-row td:hover{background:#fff2b8}
