:root { color-scheme: dark; font-family: system-ui, sans-serif; background: #101820; color: #edf4f8; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1160px; margin: auto; padding: 2rem 1.5rem 4rem; }
a { color: #8fe3cf; text-underline-offset: .25em; }
nav { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: 2rem; border-bottom: 1px solid #2c3e4b; }
nav span, .note { font-size: .82rem; color: #a4b8c6; }
header { padding: 2.5rem 0 1.8rem; }
.label { color: #8fe3cf; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; }
h1 { font-size: clamp(2.3rem, 7vw, 4rem); letter-spacing: -.05em; margin: .7rem 0; display: flex; align-items: center; gap: 1rem; }
h2 { font-size: 1.2rem; margin: .4rem 0; font-weight: 600; }
p { color: #bacbd6; line-height: 1.65; }
.count { font-size: 1rem; letter-spacing: 0; background: #253c42; color: #8fe3cf; border-radius: 2rem; padding: .35rem .8rem; }
.layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1.5rem; align-items: start; }
.panel { background: #15222c; border: 1px solid #2c3e4b; border-radius: 1rem; padding: 1.5rem; min-width: 0; }
.panel > .label { margin-top: 0; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
#connection-status { font-size: .8rem; color: #8fe3cf; }
.empty { padding: 3.5rem 1rem; text-align: center; }
ul { list-style: none; padding: 0; margin: 1.3rem 0; }
li { border-top: 1px solid #2c3e4b; padding: 1rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.node-name { display: block; overflow-wrap: anywhere; font-weight: 600; }
.node-id { font: .8rem ui-monospace, monospace; color: #a4b8c6; display: block; margin-top: .4rem; }
.online { color: #8fe3cf; font-size: .8rem; white-space: nowrap; }
.online::before { content: ''; display: inline-block; width: .45rem; height: .45rem; background: #8fe3cf; border-radius: 50%; margin-right: .45rem; }
label { display: block; margin: 1.25rem 0 .5rem; font-size: .9rem; }
select, input, button { width: 100%; padding: .85rem; font: inherit; border-radius: .45rem; border: 1px solid #48606e; background: #101820; color: #edf4f8; }
button { margin-top: 1rem; font-weight: 650; background: #8fe3cf; color: #102421; border-color: #8fe3cf; cursor: pointer; }
button:disabled, select:disabled { opacity: .5; cursor: default; }
:focus-visible { outline: 2px solid #8fe3cf; outline-offset: 3px; }
#command-status { font-size: .9rem; margin-bottom: 0; }
.error { color: #ffb5a6 !important; }
@media (max-width: 760px) { .layout { grid-template-columns: 1fr; } nav span { display: none; } .panel { padding: 1.2rem; } }
