@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";:root{--wb-editor: #1e1e1e;--wb-sidebar: #252526;--wb-panel: #2d2d30;--wb-panel-2: #333333;--wb-hover: #37373d;--wb-border: #3c3c3c;--wb-text: #cccccc;--wb-muted: #9d9d9d;--wb-muted-2: #808080;--wb-accent: #007acc;--wb-accent-soft: rgba(0, 122, 204, .22);--wb-green: #89d185;--wb-red: #f48771;--wb-yellow: #e5c07b;--wb-shadow: 0 18px 44px rgba(0, 0, 0, .38);--radius-sm: 5px;--radius-md: 7px;--font-main: "IBM Plex Sans", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--font-main);font-size:14px;color:var(--wb-text);background:var(--wb-editor)}button,input,textarea,select{font-family:inherit}button{border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:var(--wb-panel);color:var(--wb-text);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}button:hover:not(:disabled){background:var(--wb-hover);border-color:#4a4a4a}button:disabled{opacity:.55;cursor:not-allowed}input,textarea,select{width:100%;border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:#1f1f1f;color:var(--wb-text);padding:.5rem .6rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--wb-accent)}textarea{resize:vertical}.screen-center{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#2a2a2a,#1d1d1d 60%);color:var(--wb-muted)}.auth-layout{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#1d1d1f,#141415)}.auth-card{width:min(520px,calc(100% - 2rem));padding:1.25rem;background:#252526;border:1px solid var(--wb-border);border-radius:var(--radius-md);box-shadow:var(--wb-shadow)}.auth-card h1{margin:0;font-size:1.15rem;letter-spacing:.04em}.auth-subtitle{margin:.45rem 0 .95rem;color:var(--wb-muted);line-height:1.45}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.85rem}.mode-btn{padding:.45rem .6rem}.mode-btn.active{border-color:var(--wb-accent);background:var(--wb-accent-soft);color:#b5dcf7}.auth-form{display:flex;flex-direction:column;gap:.62rem}.auth-form label{display:flex;flex-direction:column;gap:.22rem;color:var(--wb-muted);font-size:.86rem}.auth-form button{padding:.56rem .72rem;margin-top:.18rem;border-color:#0e639c;background:#0e639c;color:#fff}.auth-form button:hover:not(:disabled){border-color:#17b;background:#17b}.app-shell{width:100%;height:100%;display:grid;grid-template-columns:300px 1fr;background:var(--wb-editor)}.chat-sidebar{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:.7rem;border-right:1px solid var(--wb-border);background:var(--wb-sidebar);overflow:hidden}.brand-block{display:flex;flex-direction:column;gap:.22rem;padding:.25rem .35rem .65rem;border-bottom:1px solid var(--wb-border)}.brand-block h2{margin:0;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wb-muted);font-weight:600}.brand-block p{margin:0;font-size:.92rem;color:#e2e2e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-badge{width:fit-content;margin-top:.2rem;padding:.13rem .5rem;border-radius:999px;border:1px solid var(--wb-border);background:#1f1f1f;color:#bdbdbd;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.new-chat-btn{padding:.47rem .62rem;font-size:.82rem;text-align:left}.sessions-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.28rem}.session-item{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;display:flex;align-items:stretch}.session-item:hover{border-color:#454545;background:#2b2b2b}.session-item.active{border-color:#3d3d3d;background:#37373d}.session-label{flex:1;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;color:#d4d4d4;padding:.43rem .5rem;min-width:0}.session-label span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.session-label small{display:block;margin-top:.12rem;color:var(--wb-muted-2);font-size:.68rem}.session-actions{display:flex;align-items:center;gap:.2rem;padding:0 .24rem}.session-action-btn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#a7a7a7;padding:0}.session-action-btn:hover:not(:disabled){background:#3f3f46;color:#fff}.session-action-btn.danger:hover:not(:disabled){background:#f4877138;color:#ffc6bb}.session-action-btn.ok:hover:not(:disabled){background:#89d1852e;color:#caefc8}.session-rename-form{width:100%;display:flex;flex-direction:column;gap:.3rem;padding:.35rem}.session-rename-input{padding:.35rem .45rem;font-size:.8rem}.session-rename-actions{display:flex;gap:.22rem}.empty-note{color:var(--wb-muted);font-size:.8rem;padding:.55rem .35rem}.admin-nav-panel{margin-top:.22rem;padding-top:.48rem;border-top:1px solid var(--wb-border)}.admin-nav-panel h3{margin:0 0 .45rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wb-muted)}.admin-nav-list,.sidebar-actions{display:flex;flex-direction:column;gap:.25rem}.sidebar-actions{padding-top:.52rem;border-top:1px solid var(--wb-border)}.nav-btn{text-align:left;border:1px solid transparent;background:transparent;color:#b9b9b9;padding:.42rem .5rem}.nav-btn.active{background:#37373d;border-color:#494949;color:#fff}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--wb-editor)}.workbench-titlebar{height:34px;padding:0 .85rem;border-bottom:1px solid var(--wb-border);background:#3c3c3c;display:flex;align-items:center;justify-content:space-between}.workbench-title{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#e3e3e3}.workbench-title-meta{font-size:.72rem;color:#c3c3c3}.workspace-header{padding:.85rem 1rem;border-bottom:1px solid var(--wb-border);display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.workspace-header h1{margin:0;font-size:1rem;font-weight:600}.workspace-header p{margin:.18rem 0 0;color:var(--wb-muted);font-size:.8rem}.header-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.ssh-indicator-btn,.autopilot-toggle-btn{padding:.38rem .65rem;font-size:.77rem}.ssh-indicator-btn{display:inline-flex;align-items:center;gap:.42rem}.ssh-dot{width:8px;height:8px;border-radius:50%;background:var(--wb-red)}.ssh-indicator-btn.ssh-connected .ssh-dot{background:var(--wb-green)}.ssh-indicator-btn.ssh-connected{border-color:#89d18559;background:#89d18524}.ssh-indicator-btn.ssh-disconnected{border-color:#f4877157;background:#f487711f}.autopilot-toggle-btn.autopilot-on{border-color:#89d1855c;background:#89d18529;color:#c8eec7}.autopilot-toggle-btn.autopilot-off{border-color:#e5c17b59;background:#e5c17b24;color:#ecd5a3}.model-picker{min-width:250px;display:flex;flex-direction:column;gap:.22rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--wb-muted)}.model-picker select{font-size:.8rem;text-transform:none;letter-spacing:normal}.chat-panel{position:relative;flex:1;min-height:0;display:grid;grid-template-rows:1fr auto}.messages-scroll{overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:linear-gradient(180deg,#1f1f1f,#1b1b1b)}.message-card{max-width:min(900px,100%);border:1px solid var(--wb-border);border-radius:var(--radius-md);background:#252526;padding:.7rem .78rem}.message-card.user{margin-left:auto;background:#18364a;border-color:#22506d}.message-card.assistant{margin-right:auto}.message-card header{display:flex;justify-content:space-between;gap:.55rem;margin-bottom:.4rem;font-size:.75rem;color:var(--wb-muted)}.message-card p{margin:0;color:#e4e4e4;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-card.streaming{border-color:#4a7088}.stream-caret{margin-left:.14rem;color:#88c9f5;animation:blinkCaret 1s steps(2,jump-none) infinite}.run-list{margin-top:.65rem;display:flex;flex-direction:column;gap:.45rem}.run-item{border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:#1b1b1c;padding:.52rem}.run-title{display:flex;justify-content:space-between;gap:.4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem;color:var(--wb-muted)}.status-ok{color:var(--wb-green)}.status-fail{color:var(--wb-red)}.run-item code,.action-proposal-cmd,.cost-cell,.stream-status,pre{font-family:var(--font-mono)}.run-item code{display:block;color:#d6d6d6;white-space:pre-wrap;word-break:break-word}pre{margin:.35rem 0 0;padding:.5rem;background:#111214;border:1px solid #34343a;border-radius:5px;color:#cfcfcf;font-size:.76rem;overflow:auto;white-space:pre-wrap}pre.stderr{border-color:#f4877166;color:#f9b5a8}.action-proposals{margin-top:.65rem;border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:#1f1f21;padding:.52rem;display:flex;flex-direction:column;gap:.45rem}.action-proposals-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--wb-muted)}.action-proposal-item{display:grid;grid-template-columns:1fr auto;gap:.46rem;align-items:center}.action-proposal-cmd{font-size:.76rem;color:#cfe7f7;overflow-wrap:anywhere}.action-proposal-reason{grid-column:1 / -1;font-size:.74rem;color:var(--wb-muted)}.action-run-btn{padding:.3rem .56rem;font-size:.74rem}.empty-chat{margin:auto;max-width:640px;text-align:center;color:var(--wb-muted);border:1px dashed #484848;border-radius:var(--radius-md);background:#ffffff05;padding:1rem}.empty-chat h3{margin:0 0 .42rem;color:#d8d8d8}.empty-chat p{margin:0;line-height:1.5}.chat-input{border-top:1px solid var(--wb-border);background:#252526;padding:.72rem 1rem 1rem;display:flex;flex-direction:column;gap:.48rem}.chat-input textarea{min-height:82px;font-family:var(--font-mono);font-size:.8rem}.chat-input button{align-self:flex-end;padding:.48rem .72rem;border-color:#0e639c;background:#0e639c;color:#fff}.chat-input button:hover:not(:disabled){border-color:#17b;background:#17b}.stream-status{width:fit-content;border:1px solid var(--wb-border);border-radius:999px;background:#1f1f1f;color:var(--wb-muted);font-size:.72rem;padding:.15rem .48rem}.scroll-to-bottom-btn{position:absolute;right:1.2rem;bottom:6.3rem;width:34px;height:34px;border-radius:50%;border:1px solid var(--wb-border);background:#2d2d30;color:#e4e4e4}.admin-scroll-area{flex:1;min-height:0;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.admin-grid{display:grid;grid-template-columns:1fr;gap:.9rem}.admin-card{border:1px solid var(--wb-border);border-radius:var(--radius-md);background:#252526;padding:.9rem}.admin-card.wide{grid-column:1 / -1}.admin-card h3{margin:0 0 .68rem;font-size:.9rem;font-weight:600}.inline-form{display:flex;flex-direction:column;gap:.55rem}.inline-grid,.inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem}.discover-panel{border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:#1f1f20;padding:.55rem}.discover-panel p,.muted-line{margin:0 0 .35rem;color:var(--wb-muted);font-size:.79rem}.summary-line{margin:-.1rem 0 .6rem;color:#b9e2ff;font-size:.8rem}.table-wrap{overflow:auto;border:1px solid var(--wb-border);border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{border-bottom:1px solid #36363a;text-align:left;padding:.52rem .68rem;font-size:.79rem}th{color:#b2b2b2;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;background:#2d2d30}tbody tr:hover td{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.models-table td:last-child{min-width:320px}.table-actions{display:flex;flex-wrap:wrap;gap:.3rem}.table-actions button,.btn-sm,.btn-secondary,.btn-danger,.btn-primary,.btn-primary-soft{padding:.3rem .58rem;font-size:.74rem}.btn-secondary{background:#2f2f32}.btn-primary,.btn-primary-soft{border-color:#0e639c;background:#0e639c;color:#fff}.btn-primary-soft{background:#0e639c33;color:#9fd2f5}.btn-danger{border-color:#f4877180;background:#f487711f;color:#ffc4b7}.btn-edit{border-color:#007acc8c;background:#007acc26}.btn-block{border-color:#e5c17b73;background:#e5c17b21}.btn-unblock{border-color:#89d18573;background:#89d1851f}.user-row-blocked td{background:#f4877114}.cost-cell{line-height:1.45;white-space:nowrap;font-size:.74rem}.model-pricing-label{display:flex;flex-direction:column;gap:.08rem}.model-pricing-label small{color:var(--wb-muted)}.pricing-cell{min-width:150px}.pricing-actions-cell{min-width:130px}.price-input{font-family:var(--font-mono);font-size:.78rem}.modal-overlay,.ssh-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:1rem;z-index:40}.modal-box,.ssh-modal{width:min(760px,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--wb-border);border-radius:var(--radius-md);background:#252526;box-shadow:var(--wb-shadow);padding:.9rem}.modal-box h3,.ssh-modal-header h3{margin:0;font-size:.95rem}.modal-field{display:flex;flex-direction:column;gap:.25rem;margin-top:.58rem}.modal-checkbox label{display:inline-flex;align-items:center;gap:.45rem}.modal-actions{margin-top:.75rem;display:flex;justify-content:flex-end;gap:.45rem}.ssh-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.62rem}.ssh-modal-close{width:28px;height:28px;padding:0}.ssh-form{display:flex;flex-direction:column;gap:.52rem}.ssh-form-row{display:grid;grid-template-columns:1fr 120px;gap:.5rem}.ssh-form label{display:flex;flex-direction:column;gap:.2rem;color:var(--wb-muted);font-size:.82rem}.ssh-autopilot-row{border:1px solid var(--wb-border);border-radius:var(--radius-sm);background:#1f1f20;padding:.45rem}.ssh-autopilot-row input{width:auto;margin-right:.45rem}.ssh-test-result{border:1px solid var(--wb-border);border-radius:var(--radius-sm);padding:.42rem .52rem;font-size:.78rem}.ssh-test-result.ok{border-color:#89d18566;background:#89d1851f;color:#caefc8}.ssh-test-result.fail{border-color:#f4877173;background:#f487711f;color:#ffc0b2}.ssh-modal-actions{margin-top:.78rem;display:flex;justify-content:space-between;gap:.5rem}.ssh-modal-actions-right{display:flex;gap:.42rem}.ssh-btn-test,.ssh-btn-save,.ssh-btn-danger{padding:.4rem .72rem}.ssh-btn-save{border-color:#0e639c;background:#0e639c;color:#fff}.ssh-btn-danger{border-color:#f4877180;background:#f4877124;color:#ffc4b7}.error-banner{border:1px solid rgba(244,135,113,.5);background:#f4877129;color:#ffc0b2;border-radius:var(--radius-sm);padding:.48rem .62rem}.error-banner.floating{position:fixed;right:16px;top:16px;z-index:45;max-width:min(540px,calc(100% - 2rem))}.status-bar{height:24px;border-top:1px solid #005d99;background:var(--wb-accent);color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:0 .7rem}@keyframes blinkCaret{0%,49%{opacity:1}50%,to{opacity:0}}@media(max-width:1100px){.app-shell{grid-template-columns:250px 1fr}.workspace-header{flex-direction:column}.header-controls{width:100%}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.chat-sidebar{height:auto;max-height:40vh;border-right:none;border-bottom:1px solid var(--wb-border);padding-left:.7rem}.chat-sidebar:before{display:none}.sessions-list{max-height:180px}.model-picker{min-width:0;width:100%}.inline-grid,.inline-actions,.ssh-form-row{grid-template-columns:1fr}}@media(max-width:640px){.workbench-title-meta,.status-bar span:nth-child(2){display:none}.messages-scroll,.chat-input,.workspace-header,.admin-scroll-area{padding-left:.72rem;padding-right:.72rem}table{min-width:620px}}
