/* ===== Workspace Panel ===== */
.workspace-panel {
  position: fixed;
  top: 0;
  right: -420px;
  width: 420px;
  height: 100vh;
  background: var(--surface);
  border-left: 1px solid var(--border);
  z-index: 300;
  display: flex;
  flex-direction: column;
  transition: right .25s ease;
  box-shadow: -4px 0 20px rgba(0,0,0,.3);
}

.workspace-panel.open {
  right: 0;
}

.ws-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.ws-header h3 {
  font-size: 13px;
  font-weight: 600;
}

.ws-header-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.ws-breadcrumb {
  padding: 6px 16px;
  font-size: 11px;
  color: var(--muted);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.ws-bread-item {
  cursor: pointer;
  color: var(--accent);
}

.ws-bread-item:hover {
  text-decoration: underline;
}

.ws-file-list {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0;
}

.ws-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  cursor: pointer;
  font-size: 12px;
  transition: background .1s;
}

.ws-item:hover {
  background: rgba(99,102,241,.06);
}

.ws-item-icon {
  font-size: 14px;
  flex-shrink: 0;
}

.ws-item-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
}

.ws-item-size {
  font-size: 10px;
  color: var(--muted);
  flex-shrink: 0;
}

.ws-item-del {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity .1s;
}

.ws-item-download {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 14px;
  padding: 0 4px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity .1s;
}

.ws-item:hover .ws-item-download {
  opacity: 1;
}

.ws-item-download:hover {
  color: var(--accent);
}

.ws-item:hover .ws-item-del {
  opacity: 1;
}

.ws-item-del:hover {
  color: var(--error);
}

/* Terminal */
#wsTerminal {
  display: none;
  border-top: 1px solid var(--border);
  height: 280px;
  flex-shrink: 0;
}

#wsTerminal .xterm {
  height: 100%;
  padding: 4px;
}

/* Topbar button */
.ws-topbar-btn {
  padding: 3px 8px;
  font-size: 11px;
  border: 1px solid rgba(16,185,129,.4);
  border-radius: 4px;
  background: none;
  color: #10b981;
  cursor: pointer;
  font-weight: 500;
}

.ws-topbar-btn:hover {
  border-color: #10b981;
  background: rgba(16,185,129,.08);
}
