:root{--bg: #0b0f1a;--panel: #141a2b;--panel-2: #1c2338;--panel-3: #232b45;--border: #263050;--border-strong: #364264;--text: #e7ecff;--text-dim: #b0b8d4;--muted: #8b94b5;--green: #2bd67b;--red: #ff5670;--yellow: #f0b400;--accent: #6a8cff;--accent-2: #8fa8ff;--shell-header-h: 56px;--shell-sidebar-w: 220px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,PingFang SC,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.muted{color:var(--muted);font-size:12px}.dim{color:var(--text-dim)}.shell{display:grid;grid-template-rows:var(--shell-header-h) 1fr;grid-template-columns:var(--shell-sidebar-w) 1fr;grid-template-areas:"header header" "sidebar main";height:100vh}.topbar{grid-area:header;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:24px}.mode-switch{display:inline-flex;gap:2px;padding:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px}.mode-tab{padding:3px 10px;font-size:11px;font-weight:500;letter-spacing:.3px;color:var(--text-dim);background:transparent;border:none;border-radius:5px;cursor:pointer;font-family:inherit;line-height:1.4}.mode-tab:hover{color:var(--text);background:#ffffff0a}.mode-tab.active{background:var(--accent);color:#fff}.mode-tab.active.live{background:var(--red)}.mode-tab.disabled{color:var(--muted);opacity:.45;cursor:not-allowed}.topbar .brand{font-weight:600;font-size:15px;color:var(--text);letter-spacing:.3px}.topbar .brand .logo-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}.topbar .account{display:flex;gap:22px;align-items:center;margin-left:auto}.topbar .account .stat{display:flex;flex-direction:column;line-height:1.2}.topbar .account .stat .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.topbar .account .stat .value{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.sidebar{grid-area:sidebar;background:var(--panel);border-right:1px solid var(--border);padding:16px 0 12px;display:flex;flex-direction:column;overflow:hidden}.sidebar-nav{flex:1;overflow-y:auto}.sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--text-dim);text-decoration:none;font-size:13px;border-left:2px solid transparent;transition:background .1s}.sidebar .nav-item:hover{background:var(--panel-2);color:var(--text)}.sidebar .nav-item.active{background:var(--panel-2);color:var(--text);border-left-color:var(--accent)}.sidebar .nav-item .ico{width:16px;height:16px;display:inline-block;opacity:.8}.sidebar-account{position:relative;padding:10px 12px 0;border-top:1px solid var(--border);margin-top:12px}.account-pill{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);cursor:pointer;text-align:left;font:inherit;transition:background .1s,border-color .1s}.account-pill:hover{background:var(--panel-2)}.account-pill.active{background:var(--panel-2);border-color:var(--border)}.account-avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:0}.account-label{flex:1;font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chevron{font-size:10px;color:var(--muted);transition:transform .15s}.account-chevron.up{transform:rotate(180deg)}.account-menu{position:absolute;left:12px;right:12px;bottom:calc(100% - 4px);background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000059;padding:4px;z-index:50;display:flex;flex-direction:column;gap:2px}.account-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;background:transparent;border:none;border-radius:6px;color:var(--text);cursor:pointer;font:inherit;font-size:13px;text-align:left;width:100%}.account-menu-item:hover{background:var(--panel-2)}.account-menu-item .ico{width:16px;height:16px;opacity:.8}.account-menu-item.danger{color:var(--red)}.account-menu-item.danger:hover{background:#ff56701a}.main{grid-area:main;overflow-y:auto;padding:24px 32px}.page-title{font-size:20px;font-weight:600;margin:0 0 20px}.section-title{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:0 0 10px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.card+.card{margin-top:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-big{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--panel-3);font-size:11px;color:var(--text-dim);font-weight:500}.tag.live{background:#2bd67b26;color:var(--green)}.tag.paper{background:#6a8cff26;color:var(--accent)}.tag.running:before{content:"";width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block;box-shadow:0 0 6px var(--green);animation:pulse 1.6s infinite}.tag.stopped:before{content:"";width:6px;height:6px;background:var(--muted);border-radius:50%;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.btn{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .1s}.btn:hover{background:var(--accent-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text)}.btn.ghost:hover{background:var(--panel-2)}.btn.danger{background:transparent;border:1px solid rgba(255,86,112,.5);color:var(--red)}.btn.danger:hover{background:#ff56701a}.btn.small{padding:5px 10px;font-size:12px;border-radius:6px}.input,.select,textarea{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:13px;font-family:inherit}.input:focus,.select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.field{margin-bottom:12px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.table th{text-align:left;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border)}.table td{padding:10px;border-bottom:1px solid var(--border)}.table tr:hover td{background:var(--panel-2)}.table td.right,.table th.right{text-align:right}.split{display:grid;grid-template-columns:280px 1fr;gap:16px;height:calc(100vh - var(--shell-header-h) - 48px)}.split .list-col{background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.split .list-col .list-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.split .list-col .list-items{overflow-y:auto}.split .list-col .item{padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:4px}.split .list-col .item:hover{background:var(--panel-2)}.split .list-col .item.active{background:var(--panel-2);border-left:2px solid var(--accent);padding-left:12px}.split .list-col .item .name{font-weight:500;font-size:13px}.split .list-col .item .meta{font-size:11px;color:var(--muted)}.split .detail-col{background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.detail-header{padding:16px 20px;border-bottom:1px solid var(--border)}.detail-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 20px;gap:4px}.detail-tabs .tab{padding:10px 14px;font-size:13px;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.detail-tabs .tab:hover{color:var(--text)}.detail-tabs .tab.active{color:var(--text);border-bottom-color:var(--accent)}.detail-body{flex:1;overflow-y:auto;padding:20px}.chat-attach-bar{position:relative;display:flex;align-items:center;gap:8px;min-height:28px;padding:4px 0}.chat-attach-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;max-width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attach-x{background:transparent;border:none;color:var(--muted);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;margin-left:4px}.chat-attach-x:hover{color:var(--text)}.chat-attach-picker{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000059;z-index:40;overflow:hidden}.chat-col{display:flex;flex-direction:column;height:100%;gap:12px}.chat-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.msg{padding:10px 14px;border-radius:12px;max-width:75%;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5}.msg.user{align-self:flex-end;background:var(--accent);color:#fff}.msg.assistant{align-self:flex-start;background:var(--panel-3)}.chat-input-row{display:flex;gap:8px}.log-list{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.log-line{padding:4px 8px;border-bottom:1px solid var(--border);display:flex;gap:10px}.log-line .ts{color:var(--muted);min-width:90px}.log-line .level{min-width:50px;font-weight:600;text-transform:uppercase;font-size:10px}.log-line.info .level{color:var(--accent)}.log-line.warn{color:var(--yellow)}.log-line.error{color:var(--red)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;width:420px;max-height:80vh;overflow-y:auto}.modal h3{margin:0 0 16px;font-size:16px}.sparkline{display:flex;align-items:flex-end;gap:1px;height:40px}.sparkline .bar{flex:1;background:var(--accent);min-height:2px;border-radius:1px 1px 0 0}.sparkline .bar.red{background:var(--red)}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:13px}
