.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#142033;background:#f3f6f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.center-state,.login-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#16364c,#07111f 58%);color:#fff}.loader{width:36px;height:36px;border:3px solid #ffffff30;border-top-color:#52d3b5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-card{width:min(440px,100%);padding:40px;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 80px #0005}.login-card h1{margin:8px 0 16px;font-size:clamp(34px,8vw,52px);line-height:1.05;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#52d3b5,#2b8ec5);color:#07111f;font-size:26px;font-weight:900;box-shadow:0 12px 32px #52d3b545}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:19px}.eyebrow{margin:20px 0 4px;color:#238b78;font-size:12px;font-weight:800;letter-spacing:.14em}.login-card .eyebrow{color:#72e0c9}.muted{color:#bed0df;line-height:1.7}.primary,.secondary,.wide{border:0;border-radius:12px;padding:11px 16px;font-weight:700;text-decoration:none;text-align:center}.primary{color:#07111f;background:#52d3b5}.secondary{color:#355064;background:#e7edf2}.wide{display:block;margin-top:28px}.notice{margin-top:24px;padding:14px;border-radius:12px;color:#d6e3ec;background:#ffffff10;line-height:1.55}.setup-card{width:min(540px,100%)}.setup-form{display:grid;gap:14px;margin-top:24px}.setup-form label{display:grid;gap:7px;color:#d8e5ee;font-size:13px}.setup-form input,.invite-panel select{width:100%;padding:11px 12px;border:1px solid #ffffff2b;border-radius:10px;color:#fff;background:#07111f90}.bind-result,.confirm-code{display:grid;gap:12px;margin-top:24px;padding:20px;border:1px solid #ffffff20;border-radius:16px;background:#ffffff0b}.bind-result strong,.confirm-code strong{color:#72e0c9;font-size:38px;letter-spacing:.16em}.bind-result code,.confirm-code code{overflow-wrap:anywhere;padding:10px}.dev-login{display:flex;gap:8px;margin-top:16px}.dev-login input{min-width:0;flex:1;padding:10px;border:1px solid #ffffff28;border-radius:10px;color:#fff;background:#0003}.dev-login button{border:0;border-radius:10px;padding:0 14px}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 max(20px,calc((100vw - 1180px)/2));color:#fff;background:#07111ff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.user-chip{display:flex;align-items:center;gap:11px}.brand div{display:grid}.brand small{color:#8ca2b5;font-size:11px}.user-chip{color:#c9d8e4;font-size:13px}.user-chip button{border:0;color:#8ca2b5;background:transparent}.tabs{position:sticky;top:68px;z-index:20;display:flex;justify-content:center;gap:6px;padding:10px 16px;border-bottom:1px solid #dce4ea;background:#f8fafbf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabs button{border:0;border-radius:10px;padding:9px 16px;color:#607488;background:transparent}.tabs button.active{color:#0a5c50;background:#dff5ef;font-weight:800}.page-content{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:38px 0 80px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{margin:3px 0 5px;font-size:clamp(30px,5vw,46px);letter-spacing:-.04em}.page-heading p{margin:0;color:#6f8091}.page-heading .eyebrow{color:#238b78}.device-group{margin-top:32px}.device-group h2{display:flex;align-items:center;gap:8px;font-size:15px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:#26b892;box-shadow:0 0 0 4px #26b89220}.status-dot.offline{background:#a6b1ba}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:16px}.session-card{padding:20px;border:1px solid #dfe7ed;border-radius:18px;background:#fff;box-shadow:0 7px 24px #1830440b}.card-top,.meta-row,.card-actions,.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-number{color:#238b78;font-weight:900}.state-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;color:#536779;background:#edf1f4}.state-badge.running{color:#14735f;background:#def5ed}.state-badge.waiting_input,.state-badge.waiting_approval{color:#92600a;background:#fff0ca}.session-card h3{margin:18px 0 5px;font-size:21px}.agent-line,.summary{color:#6d7f90;font-size:13px}.summary{min-height:38px;line-height:1.45}.meta-row{margin:18px 0;padding-top:14px;border-top:1px solid #edf1f4;color:#687b8c;font-size:12px}.card-actions button{flex:1}.empty-state{padding:70px 24px;border:1px dashed #cbd8e1;border-radius:20px;text-align:center;color:#6b7e8f;background:#fff8}.empty-state.compact{padding:55px 20px}.empty-state h2{color:#23364a}.empty-icon{color:#238b78;font:800 44px monospace}code{padding:2px 6px;border-radius:6px;color:#0a6657;background:#e5f4ef}.error-banner{position:fixed;z-index:80;top:78px;left:50%;transform:translate(-50%);width:min(560px,calc(100% - 32px));padding:13px 44px 13px 16px;border-radius:12px;color:#8d2e2e;background:#ffe8e8;box-shadow:0 16px 40px #5002}.notice-banner{position:fixed;z-index:80;top:78px;left:50%;transform:translate(-50%);width:min(680px,calc(100% - 32px));padding:13px 44px 13px 16px;border-radius:12px;color:#0b6554;background:#ddf6ef;box-shadow:0 16px 40px #0452}.error-banner button,.notice-banner button{position:absolute;right:12px;border:0;background:transparent}.record-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.record-sidebar{display:grid;align-content:start;gap:8px}.record-sidebar button{display:grid;gap:5px;padding:14px;border:1px solid #dce5eb;border-radius:12px;text-align:left;color:#334b5f;background:#fff}.record-sidebar button.active{border-color:#52bfa8;background:#e9f8f4}.record-sidebar span{color:#788a99;font-size:12px}.record-main{min-width:0}.round-list{display:grid;gap:14px}.round-card{overflow:hidden;border:1px solid #dce5eb;border-radius:16px;background:#fff}.round-card header,.round-card footer{display:flex;justify-content:space-between;padding:12px 16px;color:#708292;background:#f7f9fa;font-size:12px}.round-card header strong{color:#20364a}.record-block{padding:16px;border-top:1px solid #edf1f4}.record-block label{color:#238b78;font-size:11px;font-weight:900;letter-spacing:.08em}.record-block p{margin:8px 0 0;white-space:pre-wrap;line-height:1.6}.record-block.agent{background:#fbfcfd}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.metric-grid article{display:grid;gap:8px;padding:20px;border-radius:16px;color:#718394;background:#fff;border:1px solid #dce5eb}.metric-grid strong{color:#152b3d;font-size:32px}.manager-table-wrap{overflow-x:auto;border:1px solid #dce5eb;border-radius:16px;background:#fff}.manager-table{width:100%;border-collapse:collapse;min-width:760px}.manager-table th,.manager-table td{padding:14px 16px;border-bottom:1px solid #edf1f4;text-align:left;font-size:13px}.manager-table th{color:#718393;background:#f7f9fa;font-size:11px;letter-spacing:.06em}.manager-table td strong,.manager-table td small{display:block}.manager-table td small{margin-top:4px;color:#80919e}.text-button,.icon-button{border:0;color:#147c69;background:transparent;font-weight:800}.manager-records{margin-top:28px}.admin-switch{display:flex;gap:8px;margin-bottom:18px}.admin-switch button{border:0;border-radius:10px;padding:10px 16px;color:#607488;background:#e7edf2}.admin-switch button.active{color:#0a5c50;background:#dff5ef;font-weight:800}.invite-panel{display:grid;grid-template-columns:1fr 220px 170px auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px;border:1px solid #dce5eb;border-radius:16px;background:#fff}.invite-panel p{margin:5px 0 0;color:#758798;font-size:12px}.invite-panel select{border-color:#d3dee6;color:#20364a;background:#f8fafb}.role-chip{display:inline-flex;margin:2px 4px 2px 0;padding:4px 7px;border-radius:999px;color:#426074;background:#edf2f5;font-size:10px}.role-chip.primary-role{color:#8a5b08;background:#fff0ca}.row-actions{min-width:180px}.row-actions button{margin-right:8px}.text-button.danger{color:#b34040}.invitation-list{margin-top:24px}.invitation-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;padding:15px 17px;border:1px solid #dce5eb;border-radius:14px;background:#fff}.invitation-list p{margin:5px 0 0;color:#7b8c99;font-size:12px}.bot-status-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:20px;border:1px solid #dce5eb;border-radius:16px;background:#fff}.bot-status-card h2,.bot-status-card p{margin:4px 0 0}.bot-status-card p{color:#607488;word-break:break-all}.bot-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bot-management-card{display:grid;gap:13px;align-content:start;padding:20px;border:1px solid #dce5eb;border-radius:16px;background:#fff}.bot-management-card h2{margin:4px 0 7px}.bot-management-card p{margin:0;color:#718393;font-size:12px;line-height:1.6}.bot-management-card label{display:grid;gap:7px;color:#506578;font-size:12px}.bot-management-card input{width:100%;min-width:0;padding:10px 11px;border:1px solid #d3dee6;border-radius:10px;background:#f8fafb}.danger-panel{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:26px;padding:18px;border:1px solid #efcaca;border-radius:16px;background:snow}.danger-panel h2{margin:3px 0 6px;color:#7c2929}.danger-panel p{margin:0;color:#7e6868;font-size:12px;line-height:1.55}.danger-panel label{display:grid;gap:7px;color:#765454;font-size:12px}.danger-panel input{width:100%;min-width:0;padding:10px 11px;border:1px solid #e5caca;border-radius:10px;background:#fff}.danger-action{border:0;border-radius:11px;padding:11px 15px;color:#fff;background:#ad3f3f;font-weight:800}.terminal-shell{position:fixed;z-index:100;inset:0;display:grid;grid-template-rows:auto 1fr auto auto auto;color:#dce8f6;background:#07111f}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:14px max(16px,env(safe-area-inset-left));border-bottom:1px solid #ffffff18}.terminal-header .icon-button{color:#dce8f6;font-size:28px}.live-dot{margin-left:12px;color:#72e0c9;font-size:11px}.terminal-host{min-height:0;padding:10px;overflow:hidden}.terminal-host .xterm{height:100%}.key-strip{display:flex;gap:7px;overflow-x:auto;padding:9px 12px;border-top:1px solid #ffffff15}.key-strip button{flex:0 0 auto;border:1px solid #ffffff24;border-radius:8px;padding:8px 12px;color:#cad9e4;background:#ffffff0b}.terminal-input{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.terminal-input textarea{resize:none;min-width:0;padding:10px;border:1px solid #ffffff24;border-radius:10px;color:#fff;background:#ffffff0b}.inline-error{margin:0;padding:0 12px 10px;color:#ffb2b2;font-size:12px}@media(max-width:720px){.topbar{padding:0 16px}.user-chip span{display:none}.page-content{width:min(100% - 24px,1180px);padding-top:26px}.page-heading{align-items:start}.page-heading h1{font-size:34px}.record-layout{grid-template-columns:1fr}.record-sidebar{display:flex;overflow-x:auto}.record-sidebar button{flex:0 0 220px}.metric-grid{grid-template-columns:repeat(2,1fr)}.login-card{padding:28px}.invite-panel{grid-template-columns:1fr;align-items:stretch}.bot-management-grid{grid-template-columns:1fr}.danger-panel{grid-template-columns:1fr;align-items:stretch}}
