:root{--bg: #0b1220;--bg-elev: #121b2e;--bg-card: #16213a;--border: #233149;--text: #e6edf6;--text-dim: #9aa7bd;--primary: #3b82f6;--st-idle: #22c55e;--st-occupied: #f59e0b;--st-faulty: #ef4444;--st-unknown: #6b7280;--van-background: var(--bg);--van-background-2: var(--bg-elev);--van-text-color: var(--text);--van-text-color-2: var(--text-dim);--van-text-color-3: #6b7280;--van-border-color: var(--border);--van-active-color: #1b2740;--van-primary-color: var(--primary);--van-cell-background: var(--bg-card);--van-cell-text-color: var(--text);--van-cell-label-color: var(--text-dim);--van-cell-group-background: var(--bg-card);--van-field-label-color: var(--text-dim);--van-field-input-text-color: var(--text);--van-popup-background: var(--bg-elev);--van-dialog-background: var(--bg-elev);--van-picker-background: var(--bg-elev);--van-button-default-background: var(--bg-card);--van-button-default-color: var(--text);--van-tabs-default-color: var(--text);--van-tabbar-background: var(--bg-elev);--van-tabbar-item-active-color: var(--primary)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100vh}.app-root{min-height:100vh;padding-bottom:50px}.app-root.full{padding-bottom:0}a{color:var(--primary);text-decoration:none}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.state-idle{color:var(--st-idle)}.state-occupied{color:var(--st-occupied)}.state-faulty{color:var(--st-faulty)}.state-unknown{color:var(--st-unknown)}.bg-idle{background:var(--st-idle)}.bg-occupied{background:var(--st-occupied)}.bg-faulty{background:var(--st-faulty)}.bg-unknown{background:var(--st-unknown)}.text-dim{color:var(--text-dim)}.page{min-height:100vh}.empty{text-align:center;padding:40px 16px}.floor-tabs[data-v-3bb7f480]{display:flex;gap:8px;overflow-x:auto;padding:8px 12px}.floor-tab[data-v-3bb7f480]{flex:0 0 auto;min-width:88px;padding:8px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.floor-tab.active[data-v-3bb7f480]{border-color:var(--primary);color:var(--text)}.floor-code[data-v-3bb7f480]{font-weight:600}.floor-idle[data-v-3bb7f480]{font-size:12px}.machine-card[data-v-c1deb90b]{position:relative;border-radius:12px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);cursor:pointer}.mc-bar[data-v-c1deb90b]{height:6px}.mc-body[data-v-c1deb90b]{padding:10px 12px}.mc-name[data-v-c1deb90b]{font-weight:600;font-size:15px}.mc-state[data-v-c1deb90b]{font-size:13px;margin-top:2px}.mc-time[data-v-c1deb90b]{font-size:12px;margin-top:6px}.nav-actions[data-v-870b0ea9]{display:flex;align-items:center;gap:14px}.room-btn[data-v-870b0ea9]{font-size:12px;font-weight:700;letter-spacing:.5px;color:#22c55e;border:1px solid rgba(34,197,94,.45);background:#22c55e1a;border-radius:999px;padding:2px 9px;line-height:18px}.stats[data-v-870b0ea9]{display:flex;gap:8px;padding:12px}.stat[data-v-870b0ea9]{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;text-align:center;padding:10px 4px}.stat-num[data-v-870b0ea9]{font-size:22px;font-weight:700}.stat-label[data-v-870b0ea9]{font-size:12px;color:var(--text-dim)}.stat.idle .stat-num[data-v-870b0ea9]{color:var(--st-idle)}.stat.occ .stat-num[data-v-870b0ea9]{color:var(--st-occupied)}.stat.fal .stat-num[data-v-870b0ea9]{color:var(--st-faulty)}.grid[data-v-870b0ea9]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px}.empty[data-v-870b0ea9]{text-align:center;padding:40px 16px}.display[data-v-7ef5d8d1]{min-height:100vh;background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:24px}.d-top[data-v-7ef5d8d1]{display:flex;justify-content:space-between;align-items:baseline}.d-time[data-v-7ef5d8d1]{font-size:56px;font-weight:800;letter-spacing:2px}.d-building[data-v-7ef5d8d1]{font-size:24px;color:var(--text-dim)}.d-idle[data-v-7ef5d8d1]{text-align:center}.d-idle-num[data-v-7ef5d8d1]{font-size:160px;font-weight:900;color:var(--st-idle);line-height:1}.d-idle-label[data-v-7ef5d8d1]{font-size:36px;color:var(--text-dim)}.d-summary[data-v-7ef5d8d1]{display:flex;gap:32px;justify-content:center;font-size:30px;font-weight:700}.d-floors[data-v-7ef5d8d1]{display:flex;flex-direction:column;gap:16px}.d-floor-code[data-v-7ef5d8d1]{font-size:30px;font-weight:700;margin-bottom:8px}.d-machines[data-v-7ef5d8d1]{display:flex;flex-wrap:wrap;gap:12px}.d-machine[data-v-7ef5d8d1]{min-width:130px;padding:14px 18px;border-radius:12px;color:#0b1220;font-weight:700;font-size:24px;display:flex;flex-direction:column}.d-m-state[data-v-7ef5d8d1]{font-size:18px}.page[data-v-793b84f4]{padding-bottom:12px}.form[data-v-793b84f4]{margin:12px;padding:12px}.field-label[data-v-793b84f4]{font-size:13px;color:var(--text-dim);margin:12px 0 6px}.field-label[data-v-793b84f4]:first-child{margin-top:0}.quick[data-v-793b84f4]{display:flex;gap:8px;margin:10px 0}.quick .van-button[data-v-793b84f4]{flex:1}.tasks[data-v-793b84f4]{padding:0 12px;display:flex;flex-direction:column;gap:10px}.task-item[data-v-793b84f4]{padding:12px;display:flex;align-items:center;justify-content:space-between}.ti-name[data-v-793b84f4]{font-weight:600}.ti-time[data-v-793b84f4]{font-size:13px;margin-top:4px}.avatar[data-v-40543552]{display:block;border-radius:50%;flex:none}.profile[data-v-f2bcc9d2]{padding:12px 4px}.profile-head[data-v-f2bcc9d2]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.profile-head-meta[data-v-f2bcc9d2]{display:flex;flex-direction:column;gap:6px}.profile-name[data-v-f2bcc9d2]{font-size:16px;font-weight:700;color:#e8f0fb}.dice-btn[data-v-f2bcc9d2]{align-self:flex-start;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#94a3b81f;color:#dbe6f5;cursor:pointer}.dice-btn[data-v-f2bcc9d2]:active{background:#94a3b838}.profile-avatars[data-v-f2bcc9d2]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.avatar-opt[data-v-f2bcc9d2]{display:flex;padding:3px;border-radius:50%;border:2px solid transparent;cursor:pointer;line-height:0}.avatar-opt.on[data-v-f2bcc9d2]{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.profile-row[data-v-f2bcc9d2]{display:flex;gap:8px;align-items:center}.nick-input[data-v-f2bcc9d2]{flex:1;background:#94a3b81a;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#e8f0fb;font-size:13px;padding:8px 10px;outline:none}.profile-tip[data-v-f2bcc9d2]{margin-top:8px;font-size:11px;color:var(--text-dim, #94a3b8)}.page[data-v-f2bcc9d2]{padding-bottom:12px}.bind[data-v-f2bcc9d2]{padding:12px}.bind-box[data-v-f2bcc9d2]{margin-top:10px;text-align:center}.bind-code[data-v-f2bcc9d2]{font-size:40px;font-weight:800;letter-spacing:6px;color:var(--primary)}.bind-tip[data-v-f2bcc9d2]{font-size:12px;margin-top:4px}.admin-icon[data-v-f2bcc9d2]{margin-right:8px;font-size:18px;color:var(--primary);align-self:center}.lead-opts[data-v-f2bcc9d2]{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.lead-opt[data-v-f2bcc9d2]{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.3);color:#cbd5e1;cursor:pointer}.lead-opt.on[data-v-f2bcc9d2]{border-color:#3b82f6;background:#3b82f629;color:#e8f0fb}.page[data-v-8e913132]{min-height:100vh}.msg-list[data-v-8e913132]{padding:0 12px 80px;display:flex;flex-direction:column;gap:10px}.msg[data-v-8e913132]{padding:10px 12px}.msg-head[data-v-8e913132]{display:flex;justify-content:space-between;font-size:12px}.msg-nick[data-v-8e913132]{font-weight:600}.msg-machine[data-v-8e913132]{font-size:10px;color:#f59e0b;border:1px solid rgba(245,158,11,.4);border-radius:999px;padding:1px 7px;margin-left:8px}.msg-text[data-v-8e913132]{margin-top:4px;white-space:pre-wrap;word-break:break-word}.composer[data-v-8e913132]{position:fixed;bottom:50px;left:0;right:0;display:flex;gap:8px;padding:8px 12px;background:var(--bg-elev);border-top:1px solid var(--border)}.admin[data-v-dd57c43b]{padding-bottom:24px}.conn[data-v-dd57c43b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.dot[data-v-dd57c43b]{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--st-unknown)}.dot.ok[data-v-dd57c43b]{background:var(--st-idle);box-shadow:0 0 6px #22c55eb3}.dot.bad[data-v-dd57c43b]{background:var(--st-faulty);box-shadow:0 0 6px #ef4444b3}.gate[data-v-dd57c43b]{min-height:calc(100vh - 46px);display:flex;flex-direction:column;justify-content:center;padding:0 20px 60px}.gate-card[data-v-dd57c43b]{padding:28px 20px 20px;text-align:center}.gate-icon[data-v-dd57c43b]{width:56px;height:56px;margin:0 auto 14px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#3b82f61f;color:var(--primary);font-size:28px}.gate-card h2[data-v-dd57c43b]{margin:0 0 8px;font-size:18px;font-weight:600}.gate-desc[data-v-dd57c43b]{margin:0 0 18px;font-size:12px;line-height:1.6}.gate-desc code[data-v-dd57c43b]{font-family:ui-monospace,Menlo,Consolas,monospace;background:#94a3b824;padding:1px 5px;border-radius:4px}.gate-input[data-v-dd57c43b]{width:100%;height:44px;margin-bottom:12px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:15px;letter-spacing:2px;outline:none}.gate-input[data-v-dd57c43b]::placeholder{letter-spacing:0;color:var(--text-dim)}.gate-input[data-v-dd57c43b]:focus{border-color:var(--primary)}.gate-err[data-v-dd57c43b]{margin:12px 0 0;font-size:12px;color:var(--st-faulty)}.loading[data-v-dd57c43b]{padding:60px 20px;text-align:center;font-size:13px}.hero[data-v-dd57c43b]{margin:12px;padding:16px}.hero-top[data-v-dd57c43b]{display:flex;align-items:center;gap:10px}.hero-building[data-v-dd57c43b]{font-size:15px;font-weight:600}.badge[data-v-dd57c43b]{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge.live[data-v-dd57c43b]{color:#86efac;background:#22c55e24;border-color:#22c55e59}.badge.mock[data-v-dd57c43b]{color:#fcd34d;background:#f59e0b24;border-color:#f59e0b59}.badge.sm[data-v-dd57c43b]{font-size:10px;padding:2px 7px}.hero-sub[data-v-dd57c43b]{margin-top:8px;font-size:11px;word-break:break-all}.hero-sync[data-v-dd57c43b]{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:12px}.hero-err[data-v-dd57c43b]{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.5;color:#fca5a5;background:#ef44441a;word-break:break-all}.stats[data-v-dd57c43b]{display:flex;gap:8px;margin:0 12px}.stat[data-v-dd57c43b]{flex:1;padding:12px 8px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.stat b[data-v-dd57c43b]{display:block;font-size:22px;line-height:1.2;font-weight:600}.stat span[data-v-dd57c43b]{font-size:11px;color:var(--text-dim)}.stat.idle b[data-v-dd57c43b]{color:var(--st-idle)}.stat.occ b[data-v-dd57c43b]{color:var(--st-occupied)}.stat.fal b[data-v-dd57c43b]{color:var(--st-faulty)}.block[data-v-dd57c43b]{margin:12px;padding:14px 16px 16px}.block header[data-v-dd57c43b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.block h3[data-v-dd57c43b]{margin:0;font-size:14px;font-weight:600}.block header .text-dim[data-v-dd57c43b]{font-size:10px}.floor-row[data-v-dd57c43b]{margin-bottom:12px}.floor-row[data-v-dd57c43b]:last-child{margin-bottom:0}.floor-label[data-v-dd57c43b]{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.floor-label em[data-v-dd57c43b]{font-style:normal;color:var(--text-dim)}.floor-legend[data-v-dd57c43b]{display:flex;gap:12px;font-size:11px;margin-top:4px}.bar[data-v-dd57c43b]{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#94a3b824}.seg[data-v-dd57c43b]{display:block;height:100%}.seg.idle[data-v-dd57c43b]{background:var(--st-idle)}.seg.occ[data-v-dd57c43b]{background:var(--st-occupied)}.seg.fal[data-v-dd57c43b]{background:var(--st-faulty)}.empty-line[data-v-dd57c43b]{font-size:12px;padding:4px 0}.actions[data-v-dd57c43b]{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.btn-ghost[data-v-dd57c43b]{background:transparent!important;border:1px solid var(--border)!important;color:var(--text)!important}.kv[data-v-dd57c43b]{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:12px;border-top:1px solid rgba(35,49,73,.7)}.kv span[data-v-dd57c43b]{color:var(--text-dim)}.kv b[data-v-dd57c43b]{font-weight:500}.slot-hint[data-v-dd57c43b]{font-size:11px;margin:-4px 0 8px}.slot-row[data-v-dd57c43b]{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(35,49,73,.7);cursor:pointer}.slot-name[data-v-dd57c43b]{width:76px;flex:none;font-size:12px;color:var(--text-dim)}.slot-dev[data-v-dd57c43b]{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-dev.none[data-v-dd57c43b]{color:var(--text-dim);opacity:.6}.slot-arrow[data-v-dd57c43b]{color:var(--text-dim);font-size:12px}.slot-actions[data-v-dd57c43b]{margin:14px 0 0}.chips[data-v-dd57c43b]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip[data-v-dd57c43b]{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);background:var(--bg-elev)}.chip.on[data-v-dd57c43b]{color:#86efac;border-color:#22c55e66;background:#22c55e1a}.bind-box[data-v-dd57c43b]{margin-top:12px;text-align:center}.bind-code[data-v-dd57c43b]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:26px;letter-spacing:6px;color:var(--primary);font-weight:600}.bind-tip[data-v-dd57c43b]{font-size:11px;margin-top:4px}.exit[data-v-dd57c43b]{margin:20px 12px 0}.exit-btn[data-v-dd57c43b]{width:100%;padding:12px;border-radius:10px;cursor:pointer;background:transparent;color:var(--text-dim);border:1px solid var(--border);font-size:14px}.exit-btn[data-v-dd57c43b]:active{background:#94a3b814}.foot[data-v-dd57c43b]{padding:12px 20px 0;font-size:11px;line-height:1.6;text-align:center}
