:root{--bg: #0f172a;--bg-card: #1e293b;--bg-elev: #334155;--fg: #f1f5f9;--fg-muted: #94a3b8;--accent: #6366f1;--accent-hover: #818cf8;--border: #334155;--danger: #ef4444;--success: #10b981;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--bg-card);border-bottom:1px solid var(--border)}.topbar h1{font-size:1.05rem;margin:0;font-weight:600}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a{color:var(--fg-muted);font-size:.92rem}.topbar nav a.active{color:var(--fg)}.topbar .user-info{color:var(--fg-muted);font-size:.85rem}.main{flex:1;padding:32px 24px;max-width:1100px;width:100%;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:20px}h2{margin-top:0;font-size:1.3rem;font-weight:600}h3{font-size:1.05rem;font-weight:600;margin-top:24px}label{display:block;font-size:.85rem;color:var(--fg-muted);margin-bottom:6px}input,textarea,select{width:100%;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:.95rem;font-family:inherit}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.85rem;min-height:200px;resize:vertical}.form-group{margin-bottom:16px}button{padding:10px 18px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--border)}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:.92rem}.alert.error{background:#7f1d1d;color:#fecaca}.alert.success{background:#064e3b;color:#a7f3d0}.alert.info{background:var(--bg-elev);color:var(--fg-muted)}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--fg-muted);font-weight:500;font-size:.82rem;text-transform:uppercase}tr:last-child td{border-bottom:none}.muted{color:var(--fg-muted);font-size:.85rem}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:32px;width:100%;max-width:380px}.login-card h1{margin:0 0 6px;font-size:1.4rem;font-weight:700}.login-card .subtitle{color:var(--fg-muted);font-size:.9rem;margin-bottom:24px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--bg-elev);font-size:.78rem;color:var(--fg-muted)}.badge.success{background:#064e3b;color:#a7f3d0}.variables-list{display:flex;flex-wrap:wrap;gap:6px}.variables-list .badge{font-family:ui-monospace,monospace}.row{display:flex;gap:12px;align-items:center}.row>*{flex:1}
