:root {
    --bg: #0f172a;
    --card: #1e293b;
    --text: #f8fafc;
    --muted: #94a3b8;
    --border: #334155;
    --blue: #2563eb;
    --red: #dc2626;
    --green: #10b981;
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: system-ui, sans-serif; }

body { background: var(--bg); color: var(--text); padding: 15px; }

.container { max-width: 500px; margin: 0 auto; }

header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
h2 { font-size: 1.2rem; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }

.dot { width: 12px; height: 12px; border-radius: 50%; }
.connected { background: var(--green); box-shadow: 0 0 8px var(--green); }
.disconnected { background: var(--red); opacity: 0.5; }

.card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 20px; margin-bottom: 15px; }
.locked-ui { opacity: 0.4; pointer-events: none; } /* Prevents clicks when disconnected */

h3 { font-size: 1rem; margin-bottom: 15px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
label { display: block; font-size: 0.8rem; color: var(--muted); margin-bottom: 5px; text-transform: uppercase; }

select, input { 
    width: 100%; background: var(--bg); border: 1px solid var(--border); 
    color: var(--text); padding: 12px; border-radius: 6px; margin-bottom: 15px; 
}

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }

button { 
    width: 100%; padding: 14px; font-weight: bold; font-size: 0.95rem; 
    border: none; border-radius: 6px; cursor: pointer; transition: 0.2s; 
}
.btn-primary { background: var(--blue); color: white; }
.btn-danger { background: var(--red); color: white; }
.btn-secondary { background: var(--bg); color: var(--text); border: 1px solid var(--border); }

button:active { filter: brightness(0.8); }

.terminal { 
    background: #000; color: #0f0; padding: 12px; font-family: monospace; 
    font-size: 0.85rem; border-radius: 6px; margin-top: 15px; 
}