:root{--bg:#15171b;--bg-panel:#1c1f24;--bg-panel-2:#20242a;--line:#2a2e35;--line-soft:#20232a;--text:#ece9e2;--text-dim:#8d9199;--text-faint:#5b5f66;--amber:#e8a33d;--green:#6fcf97;--coral:#e2694f;--blue:#5c9fe0;--bg-card:var(--bg-panel);--bg-card-2:var(--bg-panel-2);--bg-input:var(--bg-panel-2);--text-mute:var(--text-faint);--accent:var(--amber);--accent-dim:#8a6420;--orange:var(--amber);--red:var(--coral);--yellow:#d8be4d;--divider:var(--line);--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;font:14px/1.5 var(--font-body);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--bg-card-2);border:1px solid var(--divider);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 14px}button:hover{background:var(--accent-dim)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#06111c;border-color:#0000;font-weight:600}button.primary:hover{background:#6cb3ff}button.danger{background:var(--red);color:#2a0e0c;border-color:#0000}input[type=text],input[type=number],input[type=password],textarea,select{background:var(--bg-input);border:1px solid var(--divider);color:var(--text);border-radius:6px;width:100%;padding:6px 10px}textarea{resize:vertical;font-family:ui-monospace,Consolas,monospace}label.field{margin-bottom:10px;display:block}label.field>span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;display:block}a{color:var(--accent)}.card{background:var(--bg-card);border-radius:10px;padding:16px}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;padding:22px 16px;display:flex}.logo{font-family:var(--font-display);align-items:center;gap:9px;margin-bottom:28px;padding:0 6px;font-size:16px;font-weight:600;display:flex}.logo-mark{flex-shrink:0;width:20px;height:20px}.side-label{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;padding:0 6px;font-size:10.5px}.device-item{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:10px;display:flex}.device-item:hover{background:var(--bg-panel)}.device-item.active{background:var(--bg-panel);border-color:var(--line)}.device-thumb{background:var(--bg-panel-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.device-thumb svg{width:16px;height:16px}.live-dot{border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.live-dot.on{background:var(--green)}.live-dot.off{background:var(--text-faint)}.device-info{flex:1;min-width:0}.device-info .name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.device-info .sub{font-family:var(--font-mono);color:var(--text-faint);font-size:10.5px}.add-device{border:1px dashed var(--line);color:var(--text-faint);background:0 0;border-radius:9px;align-items:center;gap:9px;width:100%;margin-top:6px;padding:10px;font-size:12.5px;display:flex}.add-device:hover{color:var(--text-dim);border-color:var(--text-faint);background:0 0}.sidebar-foot{margin-top:auto;padding:0 6px}.sidebar-foot a,.sidebar-foot button{color:var(--text-faint);text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:9px 0;font-size:12.5px;display:flex}.sidebar-foot a:hover,.sidebar-foot button:hover{color:var(--text-dim);background:0 0}.main{max-width:960px;padding:28px 36px 60px}.device-header{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:28px;display:flex}.device-thumb-lg{background:var(--bg-panel);border:1px solid var(--line);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.device-thumb-lg svg{width:28px;height:28px}.device-title h1{font-family:var(--font-display);margin-bottom:4px;font-size:22px;font-weight:600}.device-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.status-badge{font-family:var(--font-mono);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;display:inline-flex}.status-badge.on{color:var(--green);background:#6fcf971a}.status-badge.off{color:var(--coral);background:#e2694f1a}.status-badge .status-dot{background:currentColor;width:6px;height:6px;margin:0}.device-actions{gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);background:var(--bg-panel);color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:600;display:inline-flex}.btn.primary{background:var(--amber);color:#1a1204;border-color:#0000}.btn.btn-danger{color:var(--coral)}.stat-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;padding:16px}.stat-num{font-family:var(--font-mono);font-size:22px;font-weight:500}.stat-num.green{color:var(--green)}.stat-num.coral{color:var(--coral)}.stat-label{color:var(--text-faint);margin-top:3px;font-size:12px}.grid-2{grid-template-columns:1.1fr .9fr;align-items:start;gap:20px;display:grid}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:14px;margin-bottom:20px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line-soft);align-items:center;padding:16px 18px;display:flex}.panel-head h2{font-family:var(--font-display);flex:1;margin:0;font-size:15px;font-weight:600}.panel-head .link{color:var(--amber);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.preview-frame{background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:16px 16px;justify-content:center;align-items:center;padding:18px;display:flex}.preview-phone{background:#0c0d10;border:1px solid #2a2c31;border-radius:22px;width:150px;height:305px;padding:6px;position:relative}.preview-screen{background:var(--bg-panel-2);border-radius:16px;width:100%;height:100%;position:relative;overflow:hidden}.preview-screen img{object-fit:cover;width:100%;height:100%}.preview-live-tag{z-index:1;background:#e2694fe6;border-radius:10px;align-items:center;gap:4px;padding:2px 7px;display:flex;position:absolute;top:8px;right:8px}.preview-live-tag span{background:#fff;border-radius:50%;width:5px;height:5px}.preview-live-tag b{font-family:var(--font-mono);color:#fff;font-size:8.5px;font-weight:600}.preview-note{text-align:center;color:var(--text-faint);padding:12px 18px 16px;font-size:11px}.flow-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:13px 18px;display:flex}.flow-row:last-child{border-bottom:none}.flow-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.flow-row .fbody{flex:1;min-width:0}.flow-row h4{margin:0 0 2px;font-size:13.5px;font-weight:600}.flow-row .fmeta{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.flow-status{font-family:var(--font-mono);white-space:nowrap;border-radius:10px;padding:3px 8px;font-size:10.5px}.flow-status.running{color:var(--green);background:#6fcf971a}.flow-status.idle{background:var(--bg-panel-2);color:var(--text-faint)}.flow-status.error{color:var(--coral);background:#e2694f1a}.run-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 18px;display:flex}.run-row:last-child{border-bottom:none}.run-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.run-icon.ok{background:#6fcf971a}.run-icon.fail{background:#e2694f1a}.run-row .rbody{flex:1;min-width:0}.run-row .rname{font-size:13px;font-weight:500}.run-row .rmeta{font-family:var(--font-mono);color:var(--text-faint);margin-top:1px;font-size:10.5px}.run-row .rtime{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;font-size:11px}.empty-note{text-align:center;color:var(--text-faint);padding:24px 18px;font-size:12.5px}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.grid-2{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(2,1fr)}}
