:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d11;--bg-elevated:#12151b;--bg-card:#161a21;--bg-hover:#1f242d;--border:#262c36;--text:#eef0f4;--text-dim:#98a1b3;--text-faint:#5c6579;--accent:#4f7fff;--accent-2:#7c5cff;--accent-dim:#2c3a63;--ok:#2fd480;--warn:#eab53f;--danger:#f0554f;--radius:8px;--radius-sm:5px;--shadow-card:0 1px 2px #0000003d, 0 8px 24px -12px #00000080;--shadow-pop:0 12px 40px -12px #0009;--font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Consolas", monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4f8;--bg-elevated:#fff;--bg-card:#fff;--bg-hover:#eef1f6;--border:#dfe3ea;--text:#171b22;--text-dim:#5c6575;--text-faint:#8a93a3;--accent:#3564d9;--accent-2:#6a4fe0;--accent-dim:#d3ddfa;--ok:#159c5e;--warn:#a8730f;--danger:#c8433f;--shadow-card:0 1px 2px #1419280d, 0 8px 24px -14px #14192826;--shadow-pop:0 16px 40px -14px #14192840}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em}button,input,select,textarea{font-family:inherit}a{color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-track{background:0 0}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px}.btn{border:1px solid var(--border);background:var(--bg-hover);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:8px 15px;font-size:.87rem;font-weight:500;transition:filter .12s,transform .12s}.btn:hover{filter:brightness(1.15)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 4px 18px -6px color-mix(in srgb, var(--accent) 70%, transparent);border-color:#0000}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-hover)}.btn.small{padding:5px 11px;font-size:.8rem}.badge{border:1px solid var(--border);color:var(--text-dim);background:var(--bg-hover);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.badge .dot{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.badge.online{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:color-mix(in srgb, var(--ok) 12%, transparent)}.badge.online .dot{background:var(--ok);box-shadow:0 0 6px var(--ok)}.badge.connecting{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 12%, transparent)}.badge.connecting .dot{background:var(--warn)}.badge.offline .dot{background:var(--text-faint)}.badge.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.badge.error .dot{background:var(--danger)}.status-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online{background:var(--ok);box-shadow:0 0 6px var(--ok)}.status-dot.connecting{background:var(--warn)}.status-dot.error{background:var(--danger)}input[type=text],input[type=password],input[type=number],select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);width:100%;padding:9px 11px;font-size:.9rem}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:0;border-color:var(--accent)}label{color:var(--text-dim);margin-bottom:5px;font-size:.83rem;font-weight:500;display:block}.field{margin-bottom:14px}.error-text{color:var(--danger);font-size:.85rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.page-header h1{margin:0;font-size:1.4rem;font-weight:700}.dialog-overlay{z-index:50;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.table-card{padding:0;overflow:visible}.data-table{border-collapse:collapse;width:100%;font-size:.87rem}.data-table th{text-align:left;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:11px 16px;font-size:.74rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:11px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-hover)}.table-account{color:var(--text);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.row-menu{z-index:5;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:100%;right:16px}.row-menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:.85rem;text-decoration:none;display:block}.row-menu-item:hover{background:var(--bg-hover)}.row-menu-item.danger{color:var(--danger)}.row-menu-item:disabled{opacity:.4;cursor:not-allowed}.switch{border:1px solid var(--border);background:var(--bg-hover);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;width:36px;height:20px;padding:0;transition:background .15s,border-color .15s;display:inline-flex;position:relative}.switch:disabled{opacity:.45;cursor:not-allowed}.switch .switch-knob{background:var(--text-dim);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:1px}.switch.on{background:var(--accent);border-color:#0000}.switch.on .switch-knob{background:#fff;transform:translate(16px)}.macro-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.macro-row:last-child{border-bottom:none}.macro-drag-handle{color:var(--text-faint);cursor:grab;letter-spacing:-2px;flex-shrink:0;font-size:.9rem}.macro-type-icon{border-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:inline-flex}.macro-running{color:var(--text-faint);align-items:center;gap:6px;margin-top:3px;font-size:.76rem;display:flex}.dialog-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);width:320px;padding:20px}.layout{height:100vh;display:flex}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:250px;padding:16px 12px 0;display:flex;overflow-y:auto}.brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:9px;padding:4px 6px 18px;font-size:1.02rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.nav{flex-direction:column;gap:2px;margin-bottom:16px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-dim);align-items:center;gap:10px;padding:8px 10px;font-size:.87rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link.active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.section-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 10px 6px;font-size:.72rem;font-weight:700;display:flex}.profile-list{flex-direction:column;flex:1;gap:2px;min-height:40px;display:flex}.profile-group{flex-direction:column;display:flex}.profile-row{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:9px;padding:7px 10px;font-size:.87rem;text-decoration:none;display:flex}.profile-row:hover{background:var(--bg-hover)}.profile-row.active{background:var(--bg-hover);font-weight:600}.profile-avatar{background:var(--bg-hover);border:1px solid var(--border);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:inline-flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sub-nav{border-left:1px solid var(--border);flex-direction:column;gap:1px;margin:2px 0 6px 14px;padding-left:12px;display:flex}.sub-link{border-radius:var(--radius-sm);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:.83rem;text-decoration:none;display:flex}.sub-link:hover{background:var(--bg-hover);color:var(--text)}.sub-link.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:6px;margin-top:10px;padding:10px 6px;display:flex}.user-menu{width:100%;position:relative}.user-chip-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;width:100%;padding:4px}.user-chip-btn:hover{background:var(--bg-hover)}.user-menu-popover{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:20;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000040}.user-menu-popover .row-menu-item{text-align:left;align-items:center;gap:8px;display:flex}.user-chip{flex:1;align-items:center;gap:8px;min-width:0;font-size:.83rem;font-weight:600;display:flex}.user-chip>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{background:var(--bg-hover);border:1px solid var(--border);width:28px;height:28px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.76rem;font-weight:700;display:inline-flex}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.small{width:22px;height:22px}.ws-status{color:var(--text-faint);align-items:center;gap:7px;padding:0 6px 14px;font-size:.76rem;display:flex}.ws-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.ws-dot.ok{background:var(--ok);box-shadow:0 0 6px var(--ok)}.ws-dot.off{background:var(--danger)}.content{flex:1;padding:26px 28px;overflow-y:auto}.bottom-nav{display:none}@media (width<=768px){.sidebar{display:none}.layout{flex-direction:column;height:auto;min-height:100vh}.content{padding:16px 16px 82px}.bottom-nav{background:var(--bg-elevated);border-top:1px solid var(--border);z-index:10;justify-content:space-around;padding:8px 6px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-link{flex-direction:column;gap:3px;padding:6px 14px;font-size:.72rem}}
