:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273349;--border: #334155;--text: #e2e8f0;--text-dim: #94a3b8;--primary: #6366f1;--primary-h: #4f46e5;--danger: #ef4444;--success: #22c55e;--radius: 8px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1,h2,h3{font-weight:600;margin:0 0 1rem}a{color:var(--primary)}input,select{width:100%;padding:.55rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px}label{display:block;font-size:.85rem;color:var(--text-dim);margin:.85rem 0 .3rem}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.55rem 1rem;font-size:.95rem;font-weight:500;background:var(--primary);color:#fff}button:hover:not(:disabled){background:var(--primary-h)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}table{width:100%;border-collapse:collapse}table th,table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border);font-size:.9rem}table th{color:var(--text-dim);font-weight:500}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge.on{background:#22c55e26;color:var(--success)}.badge.off{background:#94a3b826;color:var(--text-dim)}.erro{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.6rem .8rem;border-radius:var(--radius);font-size:.9rem}.reveal-panel{background:#6366f114;border:1px solid rgba(99,102,241,.35);border-radius:var(--radius);padding:1rem;margin-top:1rem}.reveal-panel code{display:block;background:var(--surface-2);padding:.5rem .65rem;border-radius:6px;font-size:.85rem;word-break:break-all;margin:.25rem 0 .75rem}
